fabro/crates
Bryan Helmkamp f166bb4959 Replace text-scanning with report_outcome tool for routing
The previous approach scanned LLM response text for JSON containing
routing fields (extract_status_fields), which was fragile and violated
the spec's abstraction boundary. Replace with two clean mechanisms:

- Backend registers a report_outcome tool that the LLM calls to declare
  routing decisions (status, preferred_next_label, context_updates, etc.)
- Handler auto-generates a routing preamble listing available edge labels,
  appended to the prompt only when 2+ labeled unconditional edges exist

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 09:29:25 -05:00
..
agent Fix OpenAI error field, add Anthropic provider options pass-through, and improve parity tests 2026-02-23 21:21:45 -05:00
attractor Replace text-scanning with report_outcome tool for routing 2026-02-24 09:29:25 -05:00
llm Fix OpenAI error field, add Anthropic provider options pass-through, and improve parity tests 2026-02-23 21:21:45 -05:00
terminal Extract terminal crate and prettify attractor CLI output 2026-02-23 12:06:24 -05:00