From 3254532858a80fcc4c60475183b75bc143907cea Mon Sep 17 00:00:00 2001 From: Bruno Azoulay Date: Mon, 12 Oct 2026 21:05:29 +0200 Subject: [PATCH 1/2] fix(rules): make "always delegate" consistent across rules and skills - Scope Ladder first row: 1 agent (the domain expert) + sniper, the lead never edits, even a one-line change - single canonical lead-edit exception (after 2 failed delegations on a localised, already-measured defect) used identically in AGENTS.md, fuse-global.mdc, CLAUDE.md.template, rule 03 and lead-orchestration (step 4, its Check, and the Follow relaunch cap) - apex-quick spawns ONE domain-expert subagent; the main session never edits inline - rule 02 SKIP APEX: the edit is still delegated --- .../plugins/fuse-ai-pilot/commands/apex-quick.md | 8 +++++--- .../fuse-ai-pilot/skills/lead-orchestration/SKILL.md | 6 +++--- .../plugins/fuse-rules/rules/02-apex-workflow.md | 2 +- .cursor-plugin/plugins/fuse-rules/rules/03-agent-teams.md | 7 ++++--- .../plugins/fuse-rules/templates/CLAUDE.md.template | 8 ++++---- .../plugins/fuse-rules/user-rules/fuse-global.mdc | 8 ++++---- AGENTS.md | 8 ++++---- 7 files changed, 25 insertions(+), 22 deletions(-) diff --git a/.cursor-plugin/plugins/fuse-ai-pilot/commands/apex-quick.md b/.cursor-plugin/plugins/fuse-ai-pilot/commands/apex-quick.md index 1f33661..ba15eb7 100644 --- a/.cursor-plugin/plugins/fuse-ai-pilot/commands/apex-quick.md +++ b/.cursor-plugin/plugins/fuse-ai-pilot/commands/apex-quick.md @@ -7,6 +7,8 @@ argument-hint: "" Fast-track workflow for simple bug fixes, typos, and minor changes. No multi-agent orchestration. +**The main session never edits inline.** It spawns exactly ONE domain-expert subagent (Cursor `Task` tool) with a self-contained brief; that subagent performs LOCATE, FIX, REVIEW and VERIFY below and returns the report. The main session only verifies the result on disk. + --- ## When to Use @@ -45,7 +47,7 @@ Fast-track workflow for simple bug fixes, typos, and minor changes. No multi-age └─────────────────────────────────────────────────────────┘ ``` -**Total: 4 steps, 1 expert, no handoffs** +**Total: 4 steps, 1 delegated domain-expert subagent, no handoffs** --- @@ -100,7 +102,7 @@ Quick verification: /apex-quick Fix typo in login button text ``` -**Expert executes:** +**The spawned domain-expert subagent executes:** ``` 1. LOCATE: Grep "login" → Found LoginButton.tsx:23 2. FIX: Change "Logi" → "Login" @@ -116,7 +118,7 @@ Quick verification: | Aspect | APEX Full | APEX Quick | |--------|-----------|------------| -| Agents | 3+ parallel | 1 expert | +| Agents | 3+ parallel | 1 delegated expert subagent | | Phases | 4-5 (A-P-E-L-X) | 4 (Locate-Fix-Review-Verify) | | TaskCreate | Yes | No | | Sniper | Full 6-phase | Linter only | diff --git a/.cursor-plugin/plugins/fuse-ai-pilot/skills/lead-orchestration/SKILL.md b/.cursor-plugin/plugins/fuse-ai-pilot/skills/lead-orchestration/SKILL.md index 7c10b93..838a59b 100644 --- a/.cursor-plugin/plugins/fuse-ai-pilot/skills/lead-orchestration/SKILL.md +++ b/.cursor-plugin/plugins/fuse-ai-pilot/skills/lead-orchestration/SKILL.md @@ -59,11 +59,11 @@ Fill `references/brief-template.md`: context, exact files, the owner's words quo **Check:** an agent with zero conversation context could execute it; every checklist part from step 1 appears as an acceptance criterion. ### 4. Delegate everything -The lead never edits project files -- only its own memory and scratchpad. Every edit, even one line in a skill or rule, goes to an agent. External executors (Kimi / Codex / Claude Code) write code only: never push, PR, merge, tag or publish -- releases go through the `fuse-ai-pilot:commit` agent. -**Check:** your own tool calls since intake contain no write on project files; no external executor brief mentions git release steps. +The lead never edits project files -- only its own memory and scratchpad. Every edit, even one line in a skill or rule, goes to an agent. Sole exception: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits). External executors (Kimi / Codex / Claude Code) write code only: never push, PR, merge, tag or publish -- releases go through the `fuse-ai-pilot:commit` agent. +**Check:** your own tool calls since intake contain no write on project files, except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits); no external executor brief mentions git release steps. ### 5. Follow -- the owner never asks "is it moving?" -Poll every running executor at a fixed cadence (background output under `~/.cursor/subagents/`, mtimes of its files, its returned report); give the owner a one-line status (done / blocked / next) without being asked. Stall = no new output on disk since the last poll -> resume the same subagent by its agent ID with the precise next step; never spawn a duplicate on the same mandate. Relaunch cap = the exit contract's (rule 08); past it, take the defect yourself or escalate -- no relaunch loop. Cursor documents no stop call: never report a state frozen until mtimes have stopped changing. +Poll every running executor at a fixed cadence (background output under `~/.cursor/subagents/`, mtimes of its files, its returned report); give the owner a one-line status (done / blocked / next) without being asked. Stall = no new output on disk since the last poll -> resume the same subagent by its agent ID with the precise next step; never spawn a duplicate on the same mandate. Relaunch cap: after 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits); any other blocked mandate past the 3-cycle cap → escalate to the owner with a root-cause note. Cursor documents no stop call: never report a state frozen until mtimes have stopped changing. **Check:** you can answer "where is it?" with the last measurement (time, files changed, tests), never "I don't know". ### 6. Blocks -- find the legitimate route diff --git a/.cursor-plugin/plugins/fuse-rules/rules/02-apex-workflow.md b/.cursor-plugin/plugins/fuse-rules/rules/02-apex-workflow.md index 2df0b1f..3970a0f 100644 --- a/.cursor-plugin/plugins/fuse-rules/rules/02-apex-workflow.md +++ b/.cursor-plugin/plugins/fuse-rules/rules/02-apex-workflow.md @@ -9,7 +9,7 @@ alwaysApply: true Task = create/build/feature/refactor/debug/multi-file → **consult APEX skills first**: `fuse-ai-pilot:apex` / `fuse-ai-pilot:apex-methodology` (+ `apex-quick` for trivial). The full methodology lives there, not inline here. **USE APEX:** create, implement, add, build, refactor, migrate, new component, multi-file, architecture changes -**SKIP APEX:** questions, trivial fix (1-3 lines), read-only, simple git +**SKIP APEX:** questions, trivial fix (1-3 lines), read-only, simple git — the edit is still made by one delegated agent, never by the lead **Debug/Investigation:** "why", "not working", "bug", "crash", "doesn't load" → ALWAYS use Analyze (explore-codebase + research-expert + domain-expert) — always go through Analyze, never straight to a fix **Shortcuts:** `/apex-quick` command (single-expert fast path — skips Brainstorm+Analyze+team split, linter-only verify) | `--skip-elicit` (skip eLicit, straight to eXamine) — eXamine/sniper itself is NEVER skippable (00-critical-rules) diff --git a/.cursor-plugin/plugins/fuse-rules/rules/03-agent-teams.md b/.cursor-plugin/plugins/fuse-rules/rules/03-agent-teams.md index 5fcebed..6dc7ade 100644 --- a/.cursor-plugin/plugins/fuse-rules/rules/03-agent-teams.md +++ b/.cursor-plugin/plugins/fuse-rules/rules/03-agent-teams.md @@ -5,8 +5,9 @@ alwaysApply: true ## Agent Teams -**Lead = Coordinator ONLY.** Never codes, only orchestrates. +**Lead = Coordinator ONLY.** Never codes, only orchestrates — except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits). **Procedure from owner request to verified report → skill `fuse-ai-pilot:lead-orchestration`** (intake, route, brief, follow, blocks, verify, learn, report). +**ALWAYS DELEGATE** — every edit, even one line (skills, rules, templates), goes to an agent; the lead orchestrates and verifies. Exception: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits). **Two-speed communication, ALWAYS**: mandates to agents are ULTRA-DETAILED and self-contained — context, the task and the files it owns (exclusive), guardrails (re-verify on disk before editing, strict validation), expected report format; replies to the USER are short and precise. Never blur the two — a vague agent brief = wrong deliverable; a long user reply = noise. 1. **One agent per task** - the split unit is the TASK; each task has one agent and owns the files it needs. NEVER shared edits between teammates — two tasks that must edit the same file are merged into one task or sequenced @@ -27,7 +28,7 @@ Pick the level by the WORK, not by reflex. The rules above (team min 4, mandator | Scope | Action | Why | |-------|--------|-----| -| Trivial / read-only / 1 targeted file, bounded change | Direct edit (or 1 domain-expert) + sniper. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. | +| Trivial / read-only / 1 targeted file, bounded change | 1 agent (the domain expert) + sniper — the lead never edits, even a one-line change. Read-only question → `explore-codebase` alone. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. | | Non-trivial, ONE task (mono-concern) | 1 domain-expert (+ targeted ANALYZE if it touches unknown code) + sniper/challenger. | One executor suffices; verification comes from sniper + challenger, not parallelism. | | Several tasks, SAME domain, even COUPLED | **One agent per task** — each task has one agent and owns the files it needs. Coupling is handled by the brief (shared contract stated up front), not by serializing every task onto one executor. Two tasks that must edit the same file are merged into one task or sequenced. Announce the split, don't ask. | Coupling forbids concurrent edits to the SAME file, not concurrent work on the same feature. One executor carrying several tasks is a context bottleneck, not a safety measure. | | Truly parallelizable: INDEPENDENT tasks, multi-domain, or large work with no cross-dependency | **Team of subagents, MINIMUM 4 in parallel**, NEVER 1 (1 agent = not a team). Announce the split, don't ask. | Parallelism only pays when the tasks have no dependency between them. | @@ -42,7 +43,7 @@ Pick the level by the WORK, not by reflex. The rules above (team min 4, mandator ## Anti-Patterns (FORBIDDEN) - **Sequential launches for parallel tasks** → launch the independent subagents as parallel Task calls in ONE message - **2 teammates on same file** → CONFLICT guaranteed (one overwrites the other) — merge the two tasks or sequence them -- **Lead writing code** → Lead ORCHESTRATES only (Task tool to delegate; resume a subagent by its agent ID to steer it) +- **Lead writing code** → Lead ORCHESTRATES only (Task tool to delegate; resume a subagent by its agent ID to steer it) — except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits) - **Serializing several tasks onto one executor** → SPLIT one agent per task and announce it; asking permission for every split is its own anti-pattern - **Writing to deployed dir** → ALWAYS work in dev repo, rsync after - **Destructive action inside an agent brief** → FORBIDDEN. An in-flight agent cannot be reliably countermanded (a message only reaches it when it is resumed — the original brief executes anyway). Any contestable deletion/overwrite = done by the lead AFTER user validation, never delegated in a brief diff --git a/.cursor-plugin/plugins/fuse-rules/templates/CLAUDE.md.template b/.cursor-plugin/plugins/fuse-rules/templates/CLAUDE.md.template index a076be1..84d49f2 100644 --- a/.cursor-plugin/plugins/fuse-rules/templates/CLAUDE.md.template +++ b/.cursor-plugin/plugins/fuse-rules/templates/CLAUDE.md.template @@ -17,11 +17,11 @@ - **VISUAL defect: screenshot BEFORE naming a cause.** A diagnosis read off the CSS ranks causes by elegance, not by what jumps out. - **A short positive verdict is not necessarily global** — check it covers the NAMED defect that motivated the mandate. - **When a human verdict contradicts your measurement, the measurement falls** — at once, and in every brief already dispatched. -- **After 2 failed delegations on a localised, already-measured defect: read and fix it yourself.** +- **After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits).** ## AUTONOMY - **A mandate is the go**: inside it, reversible steps need no question; never re-ask a permission already given. Irreversible → ONE binary question (Clarify rule, `00-critical-rules.md`). -- **Always delegate** — every edit, even one line (skills, rules, CLAUDE.md), goes to an agent; the lead orchestrates and verifies. +- **Always delegate** — every edit, even one line (skills, rules, templates), goes to an agent; the lead orchestrates and verifies. - **Never hand the owner a step — find the way yourself.** Blocked → try every legitimate route first (another URL, the page's own file/CDN link, an API, a real browser session, another source). Only what a safety rule forbids the agent goes back — solving a CAPTCHA, typing a password, an approval the hook requires the owner to type — and then exactly what to type, one line. - **An owner message mid-task amends the mandate** — absorb it, keep going. - **Guarantee, don't hedge.** Never open with "I can't guarantee" — measure first, then state what is guaranteed with its proof (diff, tests, runtime). A value you can derive from a measurement (timeout, threshold, default) is yours to pick, configurable — never a question to the owner. @@ -64,7 +64,7 @@ Writing style (ALWAYS): clear, concise, precise. Lead with the answer, then only **ALL 3 in ONE message. Not 1, not 2 — ALL 3. NEVER launch sequentially.** **Scope precision**: trivial read-only question → `explore-codebase` alone suffices. ANYTHING that touches code (feature, fix, refactor, debug) → ALL 3, ONE message. **NEVER use Read/Glob/Grep yourself** — delegate via `Agent` tool with `subagent_type`. You are a COORDINATOR. -**ONE exception**: the file you are about to Edit — Read it yourself first, ALWAYS (never edit an unread file). +**ONE exception**: the file you are about to Edit — Read it yourself first, ALWAYS (never edit an unread file) (except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits); otherwise the agent reads and edits). **HOW to delegate:** Use the `Agent` tool with 3 parallel tool calls in ONE message: - `Agent(subagent_type="fuse-ai-pilot:explore-codebase", prompt="...")` - `Agent(subagent_type="fuse-ai-pilot:research-expert", prompt="...")` @@ -76,7 +76,7 @@ Writing style (ALWAYS): clear, concise, precise. Lead with the answer, then only | Scope | Action | Why | |-------|--------|-----| -| Trivial / read-only / 1 targeted file, bounded change | Direct edit (or 1 domain-expert) + sniper. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. | +| Trivial / read-only / 1 targeted file, bounded change | 1 agent (the domain expert) + sniper — the lead never edits, even a one-line change. Read-only question → `explore-codebase` alone. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. | | Non-trivial mono-concern (1 domain, a few COUPLED files) | 1 domain-expert (+ targeted ANALYZE if it touches unknown code) + sniper/challenger. | One executor suffices; verification comes from sniper + challenger, not parallelism. | | Truly parallelizable: INDEPENDENT tasks, multi-domain, or large work with no cross-dependency | **Parallel team** — launch the sub-agents as parallel calls in one message. A team is **MINIMUM 4 sub-agents in parallel**, NEVER 1 (1 agent = not a team). Announce the split, don't ask. | Parallelism only pays when the tasks have no dependency between them. | | User says "team" / "crée une team" | **Spin the team up immediately** — minimum 4, no debate. | Owner's explicit call overrides the ladder. | diff --git a/.cursor-plugin/plugins/fuse-rules/user-rules/fuse-global.mdc b/.cursor-plugin/plugins/fuse-rules/user-rules/fuse-global.mdc index 818d304..012c982 100644 --- a/.cursor-plugin/plugins/fuse-rules/user-rules/fuse-global.mdc +++ b/.cursor-plugin/plugins/fuse-rules/user-rules/fuse-global.mdc @@ -23,11 +23,11 @@ alwaysApply: true - **VISUAL defect: screenshot BEFORE naming a cause.** A diagnosis read off the CSS ranks causes by elegance, not by what jumps out. - **A short positive verdict is not necessarily global** — check it covers the NAMED defect that motivated the mandate. - **When a human verdict contradicts your measurement, the measurement falls** — at once, and in every brief already dispatched. -- **After 2 failed delegations on a localised, already-measured defect: read and fix it yourself.** +- **After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits).** ## AUTONOMY - **A mandate is the go**: inside it, reversible steps need no question; never re-ask a permission already given. Irreversible → ONE binary question (Clarify rule, Non-Negotiables #5). -- **Always delegate** — every edit, even one line (skills, rules, AGENTS.md), goes to an agent; the lead orchestrates and verifies. +- **Always delegate** — every edit, even one line (skills, rules, templates), goes to an agent; the lead orchestrates and verifies. - **Never hand the owner a step — find the way yourself.** Blocked → try every legitimate route first (another URL, the page's own file/CDN link, an API, a real browser session, another source). Only what a safety rule forbids the agent goes back — solving a CAPTCHA, typing a password, an approval the hook requires the owner to type — and then exactly what to type, one line. - **An owner message mid-task amends the mandate** — absorb it, keep going. - **Guarantee, don't hedge.** Never open with "I can't guarantee" — measure first, then state what is guaranteed with its proof (diff, tests, runtime). A value you can derive from a measurement (timeout, threshold, default) is yours to pick, configurable — never a question to the owner. @@ -70,7 +70,7 @@ Writing style (ALWAYS): clear, concise, precise. Lead with the answer, then only **ALL 3 in ONE message. Not 1, not 2 — ALL 3. NEVER launch sequentially.** **Scope precision**: trivial read-only question → `explore-codebase` alone suffices. ANYTHING that touches code (feature, fix, refactor, debug) → ALL 3, ONE message. **NEVER explore the codebase yourself** — no manual file reads, no `Shell` greps, no directory listing. You are a COORDINATOR: delegate. -**ONE exception**: the file you are about to change with `Write` — read it yourself first, ALWAYS (never edit an unread file). +**ONE exception**: the file you are about to change with `Write` — read it yourself first, ALWAYS (never edit an unread file) (except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits); otherwise the agent reads and edits). **HOW to delegate:** spawn the three sub-agents in ONE message, in parallel, each with its own `subagent_type` and a self-contained brief. ### Execution Strategy @@ -79,7 +79,7 @@ Writing style (ALWAYS): clear, concise, precise. Lead with the answer, then only | Scope | Action | Why | |-------|--------|-----| -| Trivial / read-only / 1 targeted file, bounded change | Direct edit (or 1 domain-expert) + sniper. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. | +| Trivial / read-only / 1 targeted file, bounded change | 1 agent (the domain expert) + sniper — the lead never edits, even a one-line change. Read-only question → `explore-codebase` alone. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. | | Non-trivial, ONE task (mono-concern; 1 domain, a few COUPLED files) | 1 domain-expert (+ targeted ANALYZE if it touches unknown code) + sniper/challenger. | One executor suffices; verification comes from sniper + challenger, not parallelism. | | Several tasks, SAME domain, even COUPLED | **One agent per task** — each task has one agent and owns the files it needs; coupling is handled by the brief (shared contract stated up front). Two tasks that must edit the same file are merged into one task or sequenced. Announce the split, don't ask. | Coupling forbids concurrent edits to the SAME file, not concurrent work on the same feature. | | Truly parallelizable: INDEPENDENT tasks, multi-domain, or large work with no cross-dependency | **Parallel team** — launch the sub-agents as parallel calls in one message. A team is **MINIMUM 4 sub-agents in parallel**, NEVER 1 (1 agent = not a team). Announce the split, don't ask. | Parallelism only pays when the tasks have no dependency between them. | diff --git a/AGENTS.md b/AGENTS.md index 0e1d1f8..53f4360 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -19,11 +19,11 @@ - **VISUAL defect: screenshot BEFORE naming a cause.** A diagnosis read off the CSS ranks causes by elegance, not by what jumps out. - **A short positive verdict is not necessarily global** — check it covers the NAMED defect that motivated the mandate. - **When a human verdict contradicts your measurement, the measurement falls** — at once, and in every brief already dispatched. -- **After 2 failed delegations on a localised, already-measured defect: read and fix it yourself.** +- **After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits).** ## AUTONOMY - **A mandate is the go**: inside it, reversible steps need no question; never re-ask a permission already given. Irreversible → ONE binary question (Clarify rule, Non-Negotiables #5). -- **Always delegate** — every edit, even one line (skills, rules, AGENTS.md), goes to an agent; the lead orchestrates and verifies. +- **Always delegate** — every edit, even one line (skills, rules, templates), goes to an agent; the lead orchestrates and verifies. - **Never hand the owner a step — find the way yourself.** Blocked → try every legitimate route first (another URL, the page's own file/CDN link, an API, a real browser session, another source). Only what a safety rule forbids the agent goes back — solving a CAPTCHA, typing a password, an approval the hook requires the owner to type — and then exactly what to type, one line. - **An owner message mid-task amends the mandate** — absorb it, keep going. - **Guarantee, don't hedge.** Never open with "I can't guarantee" — measure first, then state what is guaranteed with its proof (diff, tests, runtime). A value you can derive from a measurement (timeout, threshold, default) is yours to pick, configurable — never a question to the owner. @@ -66,7 +66,7 @@ Writing style (ALWAYS): clear, concise, precise. Lead with the answer, then only **ALL 3 in ONE message. Not 1, not 2 — ALL 3. NEVER launch sequentially.** **Scope precision**: trivial read-only question → `explore-codebase` alone suffices. ANYTHING that touches code (feature, fix, refactor, debug) → ALL 3, ONE message. **NEVER explore the codebase yourself** — no manual file reads, no `Shell` greps, no directory listing. You are a COORDINATOR: delegate. -**ONE exception**: the file you are about to change with `Write` — read it yourself first, ALWAYS (never edit an unread file). +**ONE exception**: the file you are about to change with `Write` — read it yourself first, ALWAYS (never edit an unread file) (except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits); otherwise the agent reads and edits). **HOW to delegate:** spawn the three sub-agents in ONE message, in parallel, each with its own `subagent_type` and a self-contained brief. ### Execution Strategy @@ -75,7 +75,7 @@ Writing style (ALWAYS): clear, concise, precise. Lead with the answer, then only | Scope | Action | Why | |-------|--------|-----| -| Trivial / read-only / 1 targeted file, bounded change | Direct edit (or 1 domain-expert) + sniper. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. | +| Trivial / read-only / 1 targeted file, bounded change | 1 agent (the domain expert) + sniper — the lead never edits, even a one-line change. Read-only question → `explore-codebase` alone. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. | | Non-trivial, ONE task (mono-concern; 1 domain, a few COUPLED files) | 1 domain-expert (+ targeted ANALYZE if it touches unknown code) + sniper/challenger. | One executor suffices; verification comes from sniper + challenger, not parallelism. | | Several tasks, SAME domain, even COUPLED | **One agent per task** — each task has one agent and owns the files it needs; coupling is handled by the brief (shared contract stated up front). Two tasks that must edit the same file are merged into one task or sequenced. Announce the split, don't ask. | Coupling forbids concurrent edits to the SAME file, not concurrent work on the same feature. | | Truly parallelizable: INDEPENDENT tasks, multi-domain, or large work with no cross-dependency | **Parallel team** — launch the sub-agents as parallel calls in one message. A team is **MINIMUM 4 sub-agents in parallel**, NEVER 1 (1 agent = not a team). Announce the split, don't ask. | Parallelism only pays when the tasks have no dependency between them. | From 0722ca8aa2745f1718037b0235f8381dce522b0b Mon Sep 17 00:00:00 2001 From: Bruno Azoulay Date: Mon, 12 Oct 2026 21:06:07 +0200 Subject: [PATCH 2/2] chore: bump marketplace and CHANGELOG to 0.1.7 --- .cursor-plugin/marketplace.json | 6 +++--- .../fuse-ai-pilot/.cursor-plugin/plugin.json | 2 +- .../plugins/fuse-rules/.cursor-plugin/plugin.json | 2 +- CHANGELOG.md | 15 +++++++++++++++ README.md | 2 +- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 09d28c3..5b75c29 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -6,7 +6,7 @@ }, "metadata": { "description": "Professional Cursor plugins with APEX workflow, SOLID principles, and expert development agents for Next.js, Laravel, Swift, Tailwind CSS, and more", - "version": "0.1.6" + "version": "0.1.7" }, "plugins": [ { @@ -36,7 +36,7 @@ "name": "fuse-ai-pilot", "source": ".cursor-plugin/plugins/fuse-ai-pilot", "description": "AI Pilot workflow agents: sniper (code quality), research-expert, explore-codebase, websearch", - "version": "1.2.42", + "version": "1.2.43", "author": { "name": "Fusengine", "email": "hello@fusengine.ch" @@ -346,7 +346,7 @@ "name": "fuse-rules", "source": ".cursor-plugin/plugins/fuse-rules", "description": "Global rules for all sessions: APEX workflow, SOLID/DRY enforcement, project detection, agent delegation, frontend/git standards", - "version": "1.0.22", + "version": "1.0.23", "author": { "name": "Fusengine" }, diff --git a/.cursor-plugin/plugins/fuse-ai-pilot/.cursor-plugin/plugin.json b/.cursor-plugin/plugins/fuse-ai-pilot/.cursor-plugin/plugin.json index 51d60e6..a10280d 100644 --- a/.cursor-plugin/plugins/fuse-ai-pilot/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugins/fuse-ai-pilot/.cursor-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "fuse-ai-pilot", - "version": "1.2.42", + "version": "1.2.43", "description": "AI Pilot workflow agents: sniper (code quality), research-expert, explore-codebase, websearch", "author": { "name": "Fusengine", diff --git a/.cursor-plugin/plugins/fuse-rules/.cursor-plugin/plugin.json b/.cursor-plugin/plugins/fuse-rules/.cursor-plugin/plugin.json index 90eb85b..02a7d17 100644 --- a/.cursor-plugin/plugins/fuse-rules/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugins/fuse-rules/.cursor-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "fuse-rules", - "version": "1.0.22", + "version": "1.0.23", "description": "Global rules for all agent sessions: APEX workflow, SOLID/DRY enforcement, project detection, agent delegation, frontend/git standards", "author": { "name": "Fusengine" diff --git a/CHANGELOG.md b/CHANGELOG.md index 4da7dce..6a7eb8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [0.1.7] - 12-10-2026 + +- fix(rules): "always delegate" made consistent — Scope Ladder first row is + now "1 agent (the domain expert) + sniper — the lead never edits, even a + one-line change"; a single canonical lead-edit exception (after 2 failed + delegations on a localised, already-measured defect) used identically in + `AGENTS.md`, `user-rules/fuse-global.mdc`, `templates/CLAUDE.md.template`, + rule 03 and the fuse-ai-pilot `lead-orchestration` skill (step 4, its Check, + and the Follow relaunch cap); `apex-quick` spawns ONE domain-expert subagent + and the main session never edits inline; rule 02 SKIP APEX states the edit + is still delegated +- chore(plugins): PATCH bump, mirrored in `.cursor-plugin/marketplace.json` — + fuse-ai-pilot 1.2.43, fuse-rules 1.0.23 +- chore(marketplace): suite `metadata.version` 0.1.6 → 0.1.7, README version badge updated + ## [0.1.6] - 12-10-2026 - feat(port): port claude-plugins improvements adapted to Cursor — new diff --git a/README.md b/README.md index 9683674..cf65cd8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Fusengine Cursor Plugins -![version](https://img.shields.io/badge/version-0.1.6-blue?style=flat-square) +![version](https://img.shields.io/badge/version-0.1.7-blue?style=flat-square) ![plugins](https://img.shields.io/badge/plugins-24-brightgreen?style=flat-square) ![runtime](https://img.shields.io/badge/runtime-Cursor%20CLI-black?style=flat-square) ![License: MIT](https://img.shields.io/badge/License-MIT-yellow?style=flat-square)