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 - String 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 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 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, 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