Orchestrata Ultimate › Plans › handoff-2026-10-20-supervisor

Handoff — supervisor session, 2026-10-20 (compaction-safe entry point)

Source: plans/handoff-2026-10-20-supervisor.md at 8a2cb42ad · last changed 2026-10-20 · first committed 2026-10-20 · 114 lines.

Prose pending.

Plan text

Handoff — supervisor session, 2026-10-20 (compaction-safe entry point)

Status: handoff for the next context (post-compaction or new session). Session 272, branch components, worktree /home/mohamed/workspace/wt-COMPONENTS. Written 2026-10-20 after the component-fixes handoff's Steps A/B/C all completed and the P-CAP/P-ARCHSYNC/INT-01 packets landed.

Read order: this file → docs/supervisor-workflow.md (the operating manual — verified tool invocations §3/§3.1, packet lane §4, categorization §5–6, context injection §8, automation ledger §9, starter list §10) → docs/lessons/README.md (25 lessons with detail pages) → reports/errors-and-lessons-2026-10-19.md. The older plans/handoff-component-fixes-2026-10-20.md is HISTORICAL (its Steps A/B/C are done — keep for provenance, do not restart from it).

0. Role and routing (standing for this workstream)

Coordinator/supervisor/PM/architect. You brief, observe, verify, commit, register — you write no component code. Workers: openrouter/qwen/qwen3-coder-next, passed as explicit model= on every dispatch (Mohamed's session ruling; stated override of RUL-037's sonnet default until M2 lands — compensating control is your full verification pass before commit). Audit/analysis panels: minimax-m3.1-flash + glm-5.3-flashx (cross-vendor). After every dispatch verify the served model: workflow §3.1 E's session_v2 query. Session priority ruling (Mohamed): finishing packets outranks perfect 90% coverage — honest measured numbers + named second-pass gaps, never padding.

1. What landed today (all committed; evidence in the commit messages)

Commit What
ae2c23736 Step A: scripts/seed_component_dag.py + tests (6/6, 98% cov) — writer-only, dry-run seam
(prod run) Component DAG seeded on prod orchkg: 10 components, 30 DEPENDS_ON, tools→{contracts,governance,knowledge_graph} NOT kernel — verified PER-INSTANCE (main==replica)
fdf4c449d Step B: INT-01 release scaffold + SPEC-125 PROPOSED delta (run 2; run 1 REJECTED — REWORK corpus in its brief)
7e23e5315 P-ARCHSYNC: the graph's self-described table corrected (orchgraph replaces the Neo4j row, Kernel required=True, cxpt wording) + scoped --retire-legacy with canonical-label whitelist
(prod run) Stale orchestrata-ultimate:Neo4j + grpc-kernel-is-out-of-process nodes RETIRED under Mohamed's delete permission; census before/after exact ±1, per-instance verified
4a470482c RUL-038 cap thread adopted+completed+tested (146/146 green): 300s default, capped⇒exit-nonzero, _child_run_env fabricated-key fix pinned by contract tests
cb5bc652f ADR-0076 graphs stage (--kg only; ingest dropped from promote)
271d27a84 fake-venv fixture sweep (5 sites; uv-symlink trap)
others audit merge + 4 sections, workflow manual, neo4j/cxpt clarifications (AGENTS/SESSION_START/wiki banners), lessons library docs/lessons/, rules catalog docs/ast-checkable-rules.md
wiki component-dag.md (seed + retirement records), architecture-ontology.md (terminology banner), RUL-038 amendment (recovered cap verbatims), lessons page

Memory fix (Step C) applied: components-replaces-ultimate.md now says tools ARE a package.

2. IN FLIGHT at handoff time — finish this first

