-
Notifications
You must be signed in to change notification settings - Fork 1
Capability Provider Model
Architecture governs. Resources participate.
This is the idea that lets the system outlive any single model.
A naïve agent is built around a model, so it breaks when the model changes. This architecture
inverts it: the system is built around capabilities it needs — REASONING, PLANNING,
MEMORY, EXECUTION, VALIDATION, GOVERNANCE — and a Capability Provider is anything that
can supply one. A local 7B model, a frontier API, a specialist agent, a rule engine, or a human
are all providers. The caller asks for a capability and never learns which provider answered.
CapabilityProvider:
name : str
provides : list[Capability]
available() -> bool # has key? GPU free? human awake?
invoke(capability, request) -> Result
available() is the crucial method: a provider lacking prerequisites returns False and is
skipped silently — not errored. (Exactly the pattern of a keyed-vs-free fallback chain.)
It picks a provider by a documented priority:
| Axis | Question |
|---|---|
| Availability | is it up and configured? |
| Capability fit | can it do this well enough? |
| Cost | tokens, dollars, latency |
| Sovereignty | may this data leave the box at all? (sovereign → cloud is blocked, not dispreferred) |
| Determinism | do we need a reproducible answer? |
Routing is deterministic and inspectable — two identical requests route the same way, or the audit trail is fiction.
- Model independence — a frontier model is a provider upgrade, not a rewrite.
- Graceful degradation — offline/keyless, the system falls back to whatever provider is available; its capability drops honestly, it doesn't pretend.
-
Heterogeneous minds — a CSP solver can provide
PLANNING; a human can provide a high-stakesGOVERNANCEdecision. Human-in-the-loop is just another provider — the highest-authority one.
The provider model is what makes it tempting to drop governance when a strong model is plugged in ("it's smart now"). That is the one trap that unravels the design. The provider is the replaceable part; the discipline is not. Swap providers freely; never swap out accountability.
📖 Full document: docs/04
· 📐 Spec: specs/capability-contract.md
· 🧩 Code: providers.py
→ Next: Reality Grading Loop
Genesis OS — Cognitive Agent Architecture Blueprint · Apache-2.0 · Capability must never outrun accountability.
Start
Core ideas
- Cognitive Kernel ABI
- Policy Hook Surface
- Capability Provider Model
- Reality Grading Loop
- Governance and Constitution
Build & contribute
Reference