Type: AFK · Source: PRD v1 · Stories: 10, 22, 32, 34
What to build
The Bud Model resolves a Bud definition (Base Bud + Capability traits + Disposition traits + optional Costume) into a declarative, Surface-neutral Bud config: Perception Mode, patience/step budget, allowed inputs, disposition prompt, Calibration constraints. The Run Orchestrator validates the Bud config against the adapter's Capabilities descriptor before a Run and fails loudly on unsupported traits. Patience/step budgets hard-cap a Run: blowing the budget emits budget_exceeded / gave_up Mechanical events that become Findings.
Demoable against the fake adapter (validation failure + budget Findings from a scripted stream); the web adapter honors budgets in its loop once both slices land.
Acceptance criteria
Blocked by
Type: AFK · Source: PRD v1 · Stories: 10, 22, 32, 34
What to build
The Bud Model resolves a Bud definition (Base Bud + Capability traits + Disposition traits + optional Costume) into a declarative, Surface-neutral Bud config: Perception Mode, patience/step budget, allowed inputs, disposition prompt, Calibration constraints. The Run Orchestrator validates the Bud config against the adapter's Capabilities descriptor before a Run and fails loudly on unsupported traits. Patience/step budgets hard-cap a Run: blowing the budget emits
budget_exceeded/gave_upMechanical events that become Findings.Demoable against the fake adapter (validation failure + budget Findings from a scripted stream); the web adapter honors budgets in its loop once both slices land.
Acceptance criteria
resolve(budDef) → BudConfigunit-tested: Base Bud defaults (vision-hybrid Perception Mode), Capability trait overrides, budgets, constraints, disposition promptbudget_exceededandgave_upmap to Findings with evidenceBlocked by