Architecture decision records¶
Each ADR records a decision that affects public behavior, project structure, or an implementation boundary. ADRs are immutable after acceptance; superseding decisions add a new ADR that links to the earlier one.
Status values are proposed, accepted, superseded, and rejected.
Terminology¶
Documents written before ADR 0008 called the in-process execution
unit a Flow. It is now a Workflow, and the earlier text was updated to the new term; those
decisions are unchanged. flow survives in these documents only as ordinary English, as in
"control flow".
Keeping consequences current¶
A decision is immutable, but a consequence is a claim about the future and can go stale. Consequences may therefore carry a short status note — satisfied in a phase, owned by a named phase, or deferred to the backlog — without that counting as an amendment. Changing a decision still requires a new ADR that links back to the original.
Before a phase is declared complete, walk the consequence lists below and confirm each item is
one of: satisfied, owned by a named phase in implementation.md, or recorded in its deferred
backlog. Annotate anything newly satisfied, and give an owner to anything that has none.
Index¶
| ADR | Decision | Status |
|---|---|---|
| 0001 | Keep the runtime small and capability-oriented | accepted |
| 0002 | TOML configuration and a SQLAlchemy-based SQLite provider | accepted |
| 0003 | Begin at 0.0.0 and isolate experimental scope | superseded by 0017 for the version base; experimental scope stands |
| 0004 | Use Ollama as the first AI provider | accepted |
| 0005 | Freeze the Phase 1 runtime contract | accepted |
| 0006 | Keep the HTTP and database layers behind adapters | accepted |
| 0007 | Trusted plugins as an explicit, ordered capability model | accepted |
| 0008 | Name the in-process execution unit Workflow | accepted |
| 0009 | Freeze the workflow engine contract | accepted |
| 0010 | Freeze the AI facade contract | accepted |
| 0011 | Freeze the durable executor contract | accepted |
| 0012 | License the project under Apache-2.0 | accepted |
| 0013 | Freeze the stable surface and its versioning rules | accepted; numbering re-based by 0017 |
| 0014 | No identity, tenancy, or authorization model | accepted |
| 0015 | Durability is single-host; the worker role is the integration point | accepted |
| 0016 | Database providers are an extension point, not a core feature | accepted |
| 0017 | Publish this line as xyberos 2.0.0 |
accepted |