sdd-mcp-server 5.1.1 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,7 +5,27 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
8
+ ## [5.3.0] - 2026-10-02
9
+
10
+ ### Changed
11
+ - Review, security-check, and multi-slice implementation skills ask once per session whether to run inline or use project agents (only when agents are installed); planning skills never ask and Codex planning skills no longer auto-delegate.
12
+ - Executing skills now report mode, agents started, parallelism, configured model/effort, and fallbacks; README and Model Routing document profile-to-agent availability and how to verify.
13
+ - Installed root guidance (`CLAUDE.md`/`AGENTS.md`) and the `sdd-commit` skill now forbid `Co-Authored-By:` trailers and "Generated with Claude Code" lines in commits and pull requests.
14
+
15
+ ### Documentation
16
+ - Document profile-to-agent availability and host-specific verification: Claude Code `/tasks`, per-subagent transcripts, and `SubagentStart`/`SubagentStop` hooks; Codex and OMP rely on the execution report.
17
+ - Add the 5.2.0-to-5.3.0 upgrade path.
18
+
19
+ ## [5.2.0] - 2026-09-29
20
+
21
+ ### Changed
22
+ - Default role routes now pin Claude Code skills/agents to `claude-opus-5-5`/high for advisory work and `claude-sonnet-5-5`/medium for implementation/TDD; Codex and OMP use GPT-6 Sol/xhigh and GPT-6 Luna/medium respectively.
23
+
24
+ ### Fixed
25
+ - Route invoked OMP SDD skills through a project extension that applies their configured model and thinking level for the turn and restores the prior session route afterward; Claude Code continues to use native skill model/effort frontmatter.
26
+
27
+ ### Documentation
28
+ - Document Claude Code 2.1.284 as the minimum version for both pinned 5.5 skill defaults and the 5.1.1-to-5.2.0 installer upgrade path.
9
29
 
10
30
  ## [5.1.1] - 2026-09-28
11
31
 
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  A Model Context Protocol server and target-native installer for governed Spec-Driven Development (SDD) in Claude Code, Codex, and Oh My Pi (OMP).
7
7
 
8
- > **v5.1.1** — Documents the source-checkout installer invocation. The v5.1.0 personal setup, project-scoped SDD model/effort overrides, and preserve-first target-native installation remain unchanged.
8
+ > **v5.3.0** — Review, security, and multi-slice implementation skills ask once per session whether to run inline or use project agents, and every skill reports agents, parallelism, configured model/effort, and fallbacks. Installed guidance forbids commit/PR attribution lines. Claude Code requires 2.1.284+ for the pinned 5.5 defaults.
9
9
 
10
10
  ## Why sdd-mcp?
11
11
 
