Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0113
ADR-0113: Integration L1 builds now, and the master push is recorded as backup-and-deploy, not cut-over
| field | value |
|---|---|
| Status | Accepted — Accepted (ruling, Mohamed, 2026-10-19, verbatim: "all" — ratifying recommendation R3 option A and R4 option A of reports/project-analysis-2026-10-19.md) |
| Date | 2026-10-19 |
| Register | factory (docs/adr, 4-digit ids) |
| Source | docs/adr/0113-integration-l1-builds-now-and-the-master-push-is-recorded-as-backup-and-deploy-not-cut-over.md — permalink at 80c7135f0 (unchanged on master since that commit) |
| Wiki register entry | ADR-0113 (wiki status: Accepted) |
The record
Status: Accepted (ruling, Mohamed, 2026-10-19, verbatim: "all" — ratifying recommendation R3 option A and R4 option A of reports/project-analysis-2026-10-19.md) · Date: 2026-10-19
Context
Eight component packages are lifted and, by their own commit messages, parity-tested in
private venvs. The ninth, integration (orchestrata, the composed release), has a full
phase-D design — packages/integration/design/design.md (2026-10-16): composition only,
15 modules / 7,127 LOC / 7 classes, the DI wiring, monolithic entry point, env profiles,
service start/verify, fleet-tier suite, promotion dev → test → prod — and ZERO Python
files (report finding F1, MEASURED by glob). Every injection seam the other packages
built (volk roster, call_llm, session-controller factory, verification gate,
AGENT_CLASS_MAP, gateway LlmProfilePort) is unwired until that composition root
exists. Hard Rule 8: imported is not wired; built, tested, unreachable.
Separately (finding F2/F4): the cut-over the design defines is integration passing the
fleet tier on components with every old src/orchestrata_ultimate/<pkg> removed, then
one merge to master. What happened on 2026-10-19 instead: the branch, monolith
included, was pushed to origin/master (components = origin/master = 0faca7a7)
and prod deployed that commit (VERSION + promotion ledger agree). The old tree was not
removed; integration was not built. The push and the cut-over are different events.
Decision (Mohamed, verbatim: "all" — R3 option A, R4 option A)
- Integration L1 builds now, in this order: the composition root, the five boot
adapters, the env profiles, service start/verify, and a fleet-tier smoke that imports
the clean packages (
orchestrata_contracts,orchestrata_kernel, …) rather thanorchestrata_ultimate. The design exists; L1 increments are dispatched briefs (sonnet under the RUL-037 M3 routing) that execute the design, merging one by one. - Fence: integration may import only what already lands. It does not reopen lift residue inside the eight packages except where boot cannot proceed; residue stays a separate brief per package. Waiting for a perfect lift before any wiring repeats the failure mode Hard Rule 8 already names.
- The
0faca7a7master push is recorded as a backup-and-deploy of the in-progress tree, not the cut-over. The record lives in the components design decision log and in LEVEL0 (regenerated, ADR — R7).origin/masterstays where it is. The real cut-over remains the future merge condition: integration green on the fleet tier, oldsrc/orchestrata_ultimate/*removed, one merge tomaster,/opt/orchestrataships from that tree.
Alternatives rejected
- Finish every open clean-target residue before any integration line is written (option B) — integration's seams are exactly what makes the landed packages reachable; deferring wiring for a perfect lift keeps the system built-tested-unreachable.
- Revert
origin/mastertoe57782ea4until integration exists (R4 option B) — a production rollback of a commit whose verify stage passed, in order to restore a narrative; the narrative is repairable in one paragraph, the rollback is not cheap to unrecall.
Consequences
Integration is the next landed package, and the composition root is where ADR-0112's injected implementations are supplied at boot. The components design and LEVEL0 state the push/cut-over distinction, so the next session does not rediscover it by reading commit titles. Nothing is called a cut-over until the design's merge condition holds.
Provenance
Mohamed's in-session ruling 2026-10-19 ("all") on recommendations R3/R4 of
reports/project-analysis-2026-10-19.md (findings F1, F2, F4, F8). Design authority:
packages/integration/design/design.md + packages/integration/design/decisions.md.
Related ADRs
- Also mentioned: ADR-0112
Rulings cited
- RUL-037: RUL-037 — Every agent writes Python only as files through the guarded tools; enforced on every channel, never promised
Specs cited
None (or no spec page exists for the ones named).