Orchestrata Ultimate › Upcoming work
Upcoming work — actionable backlog highlights
The authoritative backlog is context.json (the session CLI). The generated tasks page lists all 142 open items, and blockers lists the 18 open P1/high ones. This page picks out what to do next and in what order. The order is a recommendation, not a ruling.
Next up (2026-10-23)
1. Rulings and approvals only Mohamed can give
| Item | Unblocks | Record |
|---|---|---|
| ADR-0132: which tree is edited at the cut-over | The whole cut-over plan | Python deployment best practices |
ADR-0133: how orchestrata-mcp gets a gateway token |
Every orchestrata MCP tool | Gateway token analysis |
| Re-enable the 16 units disabled on 2026-10-21, and fleet autostart | The live runtime, and integration tests after a reboot | DeepChat review |
| Where codetools releases are hosted | A real codetools pin for the components (today it is an editable /opt path and <PENDING>) |
codetools versus components |
Push approval: 8a2cb42ad, eddfc6668, 8c7031c9a, orchestrata-tools 7309a3488, Hermes local master |
Deploying these fixes anywhere else | Session 271 |
The 48 untracked DeepChat skills in wt-COMPONENTS: commit, prune or move |
A clean components tree |
DeepChat review |
2. Deploys, once approved
- Push
8a2cb42ad, then run the Claude config deploy, so that hooks stop flipping venvs editable. - Redeploy
/opt/orchestratafrommaster(a4cbc2bdfor later). Then retry the prod promotion that failed on 2026-10-19 at the MemgraphSHOW REPLICASbootstrap.
3. The components cut-over
ADR-0124 Addendum 1 says the cut-over comes first, before any container is built. The work, from the cut-over review:
- A worker builds the frozen-to-landed symbol map as an artifact. Only 360 of 1,596 test modules re-point by the same path, so every other re-point needs this map.
- The re-point codemod, built on that map.
- Correct the stale N4 and N-I1 gate records. Both were approved under AD-65 R3, so INT-04 and INT-11 are not blocked.
- Add increments for the five CLI arrivals (
ask_openrouter,e2e_run,graph_query,scan_implementation,generate_rtm_evidence) and for removingsrc/orchestrata_ultimate. - Run integration through the wave tooling the eight packages used.
- ADR-0127's two cut-over items:
- land the AST roots fix (
eddfc6668); - teach the affected set about cross-package dependents, so a contracts change selects kernel and volks tests.
- land the AST roots fix (
4. Packaging
From Python deployment best practices:
- One uv workspace and one lock over
packages/, replacing the nine per-package locks. - A small runtime package for the
codetools.rtmtrace decorators, with no back-dependency, for the ~1,550 generated imports. - Declare codetools in kernel's dependencies, or remove the import.
- deptry (DEP001, DEP003, DEP004) in CI.
- Deploy from wheels.
5. Hooks, spawners and tools
From the host inventories and hidden spawners:
- Commit
codemap_refresh.sh,precommit_gate_subagent.shanddispatch_ledger.pyinto the repo'sclaude/hooks/, with their registrations. - Point the PostToolUse
serialize --incrementaljob at/opt/orchestrata-tools, or drop it.Retire the editableDone 2026-11-06:ast-syncin~/.venv.- Removed: the editable
orchestrata-ultimateandcodemod-fastwere uninstalled from~/.venv. - Re-pointed:
session,orchestrata,ast-query,orchestrata-toolsandorchestrata-{diagram,discover,review,test-review}are~/.local/binsymlinks to/opt/orchestrata/.venv/bin.ast-syncresolves to the deployedast_live_sync. - Root cause closed: the primary checkout's
.envrcnow exportsVIRTUAL_ENV="$PWD/.venv"andUV_NO_EDITABLE=1, back-ported from master. That checkout was the root cause.
- Removed: the editable
- Fix the hook payload fields:
infra_check.pyshould readprompt;- the codetools hooks should read
tool_input; coverage_gate.pyneeds astop_hook_activeguard.
- Remove the duplicate ADR-reminder registration and the duplicated skill copies.
- Make the orchestrata plugin self-contained instead of calling
~/.claudecopies. - Update the
orchestrata-provisionskill's prod path (/opt/orchestrata). - Make the source-provenance gate name
direct_url.jsonwhen its two printed paths match. - Fix two
worktrees.pydefects:provisionrun from inside a worktree fails withSameFileError;provisiondoes not sourceenv/toolchain.env, so the janus-swi build fails.
- Fix
PYTEST_ADDOPTS: it injects the observer plugin into every repo, which aborts multi-file pytest outsiderun_tests.py. - Verify the guard inside child agents of Hermes's
delegationtoolset.
6. Measurement and reporting
- The kg sync of
components@d4b7e162a. It needs Mohamed's go and a time estimate. - The dispatch ledger as a spreadsheet (requested on 2026-10-22).
- The batch-packing starvation diagnosed on 2026-10-21: 137 of 151 modules were lost to one slow module per bin. Its status was not measured.
- The coverage programme: regenerate the baseline (task 448), then do a clean sequential coverage run (task 109), before any back-fill wave (task 451).
Earlier backlog highlights (2026-07 to 2026-09, not re-measured on 2026-10-23)
2026-09-21 — ARCHITECTURE MIGRATION IS THE ACTIVE SPINE. Phase K of the clean-sheet
orchestrata.*migration is executing now (K1–K3+K5 merged, K6 in flight; static debt 100→86). Status, target design and the go/no-go for the mechanical pass: architecture migration 2026-09. Everything below remains the backlog behind it.
The authoritative, complete backlog lives in the repo's
context.json(session CLI). This page surfaces the current unblocked spine so other agents can pick work up. Decisions gating some of it: open decisions.
DONE (session 253, 2026-07-24): the SPEC-033 §9 build-factory waves G+H (B4a.2, B21, B5, B6, B8, B9, B12, B2) are built+tested+committed and
masteris promoted on a fully green gated suite (28,232 tests, 1431 modules, kernel-verified). See session 253.
Build factory (SPEC-033) — next spine
- B5 per-gate wiring wave — wire the rule-driven projection/completeness meta-check into each live gate (P2, unblocked).
- B4a.2 same-path byte-race hardening (P2).
- ft-grpcio teardown SIGSEGV at pytest batch exit (
build_ft_grpcio.py/ atexit shutdown) — P2, observability debt. - kg-schema gaps #2 #3 #6 #7 #8 (
plans/kg-schema-gaps.md) — #2 provenance writers is the decision-gated big one; #4 is CLOSED (binding RECONCILE ruling, do not re-open).
Runtime trace attribution (plan of record: plans/bdd-runtime-tracing-plan.md)
Phased rollout
Unblocked, in order (~3–4.5 builder days total):
- Phase 0 — extend
harvest_test_citationsto read@traceson test defs (+82 ids); retire the self-contradicting legacydocs/rtm.mdgenerator ("Coverage 100.0%" with 2,876 orphans). - Phase 1 —
scripts/attribute_traces_runtime.py: ctrace-verified coverage join →docs/trace-attribution.json(CONFIRMED / RUNTIME-CANDIDATE / STATIC-UNCONFIRMED / STATIC-UNTESTABLE). Gate: pilot slice reproduces 25/33 + the REQ-106-063 nomination. - Phase 2 —
run_tests.py --attributewithCOVERAGE_CORE=ctracepinned in the batch env; separate cadence, never the default lane. - Phase 3 — EXECUTED grade in
generate_rtm_evidence.py;provenance(static|runtime|both) onsync_traces_to_neo4j.py's TRACES_TO;add_traces_from_evidence.py --runtimefor gated candidate writes.
Phase 4 (citation expansion) is BLOCKED on user decision D2.
Governance
- Execute the wiring plan when
reports/proposal-wire-prolog-governance.mdlands (in flight): static predicate/arity boundary gate over the ~35 f-string query sites, end-to-end deny/allow proof tests per surface, audit-only → enforcing promotion for the kernel dispatcher. - DSL report quick wins: intent-lexicon parity test; shared
req_grammar.pyreplacing 10 regexes;_TEMPLATESexhaustiveness test.
Knowledge graph
- Fix kg_sync
sync_tracesstage: silent no-op on the ruling-2 graph (legacy{pid}:{relpath}::{qualname}entity ids +{pid}:REQreq ids) — re-point at qualified_name matching likesync_traces_to_neo4j.py, or retire the stage. - Reconcile 5 phantom req ids cited by
@tracesbut absent from specs (REQ-001-901/902/904/905/910) + 31 unmatched decorated symbols. - Decide + execute fate of the 228 legacy bare-id Requirement nodes.
- CodeFunction has no CALLS edges (call graph lives on Function/Method) — sync gap.
RAG / retrieval (reports/rag-stack-evaluation.md §5)
- Grow the goldset to ~100 queries; wire
wiki-rag-eval --jsonas a CI ratchet; settle the reranker default from that run. - Author the 4 missing wiki pages the eval exposed (new-project procedure, org-mode rationale, indexer schema, handoff process).
- Hybrid BM25+vector via the existing RRF fusion.
- Embedding cache keyed by chunk-content hash for incremental ingest.
Standing debt
- grpc aio exit-hang on full
tests/knowledge_graph/runs (HIGH). - Minimal* test-double purity sweep.
- Ontology-skill 5-phase plan + installer phases: blocked on their decision sections.