Skip to content

ADR-0006: Separate Driver, Instance, Strategy, and Capability

  • Status: Accepted
  • Date: 2026-09-10

Context

Two accounts of one provider must not share mutable state accidentally, and one provider can expose strategies with different guarantees.

Decision

Provider identity is layered: Driver family → configured Agent Instance → Adapter Strategy → semantic Capability set.

Consequences

Product behavior is capability-gated. Never enable behavior by string-checking provider names.

Change rule

If implementation evidence proves this wrong, update the canonical architecture/product document first and then supersede/amend this ADR. The ADR is not allowed to keep current docs stale.

Forge is local-first. The docs are part of the product engineering system.