Files
AirCoding/AirPlan/docs/architecture/adr/ADR-0008-use-anthropic-canonical-messages-with-provider-adapters.md
AirCoding 82f3140847 Initial commit: AirCoding V1.0.0 Alpha architecture baseline
Complete architecture document set with multi-model review remediation:
- Frozen interface contracts, runtime semantics, DB schemas
- Event/tool/error/provider registries
- Scheduler and main agent state machines
- C4 module/code views, solution architecture, baseline V1
- Multi-model review reports and joint assessment
- Phase-gate remediation complete (P0/P1/P2/UX resolved)
- Implementation plan with T-000A through T-045
- Reference folders kept as placeholders only
2026-05-28 18:45:01 +08:00

901 B

ADR-0008: Use Anthropic Canonical Messages With Provider Adapters

  • Status: Accepted
  • Date: 2026-05-27

Context

AirCoding needs provider flexibility while preserving a stable internal representation for prompts, tools, messages, context compaction, and session persistence.

Decision

Use Anthropic canonical content blocks internally. ContextAssembler emits Anthropic canonical messages. Provider adapters convert at the LLM boundary to Anthropic, OpenAI, OpenRouter, ollama, or compatible endpoints.

Provider capability matrix controls whether a model can satisfy the task and whether conversion is lossless, lossy, or unsupported.

Consequences

  • Same-provider model switching has low conversion cost.
  • Cross-provider differences are localized to adapters.
  • Unsupported required features block before model call.
  • Tool/result/message persistence remains stable across providers.