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

  1. Push 8a2cb42ad, then run the Claude config deploy, so that hooks stop flipping venvs editable.
  2. Redeploy /opt/orchestrata from master (a4cbc2bdf or later). Then retry the prod promotion that failed on 2026-10-19 at the Memgraph SHOW REPLICAS bootstrap.

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:

  1. 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.
  2. The re-point codemod, built on that map.
  3. 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.
  4. Add increments for the five CLI arrivals (ask_openrouter, e2e_run, graph_query, scan_implementation, generate_rtm_evidence) and for removing src/orchestrata_ultimate.
  5. Run integration through the wave tooling the eight packages used.
  6. 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.

4. Packaging

From Python deployment best practices:

  1. One uv workspace and one lock over packages/, replacing the nine per-package locks.
  2. A small runtime package for the codetools.rtm trace decorators, with no back-dependency, for the ~1,550 generated imports.
  3. Declare codetools in kernel's dependencies, or remove the import.
  4. deptry (DEP001, DEP003, DEP004) in CI.
  5. Deploy from wheels.

5. Hooks, spawners and tools

From the host inventories and hidden spawners:

  1. Commit codemap_refresh.sh, precommit_gate_subagent.sh and dispatch_ledger.py into the repo's claude/hooks/, with their registrations.
  2. Point the PostToolUse serialize --incremental job at /opt/orchestrata-tools, or drop it. Retire the editable ast-sync in ~/.venv. Done 2026-11-06:
    • Removed: the editable orchestrata-ultimate and codemod-fast were uninstalled from ~/.venv.
    • Re-pointed: session, orchestrata, ast-query, orchestrata-tools and orchestrata-{diagram,discover,review,test-review} are ~/.local/bin symlinks to /opt/orchestrata/.venv/bin. ast-sync resolves to the deployed ast_live_sync.
    • Root cause closed: the primary checkout's .envrc now exports VIRTUAL_ENV="$PWD/.venv" and UV_NO_EDITABLE=1, back-ported from master. That checkout was the root cause.
  3. Fix the hook payload fields:
    • infra_check.py should read prompt;
    • the codetools hooks should read tool_input;
    • coverage_gate.py needs a stop_hook_active guard.
  4. Remove the duplicate ADR-reminder registration and the duplicated skill copies.
  5. Make the orchestrata plugin self-contained instead of calling ~/.claude copies.
  6. Update the orchestrata-provision skill's prod path (/opt/orchestrata).
  7. Make the source-provenance gate name direct_url.json when its two printed paths match.
  8. Fix two worktrees.py defects:
    • provision run from inside a worktree fails with SameFileError;
    • provision does not source env/toolchain.env, so the janus-swi build fails.
  9. Fix PYTEST_ADDOPTS: it injects the observer plugin into every repo, which aborts multi-file pytest outside run_tests.py.
  10. Verify the guard inside child agents of Hermes's delegation toolset.

6. Measurement and reporting

  1. The kg sync of components@d4b7e162a. It needs Mohamed's go and a time estimate.
  2. The dispatch ledger as a spreadsheet (requested on 2026-10-22).
  3. 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.
  4. 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 master is promoted on a fully green gated suite (28,232 tests, 1431 modules, kernel-verified). See session 253.

Build factory (SPEC-033) — next spine

Runtime trace attribution (plan of record: plans/bdd-runtime-tracing-plan.md)

Phased rollout

Diagram projects-orchestrata-ultimate-upcoming-work-1

Unblocked, in order (~3–4.5 builder days total):

  1. Phase 0 — extend harvest_test_citations to read @traces on test defs (+82 ids); retire the self-contradicting legacy docs/rtm.md generator ("Coverage 100.0%" with 2,876 orphans).
  2. 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.
  3. Phase 2 — run_tests.py --attribute with COVERAGE_CORE=ctrace pinned in the batch env; separate cadence, never the default lane.
  4. Phase 3 — EXECUTED grade in generate_rtm_evidence.py; provenance (static|runtime|both) on sync_traces_to_neo4j.py's TRACES_TO; add_traces_from_evidence.py --runtime for gated candidate writes.

Phase 4 (citation expansion) is BLOCKED on user decision D2.

Governance

Knowledge graph

RAG / retrieval (reports/rag-stack-evaluation.md §5)

  1. Grow the goldset to ~100 queries; wire wiki-rag-eval --json as a CI ratchet; settle the reranker default from that run.
  2. Author the 4 missing wiki pages the eval exposed (new-project procedure, org-mode rationale, indexer schema, handoff process).
  3. Hybrid BM25+vector via the existing RRF fusion.
  4. Embedding cache keyed by chunk-content hash for incremental ingest.

Standing debt