Orchestrata Ultimate › Plans › orchestrata-completion-plan

Orchestrata Completion Plan — autonomous execution

Source: plans/orchestrata-completion-plan.md at 8a2cb42ad · last changed 2026-08-10 · first committed 2026-07-04 · 159 lines.

Prose pending.

Plan text

Orchestrata Completion Plan — autonomous execution

Derived from 7 parallel audits (plans/research/audit-0*.md). Executed non-stop, committing per coherent unit, tests + lint green each step, documenting as I go.

Progress log (newest first)

Reframing (the single most important finding)

The core engine (volks, postman/CXP, KG, session, gateway, governance, harness, memory, goal) is real and tested. The mandate's value is WIRING existing primitives + semantic enrichment + the missing tool suite, not greenfield. Recurring pattern: fully-built subsystems with zero production callers (IterationTracer, VolkContextInjector, VolkRegistry heartbeat/health, _call_llm_with_tools for 8/9 volks, BaseAgent.set_kg, Decision/Artifact KG nodes).

Constraints (non-negotiable)

Python ≥3.14 · uv only · absolute imports · NO mocking · call-time env (os.environ.get) · function-scope fixtures · NO pytest-xdist (use scripts/run_tests.py) · declare deps in pyproject · use AST toolkit for structure/refactor · NO AI attribution in commits · fix EVERY defect encountered.


W0 — Foundation bugs (small, unblocks, "fix everything") ✅ FIRST

Confirmed defects from the audits:

  1. Hardcoded model default "Claude Opus 4.5" → session/controller/_core.py:163, session/models.py:215, session/portfolio.py:146, session/cli/lifecycle.py:27, session/examples/basic_usage.py:34. Replace with a single call-time-resolved default.
  2. Import-time env snapshot — core/infra_config.py:137-141 freezes REDIS_HOST/ NEO4J_URI etc. at import; consumers from ...infra_config import REDIS_HOST capture import-time. Make call-time accessors (violates project rule).
  3. Divergent VOLK_CONFIG — core/infra_config.py:175 vs llm/config.py (spike-profiles.yaml). Pick one authority; make the other delegate.
  4. Stale reasoning models — core/infra_config.py:194-197 pins opus-4-5/sonnet-4-5.
  5. Duplicate spec 007, gateway/test_runner.py:288 coverage TODO. Acceptance: gate tests green; grep shows no "Opus 4.5"; call-time env verified.

W1 — Runtime tracing + observability (do early: makes all later work observable)

Wire the orphaned core/tracing/__init__.py::IterationTracer:

W2 — Context injection (connect it)

Central chokepoint kernel/pipeline_kg.py:_maybe_inject_context (L107):

W3 — Volk personas + tools (create/optimize the volks)

W4 — Communication: volk↔volk + orchestrator status

W5 — KG semantic layer (review graph + add nodes/edges/queries)

W6 — Tool suite (063–072) — the largest true gap

Implement a high-value, security-sane subset + unify the registry:

W7 — Documentation + spec verification + RTM (continuous + final pass)


Execution order (autonomous)

W0 → W1 → W2 → W3 → W4 → W5 → W6, with W7 docs/tests folded into each. Commit per unit with a descriptive message (no attribution). Run the relevant test slice per change; full scripts/run_tests.py at milestone boundaries. Each workstream is a session backlog item; mark complete via the session CLI as finished. If a step reveals a genuine scope/behaviour decision, implement the sound default AND record it — do not stop for approval (user directive: non-stop till morning).