Skip to content

Releases: engkimo/open-morphic

v0.6.2 — Council Pilot merge + TD-189 plumbing + TD-192 latency cut

18 May 15:19
7ab703a

Choose a tag to compare

Highlights

Performance

  • TD-192: Folded OutputRequirementClassifier.classify() into FractalBypassClassifier.should_bypass(). Fractal-entry LLM calls 2 → 1. Round 22 live regression (tests/integration/test_round22_td192_latency.py) pins it on real qwen3:8b: artifact goal 7.80s, text goal 1.08s, total 2 calls for 2 goals (baseline 4).

Observability

  • TD-189 steps 1-4: Per-task cache_hit_rate plumbing.
    • CostRecord.task_id (#27)
    • CostRepository.get_cache_hit_rate_for_task(task_id) port (#28)
    • cost_logs.task_id column + PG aggregation SQL (#29)
    • ContextVar-based task_id propagation, async-safe (#30)
    • Next: step 5 surfaces this in UI/CLI.

Council Pilot (TD-194)

  • Full merge (#20): 2-engine debate (CouncilDebatePort + EventBusPort) wired into RouteToEngineUseCase behind MORPHIC_COUNCIL_DEBATE flag (default off). SDD pilot #2 (32 tasks, full TDD).
  • Post-merge fix-ups: CI uv.lock (#22), doctor downgrade (#23), DebateEvent relocate (#24), task_state_repo port typing + Decision persistence (#25), _match_engine substring regression (#26).
  • Round 21 live: Ollama qwen3:8b + Gemini Flash, decision=gemini_cli, 4 events emitted, 12.50s, $0.00251.

Benchmarking

  • benchmarks/cache_hit_rate.py --pad-entries N (#33). Haiku 4.5 cache threshold pinned at ~4096 tokens via binary search (4112 = miss, 4161 = hit). Sonnet 4.6 ≈ 2048 (2^11), Haiku 4.5 ≈ 4096 (2^12) — both clean powers of 2. Documented 1024 minimum is incorrect for both Claude 4 models.

Stats

  • 33 commits since v0.6.1
  • 3,169 unit + 15+ integration tests, 0 regressions, ruff clean
  • Compatibility: no breaking changes