fabro/lib
Bryan Helmkamp fd0ae7f219
Decode the Attractor progress payloads into typed structs
fold_progress matched five payload kinds by string and walked each
payload's JSON by hand. Progress is now one internally tagged enum over
those kinds, with a struct per payload (PlannedRoute, OfferedTool,
ForkOccurrence) as the Attractor steps document them, and a test holds
each kind literal to the constant petri_attractor_steps exports, so a
rename there fails a test here instead of projecting nothing.

The fallback plan's original route carries its reasoning effort and
speed in the same lithos-llm types StageModelUsage holds, and the fold
now keeps them; it set both to None before. That is visible on the
stage's provider_used for an agent stage that ran under a fallback plan.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-20 15:03:23 -04:00
..
apps Share one poison-tolerant lock helper from fabro-util 2026-09-20 14:47:46 -04:00
components Decode the Attractor progress payloads into typed structs 2026-09-20 15:03:23 -04:00
foundation Name the fold's repeated shapes once: completion, model usage, pause, conclusion 2026-09-20 15:01:14 -04:00
packages/fabro-api-client Forward every configured sandbox plugin to the Petri worker 2026-09-19 14:45:42 -04:00