Orchestrata Ultimate › Plans › spec-021-implementation-plan

SPEC-021 OpenCode integration — full implementation plan (session 227+)

Source: plans/spec-021-implementation-plan.md at 8a2cb42ad · last changed 2026-07-27 · first committed 2026-07-13 · 89 lines.

Prose pending.

Plan text

SPEC-021 OpenCode integration — full implementation plan (session 227+)

User ruling 2026-07-13: no retire, no re-scope — a THOROUGH implementation of SPEC-021, retargeted from the frozen monorepo paths to orchestrata_ultimate. 299 requirements (checklists/requirements.md).

Ground truth (recon 2026-07-13)

Non-negotiables (apply to every wave)

  1. Ontology BEFORE graph writes (recorded emphatic ruling): Conversation/ConversationTurn (+ edges to Session/ToolCall) enter knowledge_graph/canonical_schema.py (SPEC-106) with project-qualified ids (multi-project invariant: {project}:{natural_id}) and constraint DDL applied via kg_schema.py before any writer lands.
  2. Rule 8 wiring gate: every deliverable names its production seam (consumer in kernel boot component / plugin deployed via install.sh / tools on PATH); orphan ratchet must stay at 0 new.
  3. Full standards pack per step: code-review ERROR=0, test-review clean, architecture 0, ruff/black/pyright, @traces with real REQ-021 ids, no mock/monkeypatch/skip/xdist, live-observed test runs, review before every commit, Mohamed-only authorship.
  4. Spec is the oracle (spec.md 1,722 lines + 470-line requirements + 303-line testing checklist); deviations surfaced, never silent.
  5. TS side: typecheck via opencode's toolchain; validate with scripts/serialize_js_ts_ast.py; runtime-smoke against the REAL local opencode before declaring done.

Waves

W0 — Design + inventory (analyst + auditor, parallel)

W1 — Python backends (builder swarm, after W0)

W2 — Plugin port (TS builders, after W1 backends exist)

W3 — Verification + close

Open items to resolve in W0