T17 env-key drift rule (worker ses_ea85f10e7ffeH8o0qxAEqgDGJ6, qwen3-coder-next, fence: scripts/test-review.py + tests/scripts/test_test_review_tool.py; brief: plans/briefs/t17-env-key-drift.md, committed). On its completion (or if already done — check git status on the fence files and the session_v2 row):

  1. Verify per the brief's VERIFY block YOURSELF (pytest its test file, test-review --stdout on it, test-review.py scripts/run_tests.py --stdout must be T17-clean, ruff/black).
  2. Read the rule: registry scan of *_ENV constants, token-run ≥2 similarity → ERROR, exact-literal- outside-declaring-module → WARNING; RUL-003 infra literals must stay clean; own tests must not self-trip.
  3. Check its routing measurement report (which staged files reach test-review via gate.py review-staged + commit_review.pl) — the wiring change is Mohamed's ruling, do not implement it.
  4. Commit (explicit list) with evidence; log verdict via session work.

3. Queue (in order; tasks are in session task list)

  1. P-RUL039 — promotion gate = functionality tests only; rehearsal-class (real deploy/ship/incus/ terraform/tofu/load) tests exist but NEVER in the gate. Mechanism design: docs/ast-checkable-rules.md §4 + §3#13 (category derivation feeds the exclusion). Touches run_tests.py/promoter.py (test verb = promoter.py:223 → run_tests.py --json). Register RUL-039 wiki page WITH the landed mechanism (rulings_lint fails declared-but-missing).
  2. P-RUL040 — reuse ledger + blast radius accurate: replace the run_tests.py:1446 full-run escalation with fail-closed "cannot bound, named set, explicit decision"; symbol-precise expansion (rts.py + affected-symbols). The dead run's 181s spec_012 affected-scope failure belongs here. Register RUL-040 with the mechanism.
  3. Build-order packets (Mohamed-ruled, tasks queued): GATE-RUL038 (#3, ADR-0111's owed gate) → T17-GEN (#1) → RUL036-DERIVE (#13) → QUERY-INJECTION (#2) → DAG-BOUNDARY (#4). Each ships with a founding-incident regression fixture + clean-pass proof + the ruling's Enforcement line updated.
  4. INT-02+ — integration LIFT increments. BLOCKED on ruling gates for most rows: E-1 (18 increments, Mohamed via AD-33/AD-35 — recommendation stands, needs his clear), N4 (INT-11), N-I1 (INT-04). INT-02/INT-03 (wave-1, no ruling gate beyond C-00 family deps) could dispatch first — write their briefs from packages/integration/increments/README.md rows + the §7.8 shape.
  5. Second-pass coverage gaps (named, per the priority ruling): reader L402-403 ProcessLookupError arm; capped-exit end-to-end test pin; sync_architecture_to_graph.py at 65%.
  6. Debts: M-ledger items (workflow §9) incl. M5 rename .opencode/agent/deepseek-coder.md → implementer; precommit-walls reason field (A3 UNKNOWN); stale swarm watches (B1-B3, dr-hannah×4, adr0111×2 — owners should unwatch); cut-over-era vocab unification (capitalised service rows vs lowercase DAG vs per-package Components — decision recorded, not due).

4. Decisions owed to Mohamed (ask, don't assume)

  1. T17 routing: should staged SOURCE .py files enter test-review (a commit_review.pl policy change)?
  2. E-1 ruling clear (unblocks 18 INT increments)?
  3. Push components to origin? (Nothing pushed today — doctrine: no push unless asked. Branch is ahead of origin/master by ~13 commits now.)

5. Alerts (the expensive knowledge — do not rediscover)

6. Key files

docs/supervisor-workflow.md · docs/lessons/README.md · docs/ast-checkable-rules.md · reports/errors-and-lessons-2026-10-19.md · plans/briefs/{t17-env-key-drift,component-dag-seed, int-01-release-scaffold,pcap-cap-tests,p-archsync-table-correction,history-audit-2026-10-19}.md · plans/component-fixes-2026-10-19.md (the ruled plan) · packages/integration/{design,increments} · wiki: projects/orchestrata-ultimate/{component-dag,architecture-ontology,lessons-supervisor-2026-10-20}.md, rulings/RUL-038-* (amended).