Orchestrata Ultimate › Sessions › Session 271

Session 271 (2026-10-18 to 2026-10-23)

The record

Field Value (from context.json in wt-MAP-PRECOMMIT, read with jq)
Session 271, opened 2026-10-18 15:39
Purpose "Spec-gap remediation: verify implementation against all specs 000-105; close real gaps"
Model on record Claude Opus 4.8
Length on record 13 h 7 min, with the achievement "Session archived by orchestrata stop"
Tracker state active_session: 271, status_line: ACTIVE, version: 87b8bee44, git_branch: master
Log entries 11. The last is 2026-10-19 05:16

No new session was begun for the 2026-10-22/23 work, so the tracker still shows 271 as active. The session CLI has no log entries for those days. This page records that work from the session's scratch notes, git, the deploy logs and the summary written at the end of the work.

This page also keeps an earlier record that used the same number; see the numbering note.

Part 1 — 2026-10-18/19: spec gaps, ADR-0105, and the components ship

From the tracker log:

  1. Spec gaps re-verified with the AST toolkit. Closed since the register: SPEC-014 FR-021 (gateway HTTP), SPEC-010 FR-008 and FR-001, SPEC-012 goal lifecycle. Still open at the time: SPEC-012 US-004/005, SPEC-015 FR-014–016, SPEC-023 FR-006/013.
  2. SPEC-012 US-003/004/005 built. PM budget enforcement and iteration metrics (budget.py, 192 lines), PMVolk progress and budget events, and PipelineRunner._notify_pm. The colliding requirement ids got fresh numbers, REQ-012-051 to 056.
  3. SPEC-023 packet shipped. Goal evaluation, the Stop gate in SessionController.end(), the audio alarm, and the goal CLI. 105 of 105 session modules and 2,502 tests green.
  4. DSH parity. A .dsh/skills link tree (15 skills) and user links, plus MCP tool mounts.
  5. Cleanup in four commits. Among them the volks lift v11 landing, 5d8265be5 (288 files).
  6. ADR-0105 (Accepted): remediate the gate, then push. The affected selector learned packages/** and resolved 100% of the range (0 UNTESTED, 1,180 tests across the root subset and 7 package parity suites).
  7. ADR-0106 (Accepted): hold the claims, gate green now. Ruling-gated lift increments were held from parity.
  8. N-V3/N-V4 wave ("Ratify and implement all of it"). ADR-0107 put tools and openspec into packages/tools; ADR-0108 kept the AST toolkit host-side behind a contracts protocol.
  9. Shipped. The components branch went out through deploy/ship.sh, with origin/components and origin/master both at d4037442d (372 commits). Verification was green: 20,656 tests authoritative, 0 failed, 0 UNTESTED.
  10. Prod promotion failed. It stopped at the prod Memgraph graph bootstrap (SHOW REPLICAS replica error) and rolled back cleanly to bae8403fdda4.

Coverage backfill (≥90% per file) was moved to a later pass on Mohamed's word: "prioritize more modules getting done... coverage can happen in another pass".

Part 2 — 2026-10-22/23: maps, codetools, gates, inventories, research

Pushed to GitLab master: 4ac0db570..a4cbc2bdf

The codebase-map work, all in orchestrata-ultimate-architecture:

Commit Time What
b5468cb1c 10-22 19:35 Item 2: pre-commit regenerates the codebase maps when Python is staged (RUL-030, ruling "A")
e1f3a5047 10-22 20:38 The maps regenerate in one process: 128 s down to about 15 s
c995f5b88 10-22 21:43 Per-file delta cache: a no-change run takes 1.0 s
d4ae44819 10-22 22:00 Item 3: maps regenerated through the codetools ast map verb
a4cbc2bdf 10-22 23:52 The map hook creates docs/ before moving the codetools maps in

The push took four attempts:

  1. Refused by the source-provenance gate (the venv had been flipped to editable).
  2. Refused by the same gate (a leaked PYTHONPATH shim).
  3. Refused by a real failure in test_hooks_pre_commit.py, fixed by a4cbc2bdf.
  4. Pushed in 349 s on a bounded green run.

See hidden AST spawners and the editable-venv flip. The work is now recorded as ADR-0128 (Accepted).

codetools

Commit Deployed by What
25bcbf4f — codetools ast map: codebase maps with a per-file delta cache
6979a4ad — Install 68 had been refused at verify because the launch inherited PYTHONPATH=/opt/orchestrata-tools/shim. ct-install now unsets it
b518f88a ct-install 74 (IDENTITY OK, SMOKE-OK) The ast map fast start path skips verb discovery
a5c419f5 ct-install 75 (exit 0) OpenSpec dependency injection: orchestrata-ultimate becomes the optional openspec extra, which ends the codetools to orchestrata-ultimate cycle. Tests: 20 passed in 3.36 s. This implements Mohamed's 2026-10-20 ruling "use dependency injection"

codetools --version now prints a5c419f5.

Plugin and ~/.claude config

Deployed at a4cbc2bdf on 2026-10-23 at 00:00 (DEPLOY-EXIT 0, 33 s). ~/.claude/VERSION names a4cbc2bdf.

Gates and hooks

Restored

The config deploy's rsync --delete removed three user hooks that live in no repo: codemap_refresh.sh, precommit_gate_subagent.sh and dispatch_ledger.py. They were restored byte-identical from ~/.claude/.backup-20261023T000002.

Workers dispatched and measured

Under RUL-041, the host Claude writes no orchestrata code (RUL-041 and ADR-0125 were published to the wiki on 2026-10-22).

Worker Result Measured
Hermes guard (Sonnet) d959cb9, 18 files. Deployed after a DeepSeek credit top-up (the first deploy rolled back on HTTP 402). Live R14 test passed in 34 s About 8.7 min
Hermes no-exec (Sonnet) 8e62d6f drops code_execution from the allowed toolsets. Deployed with hermes-deploy, and live refusal confirmed About 2 min
AST roots fix A (Sonnet) eddfc6668 on fix/ast-pipeline-declared-roots, unpushed. 42 passed across 5 modules in 22 s; the pipeline found 5,220 modules About 16 min over 3 legs. Both stops were caused by the brief
Maps item 2 (Sonnet) b5468cb1c, then pushed Stopped at about 25 min on Mohamed's word
Installer tests (ADR-0129) orchestrata-tools 7309a3488, deployed to /opt/orchestrata-tools Phases: venv about 3 s, build about 6 s, verify about 12.6 s
Hermes read-only check of the src statements (DeepSeek) 8 true, 2 partly true, 1 false (only scripts/ moves to codetools) 5.1 min, $0.15

Inventories and research

Written up in research:

Rulings, and the ADR publish step

Mohamed's rule during this stretch: "stop writing in files, keep a scratch file". Rulings stayed in the scratch notes while the thread was open, and were minted together at its end (ADR-0130). That happened on 2026-10-23 at 00:43 (wiki a651c53):

ADR Status Ruling
ADR-0124, Addendum 1 — "cutover first": the cut-over lands before either container is built
ADR-0127 Accepted The test runner stays a repo dev tool outside the integration release
ADR-0128 Accepted The tracked maps are regenerated at commit, by per-file delta, through codetools ast map
ADR-0129 Accepted Read-only installer tests share one enforced read-only install
ADR-0130 Accepted ADRs are a publish step
ADR-0131 Accepted Blocked deploys run through approved launchers (ct-install, tools-deploy, hermes-deploy)
ADR-0132 Proposed Which tree is edited at the cut-over (the packages/ dispute)
ADR-0133 Proposed How orchestrata-mcp gets a gateway token

Also published on 2026-10-22: ADR-0123 (Proposed), ADR-0124 (Proposed), RUL-041/ADR-0125, and ADR-0126 (Proposed). See decisions.

Still open at handoff

  1. The 16 units DeepChat disabled on 2026-10-21, and autostart on the test and dev fleets. They await Mohamed. See the DeepChat review.
  2. The GATEWAY_TOKEN ruling (ADR-0133, Proposed). Every orchestrata MCP call fails until it is ruled and built.
  3. The /opt/orchestrata redeploy. It runs 4ac0db570, and master is a4cbc2bdf.
  4. Codetools hosting. Where codetools releases are published, so the components can pin a release instead of the editable /opt path.
  5. The packages/ dispute (ADR-0132, Proposed).
  6. Unpushed commits:
    • 8a2cb42ad (uv run --no-sync);
    • eddfc6668 (AST roots fix);
    • orchestrata-tools 7309a3488;
    • Hermes local master, 10 commits ahead of GitLab;
    • 8c7031c9a, the ADR docs (item 9).
  7. The three hand-installed hooks. They are not yet in the repo, so the next config deploy deletes them again.
  8. The prod promotion that failed on 2026-10-19 at the Memgraph SHOW REPLICAS bootstrap. This was the tracker's active-work item; its current state was not measured here.
  9. The ADR docs commit is unpushed. The two held edits to docs/adr/0124-*.md were committed at the publish step, together with ADR-0127..0133, as 8c7031c9a in orchestrata-wt-unshipped-scope (branch fix/ship-sanctioned-gate-pytest). That branch is 5 ahead of and 6 behind origin/master, and no remote branch contains the commit (checked 2026-10-23).

The full list is on blockers, upcoming work and tasks.

The number 271 is used twice

This page first recorded a 2026-10-13 Kimi session on branch architecture/domain-model under the number 271. That branch keeps its own context.json. The master tracker opened its own session 271 on 2026-10-18. Both records are kept here rather than renumbered. The earlier record follows unchanged, apart from its heading levels and one link.

Earlier record: 2026-10-13, KG orphan audit, loader root fix, fast census (Kimi)

Agent: Kimi. Branch: architecture/domain-model. Commits: 7a29723dd, 872213961, 196ce76a7 (local, unpushed at session close).

What happened

  1. Startup-context verification — digest claims checked live: infra all-ready (Redis/Memgraph/Gateway/Kernel/Link), branch + 55 dirty files confirmed. Caught one misleading line: project-status "tag: plugin-94a23ae16dad" is the newest tag repo-wide but is NOT an ancestor of HEAD (different branch); HEAD's last reachable tag is session-264-2026-08-12, 746 commits back.
  2. KG accuracy audit — sync_ast_to_graph.py verify PASSes but its bar is trivially weak (global count >= 1). Live orchestrata-ultimate subgraph matches the AST snapshot (6,286/6,286 classes; spot-check GraphSyncer 38=38 methods) minus 2 modules regenerated 25 min after sync. But 28,889 orphan Modules found — 11 wt-* worktree namespaces + orchestrata-ultimate-architecture + orchestrata.codetools. MAPS_TO edges: 0.
  3. Root cause (user-diagnosed, confirmed): the loader creates no Project→Package root edge on the incremental path — incremental_sync skips the Project MERGE and _sync_contains_edges MATCHes on the absent node, silently writing zero edges. Subtrees fully edged internally, floating at the root.
  4. Fixes: unconditional minimal Project MERGE in _sync_ast; 13 Project nodes + 493 root CONTAINS edges repaired live; orphan modules 28,889 → 0.
  5. Orphan sweep: 3 unlinked Patterns wired (Component-[:APPLIES]); 7 _live_* untagged test-pollution nodes deleted; 3 dr-hannah Tier-J floaters re-rooted (Project + HAS_ARCHITECTURE/DECIDES/DOCUMENTS).
  6. Census rewrite: check_kg_connectivity.py was a Python-side batched BFS — two runs >30 min, neither finished. Replaced with a dialect-aware native [*BFS..32] + in-graph anti-join on Memgraph (Neo4j keeps the Python fallback). 47s. Verdict: 1,088,711 / 1,088,711 reachable, 0 unreachable.
  7. RUL-024 cleanups: 10 pre-existing code-review ERRORs in sync_architecture_to_graph.py fixed (untyped constants → mypy object errors, cid/adrs_path redefs, prose-localhost false positive reworded).

Verification

Handoff