You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(skill): MCP-first backend resolution (Phase 0) + dual op tables
The skill never used the engine's MCP server in real sessions: MCP tool
schemas are deferred in Claude Code (need a ToolSearch load before they
are callable), the SKILL.md allowed-tools gate excluded both ToolSearch
and the mcp__* tools, and every instruction site hardcoded script.py.
The model checked "is engine_preflight available?", saw nothing
callable, and silently took the CLI fallback every run.
- SKILL.md: new mandatory "Phase 0: Engine Backend Resolution" — load
the engine tools via ToolSearch (select by id, keyword fallback),
announce MCP-mode vs CLI-mode, and forbid script.py for MCP-covered
ops while in MCP-mode; allowed-tools now include ToolSearch +
mcp__atlas-engine + both plugin-scoped server ids
- SKILL.md: "Script Commands Reference" + "Backend operations" merged
into one normative dual-column "Engine operations" table (op -> MCP
tool -> script.py), plus an explicit script/agent-only table
- phases/GENERATE.md, phases/HANDOFF.md: MCP-mode route above every
CLI call site, with verified tool parameter names (load_template,
validate_prd, calc_tasks, parse_prd, tm_parallel_expand,
detect_capabilities, next_task, set_task_status)
- install.sh: /atlas alias skill heredoc gets the same allowed-tools
superset and a do-not-skip-Phase-0 instruction
- skills/*/SKILL.md (9 bundled plugin skills): same allowed-tools
additions; go orchestrator gets the deferred-tools ToolSearch note
CLI-mode stays first-class for codex/gemini and zero-dependency
installs; script.py behavior is unchanged.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This table is normative — instruction sites reference operations by name.
201
-
202
-
| Operation | Command (both backends) | Notes |
203
-
|-----------|--------------------------|-------|
204
-
|`init`|`script.py init-project`|`taskmaster` backend wraps native TaskMaster initialization safely; `native` backend uses direct API initialization or returns `agent_action_required`. |
205
-
|`parse-prd`|`script.py parse-prd --input <path> --num-tasks N [--tag]`|`taskmaster` backend wraps native TaskMaster PRD parsing; `native` backend uses direct API parsing or returns `agent_action_required`. |
206
-
|`rate`|`script.py rate [--tag] [--no-research]`|`taskmaster` backend wraps native TaskMaster complexity/rating; `native` backend uses direct API rating or returns `agent_action_required`. |
207
-
|`expand`|`script.py expand [--id N ...] [--no-research] [--tag]`|`taskmaster` backend wraps native TaskMaster expansion, including `tm-parallel` for expand; `native` backend uses direct API expansion or returns `agent_action_required`. |
208
-
|`next`|`script.py next-task [--tag]`| Engine-native under every backend; next/set-status are engine-native under every backend. |
209
-
|`set-status`|`script.py set-status --id <id> --status <status> [--tag]`| Engine-native under every backend; next/set-status are engine-native under every backend. |
261
+
|`economy-report`| Summarize telemetry per (op_class, model) |
210
262
211
263
## Parallel Research & Complexity
212
264
@@ -290,3 +342,4 @@ All commands default `--tag` to `.taskmaster/state.json` currentTag and run from
290
342
7. Phase files must be Read explicitly — they are not auto-loaded
291
343
8. Native/free provider defaults are enforced by `configure-providers`; do not drift back to paid Anthropic/Perplexity APIs unless native/free routes are unavailable
292
344
9. Perplexity API Free research must be normalized through `parallel-apply`; native TaskMaster research is only acceptable when it returns valid structured output and validation passes
345
+
10. Phase 0 backend resolution is mandatory — in MCP-mode, script.py is forbidden for any op that has an MCP tool in the resolved prefix
0 commit comments