Handoff — component fixes, continue from here

Session 272. Worktree /home/mohamed/workspace/wt-COMPONENTS, branch components. The working copy of this plan is plans/handoff-component-fixes-2026-10-20.md in that worktree. Read that file if it is newer than this page. Do not restart finished packets.

Start

  1. Read rulings/index.md from this git repo. Do not call wiki get. ~/.local/bin/wiki is not installed.
  2. Read projects/orchestrata-ultimate/architecture-ontology.md and component-dag.md before describing architecture.
  3. Load the matching skill before the first use. canvas is ~/.local/bin/canvas.
  4. You are the coordinator. Workers edit. You verify, then commit an explicit file list. No --no-verify. No push unless Mohamed asks.
  5. Do not git add -A. The worktree is dirty with files session 272 did not own.

Done

Packet State Evidence
P1 roots + LEVEL0 committed cb835859c Eight packages/<name>/src roots. On-disk knowledge_graph root is packages/knowledge_graph/src, not the ADR-0114 typo packages/kg/src. LEVEL0 says cut-over has not happened.
P2 ontology page written, publish by committing this repo projects/orchestrata-ultimate/component-dag.md
P3 tools seams committed 9bf101eb9 grep -R orchestrata_kernel packages/tools/src exits 1. Redis and embeddings go through contracts protocols.
ADR-0114 graph sync checks pass Prod orchkg, project orchestrata-ultimate, measured 2026-10-20T01:59:52Z
Check Count
Modules whose file path contains orchestrata_contracts 403
Spec 71
Requirement 639
RequirementItem 5786
TRACES_TO 15366
Module nodes 5232
Method nodes 31706 of 31730 rows

Those two commits are on components. They were not stated as pushed.

Next, in order

A. Ontology seed

No new node type. A worker writes a seed module that calls only ArchitectureWriter.upsert_component and link_depends_on in packages/knowledge_graph/src/orchestrata_kg/knowledge_graph/architecture_writer.py. The worker does not open Bolt. The coordinator runs it after review, against prod orchkg, slug orchestrata-ultimate.

Tools depends on contracts, knowledge_graph, and governance. Not kernel. That is ADR-0112. Integration is required=no until it lands. That is not permission to skip building it.

The row table is in plans/component-fixes-2026-10-19.md §4.2 and in the worktree handoff. Verify a Component id orchestrata-ultimate:tools with DEPENDS_ON to those three, and not to kernel.

B. INT-01 only

Do not dispatch "build integration". INT-01 is the SPEC-125 delta plus the release scaffold. Read packages/integration/increments/README.md row INT-01 and packages/integration/design/decisions.md D-I1 and D-I13. There is no INT-01.md brief yet. Write it, fence packages/integration/** only, then dispatch. INT-02..INT-25 are later briefs.

C. Docs still open

Commit this wiki repo so Wiki.js pulls. wiki-kimi remember does not publish. See procedures/wikijs-publish-path.md.

Memory file ~/.claude/projects/-home-mohamed-workspace-orchestrata-ultimate/memory/components-replaces-ultimate.md still says tools are not a package. Replacement: tools landed as packages/tools (orchestrata_tools) by ADR-0107; codetools stays the separate toolbox; ADR-0112 removes the tools package's kernel imports. A write was permission-denied in session 272.

Do not

Graph

Measured 2026-10-20: instance_2 is main at 10.53.1.123:7687. instance_1 is the sync replica at 10.53.1.128:7687. Re-check SHOW INSTANCES on a coordinator bolt port before any prod write. SHOW INSTANCES fails on the routing URI. Do not write to the replica.

The routing URI dropped a Bolt handshake during the traces write. That write went to the measured main. 24 method rows collapsed on duplicate qualified names. The stock DEFINES writer uses a multi-label MATCH that orchgraph 3.11 collapses. Do not re-run it to "repair" the graph.

Model

RUL-037 still sends .py briefs to sonnet until M2. Sonnet was spend-limited in session 272 (reset 6pm Detroit 2026-10-20). Mohamed chose openrouter/deepseek/deepseek-v4-pro. That route works. deepseek/deepseek-v4-pro does not: opencode models has no deepseek/ line. Do not retry it until that line exists.

env/test.env blanks DEEPSEEK_API_KEY after .env loads it. The real key is in .env. Do not print it. Do not commit it. Do not remove the blank.

Definition of done

ADR-0069 / RUL-034, same ship as the code: @traces, RTM, docs, wiki page, and ≥90% line coverage on every source file the packet creates or modifies.