7dab4112ff
Phase 5: - agent/: model + system prompt + toolboxes composition; bounded tool-dispatch loop (default 10 steps); panic-proof tool execution; unknown-tool and duplicate-name handling; history continuation; step observers; partial results on ErrMaxSteps/errors (ADR-0012) - llm.SchemaFor[T]: strict-compatible JSON schemas from Go types (nullable pointers, description/enum tags, recursion rejected) - majordomo.Generate[T]: typed structured output with fence-stripping decode and model-naming errors - README agents/structured-output sections + matrix synced Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
Architecture Decision Records
One decision per file, append-only; supersede rather than rewrite.
| ADR | Title | Status |
|---|---|---|
| 0001 | Package layout — canonical types in leaf llm, root re-exports |
Accepted |
| 0002 | Canonical message/content model | Accepted |
| 0003 | Parse grammar — verbatim ids, inline alias expansion, chains | Accepted |
| 0004 | LLM_* env-DSN provider definitions (go-llm parity + eager load) | Accepted |
| 0005 | Provider interface and capabilities model | Accepted |
| 0006 | Model health tracking and backoff | Accepted |
| 0007 | Dependency policy — stdlib-first, hand-rolled REST clients | Accepted |
| 0008 | Failover-chain execution semantics | Accepted |
| 0009 | Multimodal strategy — normalize per target, enforce at provider | Accepted |
| 0010 | Tools and structured output — canonical shape, native mappings | Accepted |
| 0011 | Google provider on the official Gen AI SDK | Accepted |
| 0012 | Agent run loop | Accepted |