Orchestrata Ultimate › Blockers
Orchestrata Ultimate Blockers
Refreshed on 2026-10-23 against:
- the session 271 handoff;
- the host inventories of 2026-10-22;
- the tracker's backlog (
context.jsoninwt-MAP-PRECOMMIT, read withjq), which holds 142 open items, 18 of them P1 or high.
The generated tasks page lists every open item.
Active blockers (2026-10-23)
| # | Blocker | What it stops | Waiting on |
|---|---|---|---|
| 1 | The orchestrata runtime is off. DeepChat stopped and disabled 16 units on 2026-10-21, including kernel, gateway, bot and miniircd, and set the test and dev fleets' autostart to false. Details: DeepChat review | No live gateway or kernel. Integration tests need the test fleet started after any reboot | Mohamed: re-enable the units and autostart |
| 2 | orchestrata-mcp is broken: GATEWAY_TOKEN is not set. Analysis: gateway token analysis |
Every mcp__orchestrata__* call |
Ruling on ADR-0133 (Proposed, B recommended), then a worker |
| 3 | Which tree is edited at the cut-over (the packages/ dispute). Analysis: Python deployment best practices |
Test re-point, the map exporter, removing src/orchestrata_ultimate, the cut-over itself |
Ruling on ADR-0132 (Proposed) |
| 4 | /opt/orchestrata runs 4ac0db570, while master is a4cbc2bdf. The prod promotion of 2026-10-19 failed at the prod Memgraph bootstrap (SHOW REPLICAS error) and rolled back to bae8403fdda4. Whether that was fixed was not measured |
Prod runs code six commits behind master |
A redeploy, after blocker 1 |
| 5 | Unpushed work: 8a2cb42ad (uv run --no-sync), eddfc6668 (AST roots fix), 8c7031c9a (ADR-0127..0133 docs), orchestrata-tools 7309a3488 (deployed but on no remote branch), and Hermes local master (10 commits ahead of GitLab) |
Other worktrees and machines cannot get these fixes. Until 8a2cb42ad is deployed, a plain uv run in a hook can flip the venv editable and the pre-push gate refuses (details) |
Mohamed: push approval |
| 6 | No codetools hosting. packages/contracts depends on an editable /opt/codetools/current path, and the integration package pins codetools as <PENDING tools release id> |
A reproducible components build | A decision on where codetools releases are published |
| 7 | Three hand-installed hooks (codemap_refresh.sh, precommit_gate_subagent.sh, dispatch_ledger.py) live in no repo |
Every Claude config deploy deletes them. They were restored from backup on 2026-10-23 | A worker commits them to claude/hooks/, then a push |
Risks
- Stale AST data from hidden spawners. A PostToolUse hook runs
serialize --incrementalfrom the primary checkout, which is 1,102 commits behind itsorigin/masterref.~/.venvholds an editableast-syncinstall of that checkout. See hidden AST spawners. - The T9 btrfs pool. The October stall came from full qgroups and was fixed by switching to simple quotas. Incus re-enables full quotas if quotas are ever turned off. See T9 Incus btrfs qgroup stall.
- Coverage numbers are not trustworthy yet. The baseline is a 2026-07-08 snapshot, and parallel waves may have cross-contaminated
.coverage.*files (tasks 109, 448, 451 below). - Hook defects that look like guards. Several hooks do nothing or cannot block: the codetools plugin's PreToolUse hooks,
infra_check.py, and PostToolUse "BLOCK" hooks. See host inventories.
Open P1 and high tasks (18)
From context.json deferred_work, which has 564 items: 422 done and 142 open. The number is the item's index in that array. Notes in italics were added on this refresh.
| # | Priority | Added | Task |
|---|---|---|---|
| 66 | P1 | 2026-07-04 | Spec-gap remediation: verify the implementation against all specs 000–105 and close the real gaps. Session 271 Part 1 closed several and listed the rest |
| 109 | P1 | 2026-07-05 | Verify coverage in isolation before declaring the coverage task done (parallel=true lets concurrent agents' .coverage.* files contaminate each other) |
| 364 | P1 | 2026-08-02 | T1b: false-confidence detection through three witnesses: per-test coverage contexts, runtime trace attribution, and the AST call graph |
| 365 | P1 | 2026-08-02 | T1c: a suite consolidation and minimisation report on the coverage matrix (CLP(FD) set cover; tier tests, never delete them) |
| 448 | P1 | 2026-08-09 | Regenerate plans/cov_baseline.json. The baseline is a 2026-07-08 snapshot showing 370 src files under 90%, not 103 |
| 451 | P1 | 2026-08-09 | Coverage back-fill, re-sized to the real 370 files. Blocked by 448 |
| 479 | high | 2026-08-10 | The KG requirement tiers are unpopulated and non-canonical in orchkg: 14 :Requirement nodes, none with a project_id, so every project-scoped reader returns empty |
| 490 | high | 2026-08-12 | No shared finding/evidence vocabulary in core/: two finding-shaped models have no common ancestor |
| 537 | high | 2026-08-21 | Wire the deception-audit quartet (posttool auditor, deception detector, stop auditor, subagent stop auditor). Since 2026-10-22 two SubagentStop hooks are registered (the dispatch ledger and the precommit gate), but neither audits claims |
| 538 | high | 2026-08-21 | Project-level .claude guards are silently inert when the session's cwd is outside the repo. The 2026-10-22 inventory found the orchestrata plugin's project dispatch runs these guards in $HOME sessions (about 143 runs per guard in 12 minutes). Not re-checked against the task's own criteria |
| 544 | P1 | 2026-08-21 | Wire PostmanGovernanceManager into RoutingEngine, replacing the hard-coded _check_governance if-chain |
| 546 | P1 | 2026-08-21 | ConstitutionalEnforcer is gated on policy_audit_mode, a constructor default no configuration can reach. Make it env-driven: a GOVERNANCE_MODE of off, audit or enforce |
| 549 | high | 2026-08-21 | Suite tail: tests/scripts/test_gen_brief_pack.py took 276.8 s. Split it or cache its fixture. Module time in the components cache, 2026-10-21: 158 s |
| 551 | high | 2026-08-21 | plan_schedule() dies with a Prolog stack-limit error on the full 1,674-module duration cache. Guard the entry point and decompose the problem |
| 552 | P1 | 2026-08-23 | CI jobs on the private registry image fail, because incusd runs skopeo as root without a registry login. Three fixes are named in the task |
| 559 | P1 | 2026-08-27 | Pyright debt: 410 errors remain, all in tests/ (342) and claude/ (68). src and scripts are at zero |
| 560 | P1 | 2026-08-27 | Phase 3 codegen: the enums lane is built but orphaned, because no gate runs gen-enum --check |
| 563 | high | 2026-08-27 | 40% of spec requirements (2,224 of 5,561) have no @traces, and 4,711 traced symbols are unreachable from any entrypoint |
Earlier P1 list (2026-07-08 backlog, kept as history)
This list predates the 18 measured items above and was not re-measured on 2026-10-23.
- Communication: volk↔volk messaging + orchestrator↔volk with real-time status/heartbeat awareness.
- Context injection: wire SPEC-009 + memory (SPEC-010) / KG (SPEC-008) retrieval into volk execution.
- KG schema: audit + add semantic node/edge types, reusable queries, constraints (SPEC-008/105); remediation batch per
plans/kg-schema-gaps.md. - Spec-gap remediation: verify implementation against all specs 000–105; close real gaps.
- AST module evaluation + improvement (
serialize_codebase_ast.py+ orchestrata_tools) per the audit's ranked list; plus new deterministic codegen templates. - Coverage back-fill: ~95 src files still <90% (see
cov_baseline.json); then verify coverage in isolation (parallel.coverage.*cross-contamination risk). - Escalation absorption design pass: graft kernel
PipelineEscalationMixincapabilities onto the orchestrator runner — design fork (capability-mesh routing vs fixed StageSpec) needs sign-off; touches live gateway control flow. - D12 unified persistence layer: funnel ~30 direct
GraphDatabase.driver/redis.Rediscall sites through core factories + architecture-checker gate; converge 6 KG writers into one canonical writer.
Earlier P2 list (2026-07 to 2026-09, not re-measured)
Test-purity remediation: 9 files / 11 violations (mocks/skipif) breaking the no-mock/no-skip doctrine.DONE —audit_test_purity.pyreports 0 violations repo-wide (verified session 253).- MemoryEngineProtocol divergence:
agent_idvsvolk_idnaming across protocol/interface/impl — needs a canonical-name decision. - Volk MERGE-key divergence in KG: pipeline_kg keys on alias, harness on name, kernel audit on volk_id → duplicate Volk nodes; converge on alias.
- Provider-protocol + core interfaces-vs-protocols split-brain: duplicate protocol/Message trees (core.protocols vs core.interfaces) across ~20 import sites; reconcile per
plans/provider-protocol-reconciliation.md. - AnthropicAdapter tool forwarding: does not translate OpenAI-shaped tools to Anthropic schema, so tool_use can't trigger in production (SPEC-011/103).
- Pipeline resume is not real resume: PipelineRunner never calls
checkpoint.save_stage(); no store records original intent/work_type. (TESTING, ARCHITECTURE)routing-subject gap (surfaced 2026-09-21):CAPABILITY_SUBJECTShas no entry for the performance route's U:Qa→U:Ar edge, so U:Ar receives fallback subject"process"(unanswered) and the route dies at stage 2 — the same defect class 9fbed221 fixed for intake, its guard doesn't cover this edge. Choosing U:Ar's subject (it answersimplement/scope_validated/ux_complete/design_feedback/review_edit) is a design decision for Mohamed; the rewrittentest_performance_work_type_unhandled_subject_fails_fastdocuments the gap.Per-worker Neo4j test pool on Incus: unlocksDONE —-j 8–10, full suite ~6–9 min (clone containers with unique IPs, then worker-scaling ladder).NEO4J_URI_GW1..GW7live in.env; suite runs 8 workers in ~7 min. Gotcha (session 253):ORCHESTRATA_WORKER_SLOTmust begwN-format — bareNsilently falls back to the shared primary (see ADR-024 in decisions).- Memory Phase-2: 5 volk call sites bypass base recall by calling module-level
call_llmdirectly. - Async-plugin convergence: 56 test files use
@pytest.mark.anyiounderasyncio_mode=auto— latent dual-loop hazard.
Earlier risks (2026-07, not re-measured)
- 2026-07-29 gate check (working tree,
feat/graph-rename, uncommitted): the most recentrun_tests.pyinvocation aborted before the test phase — parallel-safety gate found 3 blocking violations (2 unscoped Neo4jDETACH DELETE/CREATEin test files, one of them in a newtest_migrate_kg_to_orchgraph.py) and the test-purity gate found 4[STUB]violations in 2 files (scripts/test_affected_tests.py,scripts/test_rulings_lint.py); seereports/run-tests-latest.json. Not yet re-verified against a cleanmastercheckout — the last confirmed-GREEN gated run remains 2026-07-27 (reports/run-tests-2026-07-27-green.json, 29,200 passed / 1455 modules). This does not overturn the session-253 "0 violations repo-wide" test-purity verdict below, which was true at that commit; it flags fresh violations introduced since. HA controller (Memgraph) single point of failureRESOLVED — superseded by the orchgraph Raft cluster (3 coordinators, routing10.53.1.160:7691); the legacy controller container (.153) is deleted. Residual risk: losing 2 of 3 coordinators halts routing.- 19 pre-existing
test_postman_interface_compliancefailures (MessageStore/ReceiptStore/ReplayEngine) — confirmed pre-existing, uninvestigated. - Coverage numbers from parallel waves may be contamination-inflated until the clean sequential verification pass runs.
Recently Resolved
- 2026-09-21 evening — the "order-dependent suite" mirage (see
reports/isolation-bisect-2026-09-21.mdin the repo): ~79 failures in the gateway/cli/claude modules looked batch-order-dependent (bisect-proven pre-existing at 9fbed221) but were deterministic environment/staleness failures — solo and batch identical, no polluter exists. Four clusters, all fixed:GATEWAY_HOST=CHANGEME_*template sentinel (the .env on this machine was never substituted; gateway bind died with gaierror → "did not start within 15s"); kimi ghost-session residue in~/.local/state/claude-kimi/sessions.json(per-test registry isolation now); intercept tests stale vs the silent-allow contract 559c6920; three more unguarded CHANGEME_ consumers (kernel/cli, cxp/endpoint_config, harness — convention now uniform in all 7). Root enablers:env/test.envnow pins the endpoints and neutralizes sentinels/real keys, and conftest fast-fails at bootstrap on proven-dangerous CHANGEME_ values (ADR-0053 applied to configuration — a template .env can never masquerade as flakiness again). Also closed: a latent prod leak of the conversation-graph endpoint, and 2 stale pins from 9fbed221's subject-routing correction. - 2026-09-21 migration wave (see architecture migration 2026-09): Prolog query layer repaired (
library(json)→library(http/json)fallback for Guix swipl 9.3.8;code_intel reindex+trace_intel reportexit 0); vendored janus-swi build fixed for GCC≥14 (scripts/_janus_patched/BUILDING.md— the suite was un-runnable without it); KGREL_CONTAINS/CALLS/IMPORTScanonicalized with identity drift-lock; 3 PEP 649/749 lazy-annotation NameErrors (ADR-0057); CHANGEME_ config-sentinel crash; stale pipeline-CLI fail-fast test (9fbed221's routing correction proven intentional, test rewritten); all 5generated_*suites regenerated with backward-compatible signature pins. Session suite 2405/2405 green; static architecture debt 100→86. - Governance wired into PipelineRunner (P0.1) + Prolog atom escaping (P0.2) — see Decisions.
- Stale vector index entries in semantic_graph tests; Memgraph replica-name quoting; GitLab push auth (
GITLAB_TOKENshadowing glab).