Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0054
ADR-0054: Misplaced infrastructure seams relocate to a new L1 infra package
| field | value |
|---|---|
| Status | Accepted — Accepted (executed under Mohamed's direction: "proceed with recommendations") |
| Date | 2026-09-21 |
| Register | factory (docs/adr, 4-digit ids) |
| Source | docs/adr/0054-infra-package-for-misplaced-seams.md — permalink at 8ceb2e5a4 (unchanged on master since that commit) |
| Wiki register entry | ADR-0054 (wiki status: Accepted) |
The record
Date: 2026-09-21 · Status: Accepted (executed under Mohamed's direction: "proceed with recommendations")
Context
The 2026-09-17 architecture review measured that most upward (L3→L4) import
violations cluster on a handful of misplaced modules living in L4 packages
that are actually infrastructure: orchestrator/prolog_bridge.py (the Prolog
seam, imported upward by agents/governance/knowledge_graph),
orchestrator/redis_state.py (Redis state store, imported upward by
governance ×4, agents ×2). The target architecture (orchestrata.infra, L1)
has no counterpart in the current tree — L1 homes are scattered across
core.config, core.redis_factory, etc.
Decision
Create src/orchestrata_ultimate/infra/ as the Layer-1 infrastructure
package (registered "infra": 1 in LAYER_ASSIGNMENTS and
architecture-standards.md) and relocate the misplaced seams there:
orchestrator/prolog_bridge.py→infra/prolog_bridge.py(K1, merged)orchestrator/redis_state.py→infra/redis_state.py(K2, merged)orchestrator/prolog_worker.py→ queued follow-up (its relocation will also obsolete thecxp.prolog_bridge → prolog_workerKNOWN_VIOLATIONS waiver)
The package maps 1:1 onto orchestrata.infra in the mechanical pass, so
this is final-granularity placement, not a staging area.
Consequences
- Static violations 100 → 87 across K1–K3 (with K3); every former L3→L4 importer of these modules now imports downward.
- One accepted debt:
infra.prolog_bridgekeeps a function-scoped lazy import oforchestrator.prolog_worker(+1 accepted function-scoped edge) until the queued prolog_worker relocation lands. - Both migration agents creating
infra/__init__.pyindependently must keep it identical and docstring-only (merge-clean by construction — verified).
Related ADRs
No other ADR is named in this record.
Rulings cited
None.
Specs cited
None (or no spec page exists for the ones named).