v0.6.0 — native-task-manager drop-in engine (dark-launch)
native-task-manager — a self-built, zero-dependency drop-in replacement for the third-party task-master-ai@0.43.1 task engine.
Shipped dark-launch: taskCore.engine defaults to legacy, so nothing changes until a project opts in with taskCore.engine: "native". Removing the old package is deferred until the native engine has soaked through real features — the rollback safety net stays.
What's in it (5 subs)
- storage-core — atomic tag-keyed
tasks.jsonstore + 6 CRUD ops, byte-compatible with the legacy schema (reads legacy files, zero migration). - tags-deps — tag isolation, dependency graph with cycle detection, subtasks.
- contract-shim — dependency-free JSON-RPC MCP server (5 tools) + 9-subcommand CLI +
modelsno-op shim, byte-compatible with the legacy surface. No MCP SDK — pure Node. - ai-hybrid — agent-native AI ops driven by the orchestrator host as the LLM (zero-network core; host detected via
CLAUDECODE/SPEC_FLOW_HOST_AGENT); optional minimal headless HTTP fallback, off by default. - cutover — opt-in engine flip (one-commit / one-revert), equivalence-verify go/no-go gate,
/sf:doctorcontract check, instant rollback with zero data loss.
Verification
- 776 unit tests green.
- Live equivalence diff against the real legacy CLI; sandbox flip -> doctor -> rollback rehearsal.
- Two real bugs surfaced by a live e2e and fixed:
criticalpriority parity, and an engine-router stdout leak that corrupted the agent-native stdout channel. - Benchmarked ~29x faster per task op (~2.8s npx spawn per legacy CLI call vs ~95ms native).
Not yet done (deferred operator steps — see docs/cutover-runbook.md)
The actual engine flip, the soak through real features, and removal of the legacy dependency are supervised operator steps. This release makes the native engine available and opt-in; it does not switch anyone over.