@@ -40,13 +40,26 @@ OMP defaults to `~/.omp/agent`; named profiles need their own setup. [The instal
40
40
 
41
41
  Global setup changes **no Claude permission file** and installs no root guidance, agents, rules, hooks, steering, or repository files. These are local-machine assets, not Claude cloud/Cowork Skills. Reload the host and accept its normal trust/permission prompts.
42
42
 
43
- From a directory without a shadowing project registration, verify `claude mcp get sdd-mcp`, `codex mcp get sdd-mcp`, or OMP `/mcp test sdd-mcp`. Existing project-scoped `sdd-mcp` entries still take precedence; remove only that project entry yourself if you want the personal runtime. Skill precedence is separate and host-specific. Global setup never scans or migrates repositories.
43
+ From a directory that is not this package checkout and has no shadowing project registration, verify `claude mcp get sdd-mcp`, `codex mcp get sdd-mcp`, or OMP `/mcp test sdd-mcp`. Two local conditions make that check fail even after a successful `setup-global`:
44
44
 
45
- The repository installer below remains an **optional team/project-scoped alternative**, not a required follow-up.
45
+ - A project `install` in this checkout writes `.mcp.json`, `.codex/config.toml`, or `.omp/mcp.json`. Those same-name entries hide the personal runtime. Remove only the project's `sdd-mcp` entry; setup does not do that.
46
+ - While the host's working directory is this checkout, the pinned `npx -y sdd-mcp-server@<version>` command exits with `sh: sdd-mcp-server: command not found` before the handshake. npm resolves the package name to this tree, and `npm install` does not put this package's own bin on `PATH`. After `npm install && npm run build`, link it once:
47
+
48
+ ```bash
49
+ mkdir -p node_modules/.bin
50
+ printf '%s\n' '#!/bin/sh' 'cd "$(dirname "$0")/../.." && exec node ./sdd-entry.js "$@"' > node_modules/.bin/sdd-mcp-server
51
+ chmod +x node_modules/.bin/sdd-mcp-server
52
+ ```
53
+
54
+ Reload the host after that link. Any other project directory can use the published command without it. An older user server named `sdd` is not this entry; remove it with `claude mcp remove sdd -s user` if Claude reports `ENOENT` for a bare `sdd-mcp-server` executable.
55
+
56
+ Existing project-scoped `sdd-mcp` entries still take precedence; remove only that project entry yourself if you want the personal runtime. Skill precedence is separate and host-specific. Global setup never scans or migrates repositories.
57
+
58
+ The repository installer below remains an **optional team/project-scoped alternative**, not a required follow-up. Do not run it in this checkout when the goal is personal scope.
46
59
 
47
60
  ## New project installation
48
61
 
49
- Use this path when the repository has never had sdd-mcp-generated guidance. The `npx` commands below run from the **destination project's root**, not from this `sdd-mcp-server` source checkout; use the checkout commands below instead if installing into this repository.
62
+ Use this path when the repository has never had sdd-mcp-generated guidance. The `npx` commands below run from the **destination project's root**, not from this `sdd-mcp-server` source checkout. Running them here, or running the local `install` entrypoint here, registers a project server that hides personal setup.
50
63
 
51
64
  1. Open a terminal at the project root.
52
65
  2. Choose the host that will execute the workflow.
@@ -54,15 +67,15 @@ Use this path when the repository has never had sdd-mcp-generated guidance. The
54
67
 
55
68
  ```bash
56
69
  # Recommended explicit lean installation
57
- npx sdd-mcp-server@5.1.1 install --profile lean --target claude-code
58
- npx sdd-mcp-server@5.1.1 install --profile lean --target codex
59
- npx sdd-mcp-server@5.1.1 install --profile lean --target omp
70
+ npx sdd-mcp-server@5.3.0 install --profile lean --target claude-code
71
+ npx sdd-mcp-server@5.3.0 install --profile lean --target codex
72
+ npx sdd-mcp-server@5.3.0 install --profile lean --target omp
60
73
 
61
74
  # Interactive full installation: choose Claude Code, Codex, or OMP
62
- npx sdd-mcp-server@5.1.1 install --profile full
75
+ npx sdd-mcp-server@5.3.0 install --profile full
63
76
  ```
64
77
 
65
- In this package's source checkout, the pinned `npx` command can fail with `sh: sdd-mcp-server: command not found`. The published executable was verified from a separate project, so use the local entrypoint when installing into the checkout. Build it once from the checkout root:
78
+ Use the local entrypoint only when this checkout itself is the intended project install. It does not repair personal runtime connection. Build once, then install explicitly:
66
79
 
67
80
  ```bash
68
81
  npm install
@@ -72,7 +85,7 @@ node ./sdd-entry.js install --profile lean --target omp
72
85
  node ./sdd-entry.js install --profile full
73
86
  ```
74
87
 
75
- Do not use `--refresh-generated` for a new project. A normal installation records package ownership in `.sdd-mcp/install-manifest.json` and registers the hidden project runtime.
88
+ Do not use `--refresh-generated` for a new project. A normal installation records package ownership in `.sdd-mcp/install-manifest.json` and registers the project runtime. That registration is what a host in this directory will prefer over `setup-global`.
76
89
 
77
90
  After installation, restart or reload the host and accept its project trust prompt. Then invoke the native requirements Skill with a feature name and goal; the Skill initializes or resumes durable state automatically.
78
91
 
@@ -85,11 +98,11 @@ Optionally create `models.yaml` in the project root and pass it on each install:
85
98
  ```yaml
86
99
  modelRoles:
87
100
  planner:
88
- claudeCode: { model: opus, effort: high }
101
+ claudeCode: { model: claude-opus-5-5, effort: high }
89
102
  codex: openai-codex/gpt-6-sol:high
90
103
  omp: openai-codex/gpt-6-sol:high
91
104
  implementer:
92
- claudeCode: { model: sonnet, effort: medium }
105
+ claudeCode: { model: claude-sonnet-5-5, effort: medium }
93
106
  codex: openai-codex/gpt-6-luna:max
94
107
  omp: openai-codex/gpt-6-luna:max
95
108
  ```
@@ -126,6 +139,8 @@ Approvals and optional test-case review are explicit questions inside the releva
126
139
 
127
140
  Claude Code and Codex lean profiles install skills, steering, and their supported hook guidance. OMP lean installs skills, steering, and agents. Full profiles add rules, contexts, and agents as supported by each host. OMP does not install Markdown as an executable hook; `--target omp --hooks` fails with an explanation.
128
141
 
142
+ **Project agents and execution mode.** Whether a skill can use project agents depends on the profile. With no agents installed (Claude Code/Codex `lean`) every skill runs inline and does not ask. With agents installed (`full`; OMP always), `sdd-review`, `sdd-security-check`, and any run with at least two independent implementation slices ask once per session: inline or project agent. Planning skills (requirements, design, tasks, steering) never ask. Every skill reports the mode, agents started, parallelism, configured model/effort, and fallbacks; see [Model Routing](docs/MODEL-ROUTING.md#execution-mode-and-reporting) to verify on each host. SDD agents are subagents, not the Claude Code `/advisor` tool.
143
+
129
144
  See [Installation Guide](docs/INSTALL-GUIDE.md) and [Model Routing](docs/MODEL-ROUTING.md).
130
145
 
131
146
  ## Upgrade from sdd-mcp 3.x or 4.x
@@ -138,7 +153,7 @@ Use this path when the project already contains generated sdd-mcp files from an
138
153
 
139
154
  ```bash
140
155
  # Replace <target> with claude-code, codex, or omp
141
- npx sdd-mcp-server@5.1.1 install \
156
+ npx sdd-mcp-server@5.3.0 install \
142
157
  --profile full \
143
158
  --target <target> \
144
159
  --refresh-generated
@@ -194,7 +209,7 @@ Three-run fresh-session A/B comparisons used comparable provider-reported median
194
209
 
195
210
  ## Routing summary
196
211
 
197
- Claude executes a skill in the current turn with its configured model and effort (default Opus/high for high-level work and Sonnet/medium for implementation/TDD); installed Claude subagents have matching metadata. Codex may request one configured custom advisor for high-level work; its agent metadata does not change the parent turn. OMP runs high-level work inline on the parent by default: real A/B showed automatic child requests increased median cost. OMP’s `.omp/agents` advisors are explicit opt-in only, allow one child, and cannot nest or retry. Implementation, TDD, and simple tasks remain inline unless genuinely independent parallel slices justify delegation.
212
+ Claude executes a skill in the current turn with its configured model and effort (default Claude Opus 5.5/high for high-level work and Claude Sonnet 5.5/medium for implementation/TDD); installed Claude subagents have matching metadata. Codex runs inline by default and may use one configured GPT-6 Sol/xhigh custom agent for review and security after the user chooses it once per session; its agent metadata does not change the parent turn. OMP executes invoked SDD skills inline, with the installed `.omp/extensions/sdd-skill-routing.js` switching the parent to the configured model/thinking level (GPT-6 Sol/xhigh for high-level work, GPT-6 Luna/medium for implementation/TDD) for the turn and restoring it afterward. OMP’s `.omp/agents` advisors remain explicit opt-in only, allow one child, and cannot nest or retry. Implementation, TDD, and simple tasks remain inline unless genuinely independent parallel slices justify delegation.
198
213
 
199
214
  See [docs/MODEL-ROUTING.md](docs/MODEL-ROUTING.md) for enforcement and fallback boundaries.
200
215
 
@@ -552,10 +552,10 @@ After installation, invoke the selected host's skills:
552
552
  Continue with sdd-design, sdd-tasks, and sdd-implement after each approval.
553
553
 
554
554
  Model Routing (defaults; override generated SDD roles with --model-roles):
555
- Codex custom agents: gpt-5.6-sol (xhigh advisor, medium implementation/TDD)
556
- Claude Code skills and agents: opus/high advisor, sonnet/medium implementation/TDD
557
- OMP project agents: gpt-5.6-sol (xhigh advisor, medium implementation/TDD)
558
- Inline Codex/OMP parent and generic host agents are not reconfigured.
555
+ Codex custom agents: gpt-6-sol/xhigh advisors, gpt-6-luna/medium implementation/TDD
556
+ Claude Code skills and agents: claude-opus-5-5/high advisors, claude-sonnet-5-5/medium implementation/TDD
557
+ OMP invoked skills and opt-in project agents: openai-codex/gpt-6-sol/xhigh advisors, openai-codex/gpt-6-luna/medium implementation/TDD
558
+ Inline Codex and generic host agents are not reconfigured; OMP skills require the installed extension.
559
559
  `;
560
560
  }
561
561
  }
