Skip to main content

HatlessRalph

Struct HatlessRalph 

Source
pub struct HatlessRalph { /* private fields */ }
Expand description

Hatless Ralph - the constant coordinator.

Implementations§

Source§

impl HatlessRalph

Source

pub fn new( completion_promise: impl Into<String>, core: CoreConfig, registry: &HatRegistry, starting_event: Option<String>, ) -> Self

Creates a new HatlessRalph.

§Arguments
  • completion_promise - Event topic that signals loop completion
  • core - Core configuration (scratchpad, specs_dir, guardrails)
  • registry - Hat registry for topology generation
  • starting_event - Optional event to publish after coordination to start hat workflow
Source

pub fn with_memories_enabled(self, enabled: bool) -> Self

Sets whether memories mode is enabled.

When enabled, adds tasks CLI instructions alongside scratchpad. Scratchpad is always included regardless of this setting.

Source

pub fn with_skill_index(self, index: String) -> Self

Sets the pre-built skill index for prompt injection.

The skill index is a compact table of available skills that appears between GUARDRAILS and OBJECTIVE in the prompt.

Source

pub fn set_objective(&mut self, objective: String)

Stores the user’s original objective so it persists across all iterations.

Called once during initialization. The objective is injected into every prompt regardless of which hat is active, ensuring intermediate hats (test_writer, implementer, refactorer) always see the goal.

Source

pub fn set_robot_guidance(&mut self, guidance: Vec<String>)

Sets robot guidance messages collected from human.guidance events.

Called by EventLoop::build_prompt() before HatlessRalph::build_prompt(). Multiple guidance messages are squashed into a numbered list and injected as a ## ROBOT GUIDANCE section in the prompt.

Source

pub fn clear_robot_guidance(&mut self)

Clears stored robot guidance after it has been injected into a prompt.

Called by EventLoop::build_prompt() after HatlessRalph::build_prompt().

Source

pub fn build_prompt(&self, context: &str, active_hats: &[&Hat]) -> String

Builds Ralph’s prompt with filtered instructions for only active hats.

This method reduces token usage by including instructions only for hats that are currently triggered by pending events, while still showing the full hat topology table for context.

For solo mode (no hats), pass an empty slice: &[]

Source

pub fn should_handle(&self, _topic: &Topic) -> bool

Always returns true - Ralph handles all events as fallback.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more