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 +21 -1
- package/README.md +29 -14
- package/dist/cli/install-skills.js +4 -4
- package/dist/cli/install-target.d.ts +20 -20
- package/dist/cli/install-target.js +10 -11
- package/dist/cli/install-target.js.map +1 -1
- package/dist/cli/tool-support/omp-skill-routing.d.ts +3 -0
- package/dist/cli/tool-support/omp-skill-routing.js +41 -0
- package/dist/cli/tool-support/omp-skill-routing.js.map +1 -0
- package/dist/cli/tool-support/omp.js +4 -1
- package/dist/cli/tool-support/omp.js.map +1 -1
- package/dist/cli/tool-support/root-guidance.js +7 -7
- package/dist/cli/tool-support/root-guidance.js.map +1 -1
- package/dist/cli/tool-support/target-installer.js +11 -5
- package/dist/cli/tool-support/target-installer.js.map +1 -1
- package/dist/shared/version.d.ts +1 -1
- package/dist/shared/version.js +1 -1
- package/package.json +1 -1
- package/skills/sdd-commit/SKILL.md +2 -0
- package/skills/sdd-design/SKILL.md +1 -1
- package/skills/sdd-implement/SKILL.md +6 -2
- package/skills/sdd-requirements/SKILL.md +1 -1
- package/skills/sdd-review/SKILL.md +2 -2
- package/skills/sdd-security-check/SKILL.md +2 -2
- package/skills/sdd-steering/SKILL.md +1 -1
- package/skills/sdd-steering-custom/SKILL.md +1 -1
- package/skills/sdd-tasks/SKILL.md +1 -1
- package/skills/sdd-test-gen/SKILL.md +6 -2
- package/skills/simple-task/SKILL.md +4 -2
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
|
-
## [
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
|
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.
|
|
58
|
-
npx sdd-mcp-server@5.
|
|
59
|
-
npx sdd-mcp-server@5.
|
|
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.
|
|
75
|
+
npx sdd-mcp-server@5.3.0 install --profile full
|
|
63
76
|
```
|
|
64
77
|
|
|
65
|
-
|
|
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
|
|
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.
|
|
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
|
|
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-
|
|
556
|
-
Claude Code skills and agents: opus/high
|
|
557
|
-
OMP project agents: gpt-
|
|
558
|
-
Inline Codex
|
|
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-
|
|
70
|
-
export declare const DEFAULT_CODEX_MODEL: "gpt-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
16
|
-
'gpt-
|
|
17
|
-
'gpt-5.6-luna',
|
|
15
|
+
'gpt-6-sol',
|
|
16
|
+
'gpt-6-luna',
|
|
18
17
|
];
|
|
19
|
-
export const DEFAULT_CODEX_MODEL = 'gpt-
|
|
18
|
+
export const DEFAULT_CODEX_MODEL = 'gpt-6-luna';
|
|
20
19
|
export const ROLE_MODEL_ROUTES = {
|
|
21
|
-
planner: route('advisor', 'gpt-
|
|
22
|
-
architect: route('advisor', 'gpt-
|
|
23
|
-
reviewer: route('advisor', 'gpt-
|
|
24
|
-
'security-auditor': route('advisor', 'gpt-
|
|
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
|
|
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":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAgF7B,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,
|
|
1
|
+
{"version":3,"file":"install-target.js","sourceRoot":"","sources":["../../src/cli/install-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAgF7B,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW;IACX,YAAY;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAqB,CAAC;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC;IAClE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC;IACpE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC;IACnE,kBAAkB,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC;IAC7E,WAAW,EAAE,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IACxF,WAAW,EAAE,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,mBAAmB,CAAC;CAChF,CAAC;AAEX,SAAS,KAAK,CACZ,SAAiD,EACjD,KAA4C,EAC5C,eAAmC,EACnC,WAAoD;IAEpD,OAAO;QACL,SAAS;QACT,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;QACjC,UAAU,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;QACvF,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,KAAK,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE;KAC/D,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAwC;IACrE,kBAAkB,EAAE,SAAS;IAC7B,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,SAAS;IACzB,qBAAqB,EAAE,SAAS;IAChC,YAAY,EAAE,WAAW;IACzB,eAAe,EAAE,aAAa;IAC9B,aAAa,EAAE,aAAa;IAC5B,cAAc,EAAE,WAAW;IAC3B,YAAY,EAAE,UAAU;IACxB,oBAAoB,EAAE,kBAAkB;CACzC,CAAC;AAEF,MAAM,eAAe,GAAkD;IACrE,aAAa,EAAE;QACb,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE;YACZ,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,gBAAgB;YACxB,KAAK,EAAE,eAAe;YACtB,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,WAAW;YAC1B,uBAAuB,EAAE,uBAAuB;SACjD;QACD,aAAa,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;KACzC;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,YAAY,EAAE;YACZ,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,uBAAuB;YAC9B,QAAQ,EAAE,0BAA0B;YACpC,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,cAAc;YACrB,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,oBAAoB;SACpC;QACD,aAAa,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC;KACpD;IACD,GAAG,EAAE;QACH,MAAM,EAAE,KAAK;QACb,YAAY,EAAE;YACZ,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,YAAY;YACnB,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,eAAe;SAC/B;QACD,aAAa,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;KACtC;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,KAAK,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAqB;IACnD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAoB,EACpB,SAAwB;IAExB,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;IACvD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,aAAa,CAAC,WAAW,SAAS,mEAAmE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9F,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CACrB,SAAS,UAAU,CAAC,CAAC,CAAC,+EAA+E,CACtG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACjC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACjE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvB,OAAO,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAgC,EAChC,EAAkB;IAElB,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACxE,MAAM,IAAI,aAAa,CAAC,mCAAmC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC1E,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,EAAE,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;QAC7D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,qBAAqB,EAAE,CAAC;QAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAC3C,CAAC;IACD,EAAE,CAAC,WAAW,CAAC,mGAAmG,CAAC,CAAC;IACpH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;AACpE,CAAC"}
|
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA0B;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAyD;IAC7F,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,aAAa,CAAC,kEAAkE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,oBAAoB,CACtC,KAAK,EACL,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,OAAO,IAAI,MAAM,EACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,gBAAgB,CACzB,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;
|
|
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
|
-
'
|
|
15
|
-
'
|
|
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
|
-
'
|
|
20
|
-
'Implementation and TDD
|
|
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
|
-
'
|
|
24
|
-
'
|
|
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,
|
|
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 =
|
|
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 =
|
|
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
|
-
? `
|
|
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":"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"}
|
package/dist/shared/version.d.ts
CHANGED
package/dist/shared/version.js
CHANGED
package/package.json
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
|