@@ -66,96 +66,96 @@ export declare class CliUsageError extends Error {
66
66
  export declare class InstallCancelledError extends Error {
67
67
  constructor();
68
68
  }
69
- export declare const SUPPORTED_CODEX_MODELS: readonly ["gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"];
70
- export declare const DEFAULT_CODEX_MODEL: "gpt-5.6-sol";
69
+ export declare const SUPPORTED_CODEX_MODELS: readonly ["gpt-6-sol", "gpt-6-luna"];
70
+ export declare const DEFAULT_CODEX_MODEL: "gpt-6-luna";
71
71
  export declare const ROLE_MODEL_ROUTES: {
72
72
  readonly planner: {
73
73
  readonly taskClass: "implementation" | "advisor" | "local";
74
74
  readonly codex: {
75
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
75
+ readonly model: "gpt-6-sol" | "gpt-6-luna";
76
76
  readonly reasoningEffort: "medium" | "xhigh";
77
77
  };
78
78
  readonly claudeCode: {
79
- readonly model: "opus" | "sonnet";
79
+ readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
80
80
  readonly effort: "high" | "medium";
81
81
  };
82
82
  readonly omp: {
83
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
83
+ readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
84
84
  readonly thinkingLevel: "medium" | "xhigh";
85
85
  };
86
86
  };
87
87
  readonly architect: {
88
88
  readonly taskClass: "implementation" | "advisor" | "local";
89
89
  readonly codex: {
90
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
90
+ readonly model: "gpt-6-sol" | "gpt-6-luna";
91
91
  readonly reasoningEffort: "medium" | "xhigh";
92
92
  };
93
93
  readonly claudeCode: {
94
- readonly model: "opus" | "sonnet";
94
+ readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
95
95
  readonly effort: "high" | "medium";
96
96
  };
97
97
  readonly omp: {
98
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
98
+ readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
99
99
  readonly thinkingLevel: "medium" | "xhigh";
100
100
  };
101
101
  };
102
102
  readonly reviewer: {
103
103
  readonly taskClass: "implementation" | "advisor" | "local";
104
104
  readonly codex: {
105
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
105
+ readonly model: "gpt-6-sol" | "gpt-6-luna";
106
106
  readonly reasoningEffort: "medium" | "xhigh";
107
107
  };
108
108
  readonly claudeCode: {
109
- readonly model: "opus" | "sonnet";
109
+ readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
110
110
  readonly effort: "high" | "medium";
111
111
  };
112
112
  readonly omp: {
113
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
113
+ readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
114
114
  readonly thinkingLevel: "medium" | "xhigh";
115
115
  };
116
116
  };
117
117
  readonly 'security-auditor': {
118
118
  readonly taskClass: "implementation" | "advisor" | "local";
119
119
  readonly codex: {
120
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
120
+ readonly model: "gpt-6-sol" | "gpt-6-luna";
121
121
  readonly reasoningEffort: "medium" | "xhigh";
122
122
  };
123
123
  readonly claudeCode: {
124
- readonly model: "opus" | "sonnet";
124
+ readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
125
125
  readonly effort: "high" | "medium";
126
126
  };
127
127
  readonly omp: {
128
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
128
+ readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
129
129
  readonly thinkingLevel: "medium" | "xhigh";
130
130
  };
131
131
  };
132
132
  readonly implementer: {
133
133
  readonly taskClass: "implementation" | "advisor" | "local";
134
134
  readonly codex: {
135
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
135
+ readonly model: "gpt-6-sol" | "gpt-6-luna";
136
136
  readonly reasoningEffort: "medium" | "xhigh";
137
137
  };
138
138
  readonly claudeCode: {
139
- readonly model: "opus" | "sonnet";
139
+ readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
140
140
  readonly effort: "high" | "medium";
141
141
  };
142
142
  readonly omp: {
143
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
143
+ readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
144
144
  readonly thinkingLevel: "medium" | "xhigh";
145
145
  };
146
146
  };
147
147
  readonly 'tdd-guide': {
148
148
  readonly taskClass: "implementation" | "advisor" | "local";
149
149
  readonly codex: {
150
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
150
+ readonly model: "gpt-6-sol" | "gpt-6-luna";
151
151
  readonly reasoningEffort: "medium" | "xhigh";
152
152
  };
153
153
  readonly claudeCode: {
154
- readonly model: "opus" | "sonnet";
154
+ readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
155
155
  readonly effort: "high" | "medium";
156
156
  };
157
157
  readonly omp: {
158
- readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
158
+ readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
159
159
  readonly thinkingLevel: "medium" | "xhigh";
160
160
  };
161
161
  };
@@ -12,25 +12,24 @@ export class InstallCancelledError extends Error {
12
12
  }
13
13
  }
14
14
  export const SUPPORTED_CODEX_MODELS = [
15
- 'gpt-5.6-sol',
16
- 'gpt-5.6-terra',
17
- 'gpt-5.6-luna',
15
+ 'gpt-6-sol',
16
+ 'gpt-6-luna',
18
17
  ];
19
- export const DEFAULT_CODEX_MODEL = 'gpt-5.6-sol';
18
+ export const DEFAULT_CODEX_MODEL = 'gpt-6-luna';
20
19
  export const ROLE_MODEL_ROUTES = {
21
- planner: route('advisor', 'gpt-5.6-sol', 'xhigh', 'opus'),
22
- architect: route('advisor', 'gpt-5.6-sol', 'xhigh', 'opus'),
23
- reviewer: route('advisor', 'gpt-5.6-sol', 'xhigh', 'opus'),
24
- 'security-auditor': route('advisor', 'gpt-5.6-sol', 'xhigh', 'opus'),
25
- implementer: route('implementation', DEFAULT_CODEX_MODEL, 'medium', 'sonnet'),
26
- 'tdd-guide': route('implementation', DEFAULT_CODEX_MODEL, 'medium', 'sonnet'),
20
+ planner: route('advisor', 'gpt-6-sol', 'xhigh', 'claude-opus-5-5'),
21
+ architect: route('advisor', 'gpt-6-sol', 'xhigh', 'claude-opus-5-5'),
22
+ reviewer: route('advisor', 'gpt-6-sol', 'xhigh', 'claude-opus-5-5'),
23
+ 'security-auditor': route('advisor', 'gpt-6-sol', 'xhigh', 'claude-opus-5-5'),
24
+ implementer: route('implementation', DEFAULT_CODEX_MODEL, 'medium', 'claude-sonnet-5-5'),
25
+ 'tdd-guide': route('implementation', DEFAULT_CODEX_MODEL, 'medium', 'claude-sonnet-5-5'),
27
26
  };
28
27
  function route(taskClass, model, reasoningEffort, claudeModel) {
29
28
  return {
30
29
  taskClass,
31
30
  codex: { model, reasoningEffort },
32
31
  claudeCode: { model: claudeModel, effort: taskClass === 'advisor' ? 'high' : 'medium' },
33
- omp: { model, thinkingLevel: reasoningEffort },
32
+ omp: { model: `openai-codex/${model}`, thinkingLevel: reasoningEffort },
34
33
  };
35
34
  }
36
35
  export const SKILL_AGENT_ROUTES = {
@@ -1 +1 @@
1
- {"version":3,"file":"install-target.js","sourceRoot":"","sources":["../../src/cli/install-target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-target.js","sourceRoot":"","sources":["../../src/cli/install-target.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ModelRoutes } from '../model-role-config.js';
2
+ /** OMP skills are prompt files; only an extension can change the parent session's model. */
3
+ export declare function renderOmpSkillRouting(routes?: ModelRoutes): string;
@@ -0,0 +1,41 @@
1
+ import { ROLE_MODEL_ROUTES, SKILL_AGENT_ROUTES } from '../install-target.js';
2
+ /** OMP skills are prompt files; only an extension can change the parent session's model. */
3
+ export function renderOmpSkillRouting(routes = ROLE_MODEL_ROUTES) {
4
+ const selectors = Object.fromEntries(Object.entries(SKILL_AGENT_ROUTES).map(([skill, role]) => [skill, routes[role].omp]));
5
+ return `// Generated by sdd-mcp-server. OMP ignores model fields in SKILL.md.
6
+ const routes = ${JSON.stringify(selectors)};
7
+ const invocation = /^\\[IMPORTANT: User invoked the "([^"\\n]+)" skill; follow its instructions\\. Full skill below\\.\\]/;
8
+
9
+ export default function (pi) {
10
+ let previous;
11
+ pi.on('before_agent_start', async (event, ctx) => {
12
+ if (ctx.agent.kind !== 'main') return;
13
+ const match = invocation.exec(event.prompt);
14
+ if (!match || !Object.hasOwn(routes, match[1])) return;
15
+ const route = routes[match[1]];
16
+ const model = ctx.models.resolve(route.model);
17
+ if (!model) {
18
+ ctx.ui.notify('SDD skill ' + match[1] + ': configured model ' + route.model + ' is unavailable; select an installed model or reinstall with --model-roles.', 'error');
19
+ ctx.abort();
20
+ return;
21
+ }
22
+ const original = previous ?? { model: ctx.models.current(), thinking: pi.getThinkingLevel() };
23
+ if (!await pi.setModel(model)) {
24
+ ctx.ui.notify('SDD skill ' + match[1] + ': no credentials for ' + route.model + '.', 'error');
25
+ ctx.abort();
26
+ return;
27
+ }
28
+ previous = original;
29
+ pi.setThinkingLevel(route.thinkingLevel);
30
+ });
31
+ pi.on('agent_end', async (_event, ctx) => {
32
+ if (ctx.agent.kind !== 'main' || !previous) return;
33
+ const restore = previous;
34
+ previous = undefined;
35
+ if (restore.model) await pi.setModel(restore.model);
36
+ if (restore.thinking) pi.setThinkingLevel(restore.thinking);
37
+ });
38
+ }
39
+ `;
40
+ }
41
+ //# sourceMappingURL=omp-skill-routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omp-skill-routing.js","sourceRoot":"","sources":["../../../src/cli/tool-support/omp-skill-routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,4FAA4F;AAC5F,MAAM,UAAU,qBAAqB,CAAC,SAAsB,iBAAiB;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3H,OAAO;iBACQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCzC,CAAC;AACF,CAAC"}
@@ -4,6 +4,7 @@ import { CliUsageError } from '../install-target.js';
4
4
  import { PreservingWriter, validateChildName } from '../utils/preserving-writer.js';
5
5
  import { buildCompactRootGuidance } from './root-guidance.js';
6
6
  import { parseSourceAgent, renderOmpAgent } from './target-agent-renderer.js';
7
+ import { renderOmpSkillRouting } from './omp-skill-routing.js';
7
8
  import { copyFlatComponents, TargetInstallSession, } from './target-installer.js';
8
9
  export async function installOmpTarget(request) {
9
10
  const writer = request.writer ?? new PreservingWriter(request.projectRoot);
@@ -15,8 +16,10 @@ async function installOmpTargetLocked(request) {
15
16
  }
16
17
  const session = new TargetInstallSession('omp', request.projectRoot, request.writer, request.profile ?? 'lean', request.components, request.refreshGenerated);
17
18
  const selected = new Set(request.components);
18
- if (selected.has('skills'))
19
+ if (selected.has('skills')) {
19
20
  await session.copySkills(request.sources.skillManager, request.paths.skills, request.modelRoutes);
21
+ await session.write('skills', 'sdd-skill-routing', session.resolve('.omp/extensions/sdd-skill-routing.js'), renderOmpSkillRouting(request.modelRoutes));
22
+ }
20
23
  if (selected.has('steering'))
21
24
  await session.copySteering(request.sources.steeringSource, request.paths.steering);
22
25
  if (selected.has('rules')) {
@@ -1 +1 @@
1
- {"version":3,"file":"omp.js","sourceRoot":"","sources":["../../../src/cli/tool-support/omp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"omp.js","sourceRoot":"","sources":["../../../src/cli/tool-support/omp.ts"],"names":[],"mappings":"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"}
@@ -11,17 +11,17 @@ export function buildCompactRootGuidance(target, paths, selected, preamble) {
11
11
  const heading = preamble?.split(/\r?\n/).find(line => line.trim())?.trim();
12
12
  const routing = target === 'omp'
13
13
  ? [
14
- 'High-level work runs inline on Sol/medium by default. Project Sol/xhigh advisors are explicit opt-in.',
15
- 'When explicitly invoked, use one advisor without nested delegation; on failure, record one fallback and continue inline without retrying.',
14
+ 'Invoked SDD skills run inline with the model and thinking level selected by .omp/extensions/sdd-skill-routing.js.',
15
+ 'Project advisors are explicit opt-in only; use one without nested delegation or retry, and continue inline if unavailable.',
16
16
  ]
17
17
  : target === 'claude-code'
18
18
  ? [
19
- 'High-level planning, architecture, review, and security execute in the current turn on Opus.',
20
- 'Implementation and TDD execute in the current turn on Sonnet; do not spawn a redundant specialist.',
19
+ 'Planning, architecture, review, and security execute in the current turn on their configured skill model/effort.',
20
+ 'Implementation and TDD use their configured skill model/effort; do not spawn a redundant specialist unless the user chooses a project agent.',
21
21
  ]
22
22
  : [
23
- 'High-level planning, architecture, review, and security may use one configured Sol/xhigh custom agent.',
24
- 'Implementation and TDD run inline on Sol/medium; on advisor failure, record one fallback and continue inline without retrying.',
23
+ 'Planning, architecture, implementation, and TDD run inline on the host-selected parent.',
24
+ 'Review and security run inline unless the user chooses one project agent, which uses its configured route. On agent failure, record one fallback and continue inline without retrying.',
25
25
  ];
26
26
  const lines = [
27
27
  heading || `# SDD guidance for ${target}`,
@@ -41,7 +41,7 @@ export function buildCompactRootGuidance(target, paths, selected, preamble) {
41
41
  }
42
42
  lines.push('');
43
43
  }
44
- lines.push('## Model routing', '', ...routing, '');
44
+ lines.push('## Model routing', '', ...routing, 'Review, security, and independent implementation slices ask once per session (inline or project agent) and report agents, parallelism, configured model/effort, and fallbacks.', '', '## Commits and pull requests', '', 'Do not add `Co-Authored-By:` trailers or "Generated with Claude Code" lines to commit messages or pull request descriptions. This overrides default attribution guidance.', '');
45
45
  return `${lines.join('\n').trim()}\n`;
46
46
  }
47
47
  //# sourceMappingURL=root-guidance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"root-guidance.js","sourceRoot":"","sources":["../../../src/cli/tool-support/root-guidance.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAA4C;IACtD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,UAAU,wBAAwB,CACtC,MAAqB,EACrB,KAA2B,EAC3B,QAAoC,EACpC,QAAiB;IAEjB,MAAM,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACjF,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,KAAK,KAAK;QAC9B,CAAC,CAAC;YACA,uGAAuG;YACvG,2IAA2I;SAC5I;QACD,CAAC,CAAC,MAAM,KAAK,aAAa;YACxB,CAAC,CAAC;gBACA,8FAA8F;gBAC9F,oGAAoG;aACrG;YACD,CAAC,CAAC;gBACA,wGAAwG;gBACxG,gIAAgI;aACjI,CAAC;IACN,MAAM,KAAK,GAAG;QACZ,OAAO,IAAI,sBAAsB,MAAM,EAAE;QACzC,EAAE;QACF,aAAa;QACb,EAAE;QACF,kFAAkF,UAAU,4EAA4E,UAAU,6CAA6C,UAAU,mBAAmB,UAAU,sBAAsB,UAAU,+CAA+C;QACrV,uIAAuI;QACvI,EAAE;KACH,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,MAAM,SAAS,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAU,EAAE,CAAC;YAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YACvC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CACR,kBAAkB,EAClB,EAAE,EACF,GAAG,OAAO,EACV,EAAE,CACH,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"root-guidance.js","sourceRoot":"","sources":["../../../src/cli/tool-support/root-guidance.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAA4C;IACtD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,UAAU,wBAAwB,CACtC,MAAqB,EACrB,KAA2B,EAC3B,QAAoC,EACpC,QAAiB;IAEjB,MAAM,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACjF,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,KAAK,KAAK;QAC9B,CAAC,CAAC;YACA,mHAAmH;YACnH,4HAA4H;SAC7H;QACD,CAAC,CAAC,MAAM,KAAK,aAAa;YACxB,CAAC,CAAC;gBACA,kHAAkH;gBAClH,8IAA8I;aAC/I;YACD,CAAC,CAAC;gBACA,yFAAyF;gBACzF,wLAAwL;aACzL,CAAC;IACN,MAAM,KAAK,GAAG;QACZ,OAAO,IAAI,sBAAsB,MAAM,EAAE;QACzC,EAAE;QACF,aAAa;QACb,EAAE;QACF,kFAAkF,UAAU,4EAA4E,UAAU,6CAA6C,UAAU,mBAAmB,UAAU,sBAAsB,UAAU,+CAA+C;QACrV,uIAAuI;QACvI,EAAE;KACH,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,MAAM,SAAS,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAU,EAAE,CAAC;YAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YACvC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CACR,kBAAkB,EAClB,EAAE,EACF,GAAG,OAAO,EACV,gLAAgL,EAChL,EAAE,EACF,8BAA8B,EAC9B,EAAE,EACF,2KAA2K,EAC3K,EAAE,CACH,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;AACxC,CAAC"}
@@ -172,20 +172,26 @@ export function renderTargetRule(target, fileName, source) {
172
172
  }
173
173
  return `${body}\n`;
174
174
  }
175
+ /** Roles whose skills offer a once-per-session inline/project-agent choice. */
176
+ const ASK_EXECUTION_ROLES = new Set(['reviewer', 'security-auditor']);
175
177
  export function renderTargetSkill(target, skillName, source, routes = ROLE_MODEL_ROUTES) {
176
178
  const role = SKILL_AGENT_ROUTES[skillName];
177
179
  const extra = ['disable-model-invocation: true'];
180
+ const askRole = role !== undefined && ASK_EXECUTION_ROLES.has(role);
181
+ const askOnce = `Execute inline by default. Only if project agents are installed, ask once per session whether to run inline or use the \`${role}\` agent, and reuse the answer; if chosen, delegate once with specialistDepth: 1, no nesting or retry, and on failure record one fallback and continue inline.`;
178
182
  let execution = '';
179
183
  if (role && target === 'claude-code') {
180
184
  extra.push(`model: ${routes[role].claudeCode.model}`);
181
185
  extra.push(`effort: ${routes[role].claudeCode.effort}`);
182
- execution = '\nExecute in this turn; do not spawn a second specialist.\n';
186
+ execution = askRole ? `\n${askOnce}\n` : '\nExecute in this turn; do not spawn a second specialist.\n';
183
187
  }
184
188
  else if (role && target === 'omp' && routes[role].taskClass === 'advisor') {
185
- execution = `\nRun inline by default. The project advisor at .omp/agents/${role}.md is explicit opt-in only; if the user invokes it, allow one specialistDepth: 1 handoff without nesting or retry.\n`;
189
+ execution = askRole
190
+ ? `\nRun inline by default. The project advisor at .omp/agents/${role}.md is explicit opt-in only; ask once per session whether to run inline or use it, reuse the answer, and allow one specialistDepth: 1 handoff without nesting or retry.\n`
191
+ : `\nRun inline by default. The project advisor at .omp/agents/${role}.md is explicit opt-in only; if the user invokes it, allow one specialistDepth: 1 handoff without nesting or retry.\n`;
186
192
  }
187
193
  else if (role && target === 'codex' && routes[role].taskClass === 'advisor') {
188
- execution = `\nRequest the configured ${role} custom agent once with specialistDepth: 1; nested delegation is prohibited. If unavailable, record the fallback and continue inline.\n`;
194
+ execution = askRole ? `\n${askOnce}\n` : '\nExecute inline in the current turn; do not request a custom agent.\n';
189
195
  }
190
196
  const match = source.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);
191
197
  if (!match)
@@ -196,8 +202,8 @@ export function renderTargetSkill(target, skillName, source, routes = ROLE_MODEL
196
202
  function renderCodexSkillPolicy(skillName) {
197
203
  const role = SKILL_AGENT_ROUTES[skillName];
198
204
  const route = role ? ROLE_MODEL_ROUTES[role] : undefined;
199
- const description = route?.taskClass === 'advisor'
200
- ? `Explicitly invoke the configured ${role} agent once; nested delegation is prohibited.`
205
+ const description = route?.taskClass === 'advisor' && role && ASK_EXECUTION_ROLES.has(role)
206
+ ? `Run inline by default; ask once per session before using the configured ${role} agent. Nested delegation is prohibited.`
201
207
  : 'Execute inline in the current turn.';
202
208
  return `policy:\n allow_implicit_invocation: false\ninterface:\n description: ${JSON.stringify(description)}\n`;
203
209
  }
@@ -1 +1 @@
1
- {"version":3,"file":"target-installer.js","sourceRoot":"","sources":["../../../src/cli/tool-support/target-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target-installer.js","sourceRoot":"","sources":["../../../src/cli/tool-support/target-installer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAM7B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAOnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAoB,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAsB7G,MAAM,OAAO,oBAAoB;IAIpB;IACA;IACA;IAIQ;IATV,MAAM,CAAsB;IAErC,YACW,MAAqB,EACrB,WAAmB,EACnB,MAAwB,EACjC,OAAuB,EACvB,UAAoC,EACpC,gBAAgB,GAAG,KAAK,EACP,kBAAkB,IAAI;QAN9B,WAAM,GAAN,MAAM,CAAe;QACrB,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAkB;QAIhB,oBAAe,GAAf,eAAe,CAAO;QAEvC,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC9F,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,CAAC,cAAsB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,WAAmB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,KAAK,CACT,SAAiC,EACjC,IAAY,EACZ,WAAmB,EACnB,OAAe;QAEf,IAAI,CAAC;YACH,uBAAuB,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAClG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1D,IAAI,MAAM,CAAC,QAAQ;gBAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACR,SAAiC,EACjC,IAAY,EACZ,MAAc,EACd,WAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,aAA+C,EAAE,cAAsB,EAAE,SAAsB,iBAAiB;QAC/H,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;gBACrG,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,KAAK,CACd,QAAQ,EACR,GAAG,KAAK,CAAC,IAAI,qBAAqB,EAClC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,EAC/D,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CACnC,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,cAAsB;QACvD,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC7D,IAAI,CAAC;gBACH,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9H,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAA4B;QACzC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;YACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBAC5F,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAC9D,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,SAA6C,EAAE,IAAY,EAAE,WAAmB,EAAE,KAAc;QACnG,MAAM,OAAO,GAAmB;YAC9B,SAAS;YACT,IAAI;YACJ,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,MAAc,EAAE,WAAmB,EAAE,QAAgB,EAAE,MAAmB;QACvH,uBAAuB,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACnE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACnF,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU;oBACvC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;oBAClE,CAAC,CAAC,aAAa,CAAC;gBAClB,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,IAAI,MAAM,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA6B,EAC7B,SAA+B,EAC/B,cAAsB,EACtB,WAAkD;IAElD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpG,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACjG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAgD;IAC/D,iBAAiB,EAAE,CAAC,sDAAsD,EAAE,2BAA2B,CAAC;IACxG,mBAAmB,EAAE,CAAC,sDAAsD,CAAC;IAC7E,aAAa,EAAE,CAAC,yEAAyE,CAAC;IAC1F,YAAY,EAAE,CAAC,qCAAqC,EAAE,qCAAqC,EAAE,aAAa,CAAC;CAC5G,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,MAAqB,EAAE,QAAgB,EAAE,MAAc;IACtF,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,OAAO,gBAAgB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;IACzG,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,yBAAyB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,IAAI,IAAI,CAAC;IAC1L,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC;AAED,+EAA+E;AAC/E,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAE3F,MAAM,UAAU,iBAAiB,CAAC,MAAqB,EAAE,SAAiB,EAAE,MAAc,EAAE,SAAsB,iBAAiB;IACjI,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAa,CAAC,gCAAgC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,4HAA4H,IAAI,gKAAgK,CAAC;IACjT,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,IAAI,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,6DAA6D,CAAC;IACzG,CAAC;SAAM,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5E,SAAS,GAAG,OAAO;YACjB,CAAC,CAAC,+DAA+D,IAAI,2KAA2K;YAChP,CAAC,CAAC,+DAA+D,IAAI,uHAAuH,CAAC;IACjM,CAAC;SAAM,IAAI,IAAI,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9E,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,wEAAwE,CAAC;IACpH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,CAAC;IACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjH,OAAO,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,CAAC;AACrG,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,MAAM,WAAW,GAAG,KAAK,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;QACzF,CAAC,CAAC,2EAA2E,IAAI,0CAA0C;QAC3H,CAAC,CAAC,qCAAqC,CAAC;IAC1C,OAAO,2EAA2E,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;AACpH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACpC,CAAC"}
@@ -1,3 +1,3 @@
1
- export declare const PACKAGE_VERSION = "5.1.1";
1
+ export declare const PACKAGE_VERSION = "5.3.0";
2
2
  export declare const INSTALL_MANIFEST_SCHEMA_VERSION = 2;
3
3
  export declare const INSTALL_RENDERER_VERSION = 5;
@@ -1,4 +1,4 @@
1
- export const PACKAGE_VERSION = '5.1.1';
1
+ export const PACKAGE_VERSION = '5.3.0';
2
2
  export const INSTALL_MANIFEST_SCHEMA_VERSION = 2;
3
3
  export const INSTALL_RENDERER_VERSION = 5;
4
4
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdd-mcp-server",
3
- "version": "5.1.1",
3
+ "version": "5.3.0",
4
4
  "description": "MCP server for spec-driven development workflows across AI-agent CLIs and IDEs",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -18,6 +18,8 @@ Run this skill locally in the current turn. Do not delegate commit, branch, or p
18
18
  5. Explain why in the body when the subject cannot; record breaking behavior explicitly.
19
19
  6. For a pull request, summarize intent, affected behavior, focused test evidence, migration or security impact, and unresolved blockers.
20
20
 
21
+ Never add `Co-Authored-By:` trailers or "Generated with Claude Code" lines to commit messages or pull request descriptions, even when default attribution guidance asks for them.
22
+
21
23
  Do not rewrite history, force-push, discard changes, bypass hooks, or create a commit unless the user requested it.
22
24
 
23
25
  ## Output
@@ -37,7 +37,7 @@ Target renderers provide the `architect` route. When a native advisor is require
37
37
 
38
38
  ## Output
39
39
 
40
- Return the canonical saved path, traceable decisions, concise validation evidence, the approval question or persisted approval, and durable blockers. Do not present raw MCP operations as next steps.
40
+ Return the canonical saved path, traceable decisions, concise validation evidence, the approval question or persisted approval, and durable blockers. Do not present raw MCP operations as next steps. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
41
41
 
42
42
  ## Optional Reference
43
43
 
@@ -6,7 +6,11 @@ disable-model-invocation: true
6
6
 
7
7
  # SDD Implementation
8
8
 
9
- Work inline in the current turn. Do not create a serial implementation specialist. Delegate only when at least two genuinely independent slices can run concurrently. Backend lifecycle calls are internal; never ask the user to operate raw MCP tools.
9
+ Work inline in the current turn. Backend lifecycle calls are internal; never ask the user to operate raw MCP tools.
10
+
11
+ ## Execution Mode
12
+
13
+ Never create a serial specialist or split work to justify agents. Only when project agents are installed and at least two independent, dependency-ready slices can run concurrently, ask once per session, in the user's language, "inline or project agent for this run?" and reuse the answer; never ask again or per phase. Agent mode: one `specialistDepth: 1` handoff per slice, no nesting or retry; on failure record one fallback and finish that slice in the parent.
10
14
 
11
15
  ## Restore Durable Progress
12
16
 
@@ -38,7 +42,7 @@ For `not-applicable` TDD tasks, start, implement, verify, then complete with zer
38
42
 
39
43
  ## Output
40
44
 
41
- Report persisted task numbers/states, observed affected artifacts, RED/GREEN/final verification evidence, security decisions, next action, and blockers. Do not expose backend JSON or present raw MCP operations as user steps.
45
+ Report persisted task numbers/states, observed affected artifacts, RED/GREEN/final verification evidence, security decisions, next action, and blockers. Do not expose backend JSON or present raw MCP operations as user steps. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
42
46
 
43
47
  ## Optional Reference
44
48
 
@@ -40,7 +40,7 @@ Target renderers provide the `planner` route. When a native advisor is required,
40
40
 
41
41
  ## Output
42
42
 
43
- Return the canonical saved path, key scope decisions, concise validation evidence, the approval question or persisted approval, and durable blockers. Do not present raw MCP operations as next steps.
43
+ Return the canonical saved path, key scope decisions, concise validation evidence, the approval question or persisted approval, and durable blockers. Do not present raw MCP operations as next steps. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
44
44
 
45
45
  ## Optional Reference
46
46
 
@@ -20,11 +20,11 @@ Do not edit code unless asked. Never claim a test or security check ran when it
20
20
 
21
21
  ## Specialist Delegation
22
22
 
23
- Target renderers provide the `reviewer` route. When a native advisor is required, dispatch exactly one compact handoff with `specialistDepth: 1`; include only the diff/scope, approved contracts, conventions, and verification evidence. The specialist must not delegate again. Keep the handoff and returned summary at or below 2,048 estimated tokens. If the advisor or routed model is unavailable, record one fallback and continue in the parent without retrying or selecting a generic child. Where a native per-turn model override applies, execute in this turn.
23
+ Target renderers provide the `reviewer` route. Default is inline. Only when project agents are installed, ask once per session, in the user's language, "inline or project agent for this run?" and reuse the answer; never ask again or per phase. In agent mode, dispatch exactly one compact handoff with `specialistDepth: 1`; include only the diff/scope, approved contracts, conventions, and verification evidence. The specialist must not delegate again. Keep the handoff and returned summary at or below 2,048 estimated tokens. If the agent or routed model is unavailable, record one fallback and continue in the parent without retrying or selecting a generic child.
24
24
 
25
25
  ## Output
26
26
 
27
- Return findings first, ordered by severity, then assumptions, verification evidence, and unresolved blockers. Do not echo the reviewed artifact.
27
+ Return findings first, ordered by severity, then assumptions, verification evidence, and unresolved blockers. Do not echo the reviewed artifact. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
28
28
 
29
29
  ## Optional Reference
30
30
 
@@ -20,11 +20,11 @@ Do not make destructive probes, contact external systems, or claim exploitabilit
20
20
 
21
21
  ## Specialist Delegation
22
22
 
23
- Target renderers provide the `security-auditor` route. When a native advisor is required, dispatch exactly one compact handoff with `specialistDepth: 1`; include only threat context, relevant diff, security requirements, and scan evidence. The specialist must not delegate again. Keep the handoff and returned summary at or below 2,048 estimated tokens. If the advisor or routed model is unavailable, record one fallback and continue in the parent without retrying or selecting a generic child. Where a native per-turn model override applies, execute in this turn.
23
+ Target renderers provide the `security-auditor` route. Default is inline. Only when project agents are installed, ask once per session, in the user's language, "inline or project agent for this run?" and reuse the answer; never ask again or per phase. In agent mode, dispatch exactly one compact handoff with `specialistDepth: 1`; include only threat context, relevant diff, security requirements, and scan evidence. The specialist must not delegate again. Keep the handoff and returned summary at or below 2,048 estimated tokens. If the agent or routed model is unavailable, record one fallback and continue in the parent without retrying or selecting a generic child.
24
24
 
25
25
  ## Output
26
26
 
27
- Return findings ordered critical/high/medium/low, each with evidence, impact, remediation, and verification. Then list checked areas, unresolved blockers, and residual risk.
27
+ Return findings ordered critical/high/medium/low, each with evidence, impact, remediation, and verification. Then list checked areas, unresolved blockers, and residual risk. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
28
28
 
29
29
  ## Optional Reference
30
30
 
@@ -24,7 +24,7 @@ Target renderers provide the `planner` route. When a native advisor is required,
24
24
 
25
25
  ## Output
26
26
 
27
- Return affected steering paths, source evidence used, validation performed, preserved user content, and unresolved blockers.
27
+ Return affected steering paths, source evidence used, validation performed, preserved user content, and unresolved blockers. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
28
28
 
29
29
  ## Optional Reference
30
30
 
@@ -24,7 +24,7 @@ Target renderers provide the `planner` route. When a native advisor is required,
24
24
 
25
25
  ## Output
26
26
 
27
- Return the contained path, inclusion mode/globs, evidence used, validation results, preserved user content, and blockers.
27
+ Return the contained path, inclusion mode/globs, evidence used, validation results, preserved user content, and blockers. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
28
28
 
29
29
  ## Optional Reference
30
30
 
@@ -40,7 +40,7 @@ Target renderers provide the `planner` route. When a native advisor is required,
40
40
 
41
41
  ## Output
42
42
 
43
- Return the canonical saved path, traceability, saved checkpoint choice, concise validation evidence, the current human decision, and durable blockers. Do not present raw MCP operations as next steps.
43
+ Return the canonical saved path, traceability, saved checkpoint choice, concise validation evidence, the current human decision, and durable blockers. Do not present raw MCP operations as next steps. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
44
44
 
45
45
  ## Optional Reference
46
46
 
@@ -6,7 +6,11 @@ disable-model-invocation: true
6
6
 
7
7
  # Test Generation
8
8
 
9
- Work inline in the current turn; do not create a serial TDD specialist.
9
+ Work inline in the current turn.
10
+
11
+ ## Execution Mode
12
+
13
+ Never create a serial specialist or split work to justify agents. Only when project agents are installed and at least two independent slices exist, ask once per session, in the user's language, "inline or project agent for this run?" and reuse the answer; never ask again or per phase. Agent mode: one `specialistDepth: 1` handoff per slice, no nesting or retry; on failure record one fallback and finish in the parent.
10
14
 
11
15
  ## Required Workflow
12
16
 
@@ -22,7 +26,7 @@ Use focused test commands during the cycle. Broader verification belongs after t
22
26
 
23
27
  ## Output
24
28
 
25
- Report tests added or changed, contracts protected, the expected failing-test evidence, focused passing-test evidence, affected artifacts, and unresolved blockers.
29
+ Report tests added or changed, contracts protected, the expected failing-test evidence, focused passing-test evidence, affected artifacts, and unresolved blockers. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
26
30
 
27
31
  ## Optional Reference
28
32
 
@@ -20,11 +20,13 @@ Use this route for a bounded bug fix, refactor, or enhancement with clear accept
20
20
  6. Check boundaries, error propagation, compatibility, authorization, input validation, injection, secret handling, and sensitive logs where relevant.
21
21
  7. Review all affected callers and artifacts. Never discard unrelated work or claim unobserved checks.
22
22
 
23
- If the work genuinely decomposes into at least two independent slices, they may run concurrently; otherwise keep it in the parent.
23
+ ## Execution Mode
24
+
25
+ Work inline in the current turn. Only when project agents are installed and at least two independent slices exist, ask once per session, in the user's language, "inline or project agent for this run?" and reuse the answer; never ask again or per phase. Agent mode: one `specialistDepth: 1` handoff per slice, no nesting or retry; on failure record one fallback and finish in the parent. Never split work to justify agents.
24
26
 
25
27
  ## Output
26
28
 
27
- Report changed paths, behavior protected, failing and passing focused test evidence, security considerations, and unresolved blockers.
29
+ Report changed paths, behavior protected, failing and passing focused test evidence, security considerations, and unresolved blockers. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
28
30
 
29
31
  ## Optional Reference
30
32