Architecture Decision Records

Each record captures a decision that shaped OmniAgent 2.0’s design and would otherwise only live in commit history or memory. Format: context, decision, consequences. Superseding a decision means adding a new record and marking the old one superseded, not editing history.

  • 0001 - Semantic layer first, guarded SQL fallback second
  • 0002 - Gated autonomy: deterministic routing, narrow LLM calls
  • 0003 - NativeYAML as the primary semantic provider
  • 0004 - DuckDB as the primary, fully-exercised engine
  • 0005 - A deterministic, composable gate stack, not an ML guardrail
  • 0006 - Verified-query fast path always re-executes, never serves a cached value
  • 0007 - interrupt()-based clarification with a durable checkpointer
  • 0008 - Per-turn state fields default to no reducer
  • 0009 - Composition roots live outside the omniagent package
  • 0010 - Node tracing wraps the graph generically, not per-node
  • 0011 - Golden sets are generated backwards from real execution
  • 0012 - MCP is a thin transport mirror of the REST channel, with no raw-SQL tool