Introduce plan manager to bootstrap files#78
Conversation
Rosetta Triage ReviewSummary: This PR refactors the Rosetta bootstrap rules across all four plugin IDEs (Claude, Codex, Copilot, Cursor) and Findings:
Suggestions:
Automated triage by Rosetta agent |
isolomatov-gd
left a comment
There was a problem hiding this comment.
I have commented on one file, but it applies to everything.
We must properly review original content vs the result.
Moreover, We are repeating the same thing, I suggest to fix only one file, once it is done, reuse it for all other cases.
| { | ||
| "id": "s-subagent-contract", | ||
| "name": "Execute subagent contract", | ||
| "prompt": "USE SKILL `subagent-contract` as first action before reading inputs or starting execution. Orchestrator request → read get_context_instructions schema (if needed) → get_context_instructions (if not done yet) → execute all prep steps for subagent → proceed with remaining actions. Perform execution todo tasks level planning. MUST execute todo tasks and adopt changes. Proceed with request and activities.", |
There was a problem hiding this comment.
This prompt is partially correct. Check it out. Please spend time on actually reading and understanding what it says. This prompt changed overall the process. Don't use AI, do it yourself.
Some things should be in this plan, but some things should NOT.
Example: request → read get_context_instructions schema (if needed) → get_context_instructions (if not done yet) → execute all prep steps for subagent → proceed with remaining actions. this is overall flow, why is it in the prompt of the specific step?
How to make AI to properly address that:
- Make AI read original prompt, ask it to identify the purpose of EACH line.
- Ask it to classify what is the step and what is explanation, or any other category
- Ask it to summarize steps as one JSON and keep wording as-is. And to keep the rest AS-IS.
- Ask it now to add all optional steps
- Ask AI to provide rules which will say which optional steps is for which condition.
- Update, and review what actually the purpose of each step.
- Ask it to review if anything is lost.
Please do not directly ask AI to do something, as it will provide a bad results.
| "steps": [ | ||
| { | ||
| "id": "s-subagent-contract", | ||
| "name": "Execute subagent contract", |
There was a problem hiding this comment.
LOAD instead of EXECUTE?
There was a problem hiding this comment.
Thank you for pointing, I'll replace it to 'load'
| "steps": [ | ||
| { | ||
| "id": "s-orchestrator-contract", | ||
| "name": "Execute orchestrator contract", |
There was a problem hiding this comment.
Thank you! I will replace
| { | ||
| "id": "s-select-workflow", | ||
| "name": "Select and load workflow", | ||
| "prompt": "ACQUIRE matching workflow from available workflows list and FULLY EXECUTE its definition for ALL request sizes. Workflow upserts its own phases/steps into the plan. In planning mode, persist workflow tag for execution continuation. In planning mode, store planning and tech-specs results according to system prompt (NOT in plans folder as it is read-only).", |
There was a problem hiding this comment.
I see workflow twice.
There was a problem hiding this comment.
Yes, you're right. Thank you for highlighting! This step should be removed at all as we have selection workflow in s-orchestrator-contract step
…ow selection into orchestrator contract, and clarify agent/subagent self-initialization.
|
@isolomatov-gd I’ve introduced changes only to the bootstrap files in instructions/r3/rules. If this version is approved, I’ll apply the same changes to the plugin folder. |
|
/rosetta Please check consistency |
Rosetta Consistency CheckResponding to ✅ Plugin-to-Plugin ParityAll four plugin directories (
|
| # | Issue | Severity | Location |
|---|---|---|---|
| 1 | Duplicate "Trust Rosetta" points 17 & 18 | Medium | r3/rules/bootstrap.md:57-58, r3/rules/local-files-mode.md:50-51 |
| 2 | s-select-workflow step missing in r3 canonical |
High | r3/rules/bootstrap-core-policy.md |
| 3 | s-subagent-contract depends_on mismatch |
High | r3/rules/bootstrap-core-policy.md vs plugins |
| 4 | Missing space too.Reevaluate in s-request-size prompt |
Low | All 4 plugin bootstrap-core-policy.md |
| 5 | Step name "Load" vs "Execute" inconsistency | Low | r3/rules/bootstrap-core-policy.md |
| 6 | Unclosed ] in s-orchestrator-contract prompt |
Low | All 4 plugin bootstrap-core-policy.md |
| 7 | Single-quote + extra space in s-context prompt |
Low | r3/rules/local-files-mode.md:28 |
| 8 | Missing trailing newline | Trivial | CLAUDE.md |
Items #2 and #3 are the most impactful — they indicate the r3 canonical files and the plugin files have diverged in bootstrap-core-policy.md, with the plugin version appearing more complete/correct. The r3 canonical may need to be updated to match the plugin version for these two points.
Automated consistency check by Rosetta agent
|
|
||
| 1. USE SKILL `plan-manager` — CLI: `npx rosettify plan <subcommand> <plan_file> [args...]` | ||
| 2. Create plan file at `plans/<FEATURE>/plan.json` (derive FEATURE from user request; use `session` if unclear) | ||
| 3. Create plan with the starter template below — fill `[PLACEHOLDERS]` from user request context: |
There was a problem hiding this comment.
PLAN_MANAGER create plans/<FEATURE>/plan.json .....
Signed-off-by: isolomatov-gd <isolomatov@griddynamics.com>
Signed-off-by: isolomatov-gd <isolomatov@griddynamics.com>
Signed-off-by: isolomatov-gd <isolomatov@griddynamics.com>
Signed-off-by: isolomatov-gd <isolomatov@griddynamics.com>
Signed-off-by: isolomatov-gd <isolomatov@griddynamics.com>
Signed-off-by: isolomatov-gd <isolomatov@griddynamics.com>
Signed-off-by: isolomatov-gd <isolomatov@griddynamics.com>
| @@ -1,3 +1,3 @@ | |||
| --- | |||
| name: plan-manager | |||
| description: "Rosetta skill for plan creation, tracking, and execution coordination via local JSON files." | |||
There was a problem hiding this comment.
The description differs from the instructions in r3/core/skills/plan-manager/SKILL.md. I assume it needs to be updated here as well.
| - CLI: `npx rosettify plan <subcommand> <plan_file> [args...]` | ||
| - Try `rosettify` MCP first (if already available), fallback to CLI: `npx rosettify@latest plan <subcommand> <plan_file> [args...]`, fallback to todo tasks (if none available) | ||
| - Always use full absolute paths for the plan file | ||
| - Seven subcommands: `help`, `create`, `next`, `update_status`, `show_status`, `query`, `upsert` |
There was a problem hiding this comment.
There's a list of valid command in rosettify/dist/commands/plan/index.js:
const VALID_SUBCOMMANDS = [
"create",
"next",
"update_status",
"show_status",
"query",
"upsert",
];
There's no 'help' command. I think we should delete it as it was done in instructions/r2/core/skills/plan-manager/SKILL.md.
| - CLI: `npx rosettify@latest plan <subcommand> <plan_file> [args...]` | ||
| - Always use full absolute paths for the plan file | ||
| - Seven subcommands: `help`, `create`, `next`, `update_status`, `show_status`, `query`, `upsert` | ||
| - Seven subcommands for `plan` command: `create`, `next`, `update_status`, `show_status`, `query`, `upsert` |
There was a problem hiding this comment.
Only six subcommands are listed for the plan command (create, next, update_status, show_status, query, and upsert), so “Seven” should be changed to “Six” for consistency.
| @@ -27,7 +27,7 @@ Match to cognitive demand. Match to current tool. | |||
|
|
|||
| <plan_manager> | |||
There was a problem hiding this comment.
I think the tag name should be changed from plan_manager to operation_manager instead
|
|
||
| Step 0: Load `get_context_instructions` | ||
|
|
||
| Step 1: Create and use an execution plan file at `plans/<FEATURE>/plan.json` using the following JSON input (fill `[PLACEHOLDERS]`, derive FEATURE from user request; use `session` if unclear): |
There was a problem hiding this comment.
Why isn’t USE SKILL plan-manager mentioned here or in any other bootstrap files? I assumed this skill was designed specifically for situations like creating, tracking, and executing plans.
| <validation_checklist> | ||
|
|
||
| - `npx rosettify plan help` exits without error and returns structured help JSON | ||
| - `npx rosettify@latest plan help` exits without error and returns structured help JSON |
There was a problem hiding this comment.
help command isn't valid and was removed from core_concepts. It should be removed here as well
| <validation_checklist> | ||
|
|
||
| - `npx rosettify plan help` exits without error and returns structured help JSON | ||
| - `npx rosettify@latest plan help` exits without error and returns structured help JSON |
There was a problem hiding this comment.
help command isn't valid and should be removed
|
|
||
| # Phase 0: Initialize Operation manager | ||
|
|
||
| Step 0: Load `get_context_instructions` |
There was a problem hiding this comment.
Why is get_context_instructions loaded as Step 0, before the plan is created? I thought that the first action should always be creating the plan, with get_context_instructions as its first tracked step (s-context). I could assume that the current structure could give the agent an escape hatch: it can call get_context_instructions directly in Step 0, execute all returned prep steps inline, without creating a plan.
| - `ACQUIRE <file[.md]> ABOUT <PROJECT>` => read local file in `docs/<PROJECT>` folder | ||
| - `QUERY <KEYWORDS> IN <PROJECT>` => use grep or codebase search in `docs/<PROJECT>` with KEYWORDS as a query or file name | ||
| - `STORE <file[.md]> TO <PROJECT>` => upsert file in `docs/<PROJECT>` | ||
| - `call "get_context_instructions"` or `execute prep steps` => read all `instructions/r2/core/rules/bootstrap-*.md` files as one bundle |
There was a problem hiding this comment.
Should be replaced by instructions/r3/core/rules/bootstrap-*.md
| **Local File Operations** (overrides Rosetta MCP for these operations): | ||
|
|
||
| - `get_context_instructions` => already loaded bootstrap-* instructions, continue with prep steps 2 and 3. Instruct subagents to not call MCP's `get_context_instructions`. | ||
| - `get_context_instructions` => already loaded, continue with prep steps 2 and 3. Instruct subagents to not call Rosetta MCP. |
There was a problem hiding this comment.
There're no more prep steps 2 and 3. Maybe we should replace it to
continue with "ph-prep" steps. What do you think about it?
| @@ -1,4 +1,3 @@ | |||
|
|
|||
| --- | |||
There was a problem hiding this comment.
This file should be updated as well according to bootstrap.md file
| @@ -0,0 +1,25 @@ | |||
| { | |||
There was a problem hiding this comment.
I assume that we don't need to commit this file. Should we put plans/session/plan.json to .gitignore?
Signed-off-by: isolomatov-gd <isolomatov@griddynamics.com>
No description provided.