cyber-sdd 0.6.1 → 0.7.1
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/.claude-plugin/plugin.json +1 -2
- package/.codex-plugin/plugin.json +1 -2
- package/agents/sdd-scanner.md +1 -1
- package/agents/sdd-spec-judge.md +3 -3
- package/agents/sdd-warden.md +8 -0
- package/package.json +11 -13
- package/plugin.json +55 -0
- package/skills/align-spec/README.md +3 -3
- package/skills/align-spec/SKILL.md +2 -2
- package/skills/align-spec/scripts/align-spec.mjs +6755 -0
- package/skills/architect-impl-governance/SKILL.md +3 -1
- package/skills/architect-spec-governance/SKILL.md +5 -1
- package/skills/blast-estimate/README.md +4 -4
- package/skills/blast-estimate/SKILL.md +1 -1
- package/skills/blast-estimate/scripts/blast-estimate.mjs +601 -0
- package/skills/check-field-mandates/SKILL.md +1 -1
- package/skills/check-field-mandates/scripts/check-field-mandates.mjs +253 -0
- package/skills/check-partition-quality/SKILL.md +1 -1
- package/skills/check-partition-quality/scripts/check-partition-quality.mjs +235 -0
- package/skills/check-plan-safety/README.md +3 -3
- package/skills/check-plan-safety/SKILL.md +3 -4
- package/skills/check-plan-safety/scripts/check-plan-safety.mjs +109 -0
- package/skills/check-plugin-manifests/SKILL.md +1 -1
- package/skills/check-plugin-manifests/scripts/check-plugin-manifests.mjs +250 -0
- package/skills/check-project-specs/README.md +3 -3
- package/skills/check-project-specs/SKILL.md +3 -3
- package/{dist/check-project-specs/scripts/check-project-specs.js → skills/check-project-specs/scripts/check-project-specs.mjs} +300 -18
- package/skills/check-retired-terms/README.md +2 -2
- package/skills/check-retired-terms/SKILL.md +4 -5
- package/skills/check-retired-terms/scripts/check-retired-terms.mjs +186 -0
- package/skills/check-scenario-overlap/README.md +2 -2
- package/skills/check-scenario-overlap/SKILL.md +2 -3
- package/{dist/check-scenario-overlap/scripts/check-scenario-overlap.js → skills/check-scenario-overlap/scripts/check-scenario-overlap.mjs} +3 -1
- package/skills/check-spec-references/README.md +1 -1
- package/skills/check-spec-references/SKILL.md +3 -3
- package/{dist/check-spec-references/scripts/check-spec-references.js → skills/check-spec-references/scripts/check-spec-references.mjs} +3 -1
- package/skills/check-spec-structure/README.md +2 -2
- package/skills/check-spec-structure/SKILL.md +2 -3
- package/{dist/check-spec-structure/scripts/check-spec-structure.js → skills/check-spec-structure/scripts/check-spec-structure.mjs} +3 -1
- package/skills/collision-ladder/README.md +2 -2
- package/skills/collision-ladder/SKILL.md +2 -2
- package/skills/collision-ladder/scripts/collision-ladder.mjs +7047 -0
- package/skills/combat-log-governance/SKILL.md +1 -1
- package/skills/concept-index/README.md +2 -2
- package/skills/concept-index/SKILL.md +2 -2
- package/{dist/concept-index/scripts/concept-index.js → skills/concept-index/scripts/concept-index.mjs} +3 -1
- package/skills/discover-plans/README.md +5 -5
- package/skills/discover-plans/SKILL.md +2 -2
- package/skills/discover-plans/scripts/discover-plans.mjs +137 -0
- package/skills/discover-specs/README.md +4 -4
- package/skills/discover-specs/SKILL.md +2 -2
- package/{dist/discover-specs/scripts/discover-specs.js → skills/discover-specs/scripts/discover-specs.mjs} +4 -1
- package/skills/doctrine-loop/SKILL.md +2 -2
- package/skills/formation-loop/SKILL.md +10 -0
- package/skills/gate-validation-governance/SKILL.md +2 -2
- package/skills/init/README.md +5 -5
- package/skills/init/SKILL.md +3 -3
- package/skills/init/scripts/wire-statusline.mjs +168 -0
- package/skills/manage-ignore/README.md +8 -8
- package/skills/manage-ignore/SKILL.md +2 -3
- package/skills/manage-ignore/scripts/manage-ignore.mjs +285 -0
- package/skills/manage-scenario-bridge/README.md +6 -6
- package/skills/manage-scenario-bridge/SKILL.md +2 -2
- package/skills/manage-scenario-bridge/scripts/manage-scenario-bridge.mjs +239 -0
- package/skills/manage-spec-anchors/README.md +7 -7
- package/skills/manage-spec-anchors/SKILL.md +2 -2
- package/skills/manage-spec-anchors/scripts/manage-spec-anchors.mjs +310 -0
- package/skills/mission-graph/README.md +2 -2
- package/skills/mission-graph/SKILL.md +10 -10
- package/skills/mission-graph/scripts/mission-graph.mjs +1040 -0
- package/skills/pause-mission/SKILL.md +2 -2
- package/skills/place-node/README.md +1 -1
- package/skills/place-node/SKILL.md +3 -3
- package/skills/place-node/scripts/place-node.mjs +117 -0
- package/skills/plan-retirement/README.md +2 -2
- package/skills/plan-retirement/SKILL.md +1 -1
- package/skills/plan-retirement/scripts/retire-plans.mjs +123 -0
- package/skills/resolve-governances/README.md +4 -4
- package/skills/resolve-governances/SKILL.md +2 -2
- package/skills/resolve-governances/scripts/resolve-governances.mjs +352 -0
- package/skills/resolve-tracking/SKILL.md +2 -2
- package/skills/resolve-tracking/scripts/resolve-tracking.mjs +152 -0
- package/skills/scaffold-project-spec/SKILL.md +3 -3
- package/skills/sdd/SKILL.md +1 -1
- package/skills/spec-gate/README.md +12 -9
- package/skills/spec-gate/SKILL.md +6 -6
- package/{dist/spec-gate/scripts/check-spec-state.js → skills/spec-gate/scripts/check-spec-state.mjs} +3 -1
- package/{dist/spec-gate/vendor/gherkin-cli.js → skills/spec-gate/scripts/check-suite.mjs} +319 -188
- package/skills/spec-gate/{vendor/gherkin-cli.mjs → scripts/classify-edit-class.mjs} +243 -209
- package/skills/spec-producer-governance/SKILL.md +4 -4
- package/skills/spec-structure-governance/README.md +4 -2
- package/skills/spec-structure-governance/SKILL.md +42 -7
- package/skills/start-mission/SKILL.md +2 -2
- package/skills/suite-format-governance/README.md +1 -1
- package/skills/suite-format-governance/SKILL.md +1 -1
- package/skills/touch-set-correction/README.md +5 -5
- package/skills/touch-set-correction/SKILL.md +2 -2
- package/skills/touch-set-correction/scripts/touch-set-correction.mjs +6663 -0
- package/skills/verify-scenarios/README.md +9 -9
- package/skills/verify-scenarios/SKILL.md +2 -2
- package/skills/verify-scenarios/scripts/verify-scenarios.mjs +6539 -0
- package/.plugin/pins.json +0 -3
- package/.plugin/plugin.json +0 -19
- package/dist/align-spec/scripts/align-spec.js +0 -102
- package/dist/spec-gate/scripts/check-suite.js +0 -317
- package/dist/spec-gate/scripts/classify-edit-class.js +0 -263
- package/skills/align-spec/scripts/align-spec.mts +0 -188
- package/skills/blast-estimate/scripts/blast-estimate.mts +0 -586
- package/skills/check-field-mandates/scripts/check-field-mandates.mts +0 -337
- package/skills/check-partition-quality/scripts/check-partition-quality.mts +0 -338
- package/skills/check-plan-safety/scripts/check-plan-safety.mts +0 -148
- package/skills/check-plugin-manifests/scripts/check-plugin-manifests.mts +0 -303
- package/skills/check-project-specs/scripts/check-project-specs.mts +0 -369
- package/skills/check-retired-terms/scripts/check-retired-terms.mts +0 -293
- package/skills/check-scenario-overlap/scripts/check-scenario-overlap.mts +0 -250
- package/skills/check-spec-references/scripts/check-spec-references.mts +0 -422
- package/skills/check-spec-structure/scripts/check-spec-structure.mts +0 -347
- package/skills/collision-ladder/scripts/collision-ladder.mts +0 -660
- package/skills/concept-index/scripts/concept-index.mts +0 -246
- package/skills/discover-plans/scripts/discover-plans.mts +0 -215
- package/skills/discover-specs/scripts/discover-specs.mts +0 -420
- package/skills/init/scripts/wire-statusline.mts +0 -279
- package/skills/manage-ignore/scripts/manage-ignore.mts +0 -297
- package/skills/manage-scenario-bridge/scripts/manage-scenario-bridge.mts +0 -159
- package/skills/manage-spec-anchors/scripts/manage-spec-anchors.mts +0 -331
- package/skills/mission-graph/scripts/mission-graph.mts +0 -1333
- package/skills/place-node/scripts/place-node.mts +0 -158
- package/skills/plan-retirement/scripts/retire-plans.mts +0 -199
- package/skills/resolve-governances/scripts/resolve-governances.mts +0 -518
- package/skills/resolve-tracking/scripts/resolve-tracking.mts +0 -214
- package/skills/spec-gate/scripts/check-spec-state.mts +0 -637
- package/skills/spec-gate/scripts/check-suite.mts +0 -538
- package/skills/spec-gate/scripts/classify-edit-class.mts +0 -414
- package/skills/spec-gate/vendor/gherkin-cli.d.mts +0 -2
- package/skills/touch-set-correction/scripts/touch-set-correction.mts +0 -420
- package/skills/verify-scenarios/scripts/verify-scenarios.mts +0 -470
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
|
|
3
2
|
"name": "sdd",
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Spec-Driven Development. Scaffold, validate, and maintain behavioral specs (spec.md + .feature files) for software features.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "unional"
|
|
7
7
|
},
|
|
8
8
|
"homepage": "https://github.com/cyberuni/cyber-sdd",
|
|
9
9
|
"repository": "https://github.com/cyberuni/cyber-sdd",
|
|
10
|
-
"version": "0.6.1",
|
|
11
10
|
"skills": "./skills",
|
|
12
11
|
"agents": [
|
|
13
12
|
"./agents/sdd-automaton.md",
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://raw.githubusercontent.com/cyberuni/marketplace/main/schema/claude/plugin.json",
|
|
3
2
|
"name": "sdd",
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Spec-Driven Development. Scaffold, validate, and maintain behavioral specs (spec.md + .feature files) for software features.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "unional"
|
|
7
7
|
},
|
|
8
8
|
"homepage": "https://github.com/cyberuni/cyber-sdd",
|
|
9
9
|
"repository": "https://github.com/cyberuni/cyber-sdd",
|
|
10
|
-
"version": "0.6.1",
|
|
11
10
|
"skills": "./skills",
|
|
12
11
|
"agents": [
|
|
13
12
|
"./agents/sdd-automaton.md",
|
package/agents/sdd-scanner.md
CHANGED
|
@@ -82,7 +82,7 @@ count** maintained in the ledger.
|
|
|
82
82
|
idempotent: **before drafting**, detect whether the mission was **already distilled** (a prior
|
|
83
83
|
`strategy` entry whose `distills` equals its `<cr-ref>`) and if so **draft nothing**. Decide this by a
|
|
84
84
|
**structured JSONL parse, never a substring/regex text match** — **reuse** the exported
|
|
85
|
-
`distilledCrRefs` engine from `../skills/plan-retirement/scripts/retire-plans.
|
|
85
|
+
`distilledCrRefs` engine from `../skills/plan-retirement/scripts/retire-plans.mjs` over the project
|
|
86
86
|
`ledger/` directory and membership-test the `<cr-ref>`. It parses each line with `JSON.parse`, so it
|
|
87
87
|
is correct against a **pretty-printed** entry (a space after the colon), a wrapped or reordered
|
|
88
88
|
object — a naive no-space grep (`"distills":"<cr-ref>"`) silently under-counts and re-drafts an
|
package/agents/sdd-spec-judge.md
CHANGED
|
@@ -102,13 +102,13 @@ present (or a reference/descriptive node) ⇒ `{ result: pass, missing: [] }`.
|
|
|
102
102
|
reading the files — the gate never hard-depends on NodeJS):
|
|
103
103
|
- State-machine legality of the `(status, markers, .feature, approval)` tuple:
|
|
104
104
|
```bash
|
|
105
|
-
node "<spec-gate skill>/scripts/check-spec-state.
|
|
105
|
+
node "<spec-gate skill>/scripts/check-spec-state.mjs" [--root <specs-dir>]
|
|
106
106
|
```
|
|
107
107
|
- Gherkin validity, boolean form, and scenario ordering/sectioning — scope it to the CR's
|
|
108
108
|
touched `.feature` files with `--files`; `--root` sweeps the whole corpus:
|
|
109
109
|
```bash
|
|
110
|
-
node "<spec-gate skill>/scripts/check-suite.
|
|
111
|
-
node "<spec-gate skill>/scripts/check-suite.
|
|
110
|
+
node "<spec-gate skill>/scripts/check-suite.mjs" --files <feature> [<feature> ...]
|
|
111
|
+
node "<spec-gate skill>/scripts/check-suite.mjs" [--root <specs-dir>]
|
|
112
112
|
```
|
|
113
113
|
- **Non-deterministic agent reasoning** — the three lenses' coverage, scope, and structural-fit
|
|
114
114
|
judgment, and the contradiction checks that need reading.
|
package/agents/sdd-warden.md
CHANGED
|
@@ -57,6 +57,14 @@ marker shape you leave — their fields and schema are owned there; never restat
|
|
|
57
57
|
routing-table row (the "concept of kind K lives in home H" taxonomy and its tie-breaks) is
|
|
58
58
|
correctly placed even where the strategy alone would put it elsewhere. Report a node misplaced only
|
|
59
59
|
when it **neither** follows the declared strategy **nor** matches a routing-table row.
|
|
60
|
+
- **Depth on capability nodes; `design/` by its own shape** (`sdd:spec-structure-governance`). A
|
|
61
|
+
capability node three levels deep is a depth finding naming it, its sub-grouping owed to a
|
|
62
|
+
`concept:` tag. Never apply that cap inside `design/`: there, read the placement map for the
|
|
63
|
+
**design version** — the folder it names is legal, and so are the files inside it; any other
|
|
64
|
+
sub-folder of `design/` besides `decisions/` is a **perspective folder** finding naming it; a named
|
|
65
|
+
design version with **no** recorded cut trigger is a finding, and so is a named design version
|
|
66
|
+
whose folder does not exist (a stale record the cut left behind). Tell a version folder from a
|
|
67
|
+
perspective folder by the map, never by guessing from its contents.
|
|
60
68
|
- **Stations, not status.** You run the `corpus/` stations (`check-spec-structure`,
|
|
61
69
|
`check-scenario-overlap`, `align-spec`) in-session and **never** write a spec's `status`. A station
|
|
62
70
|
is **not** a dependency — you depend on the corpus structure + discovery, not on any given station
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cyber-sdd",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Spec-Driven Development. Scaffold, validate, and maintain behavioral specs (spec.md + .feature files) for software features.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -10,32 +10,30 @@
|
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"type": "module",
|
|
12
12
|
"bin": {
|
|
13
|
-
"sdd-check-specs": "./
|
|
13
|
+
"sdd-check-specs": "./skills/check-project-specs/scripts/check-project-specs.mjs"
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
|
-
"dist",
|
|
17
16
|
"skills",
|
|
18
17
|
"agents",
|
|
19
|
-
".
|
|
18
|
+
"plugin.json",
|
|
20
19
|
".codex-plugin",
|
|
21
|
-
".claude-plugin"
|
|
22
|
-
"!skills/**/*.test.mts"
|
|
20
|
+
".claude-plugin"
|
|
23
21
|
],
|
|
24
|
-
"dependencies": {
|
|
25
|
-
"gherkin-cli": "0.2.1"
|
|
26
|
-
},
|
|
27
22
|
"homepage": "https://github.com/cyberuni/cyber-sdd",
|
|
28
23
|
"devDependencies": {
|
|
29
|
-
"
|
|
24
|
+
"gherkin-cli": "0.2.1",
|
|
25
|
+
"tsdown": "^0.23.0",
|
|
26
|
+
"universal-plugin": "^0.16.0"
|
|
30
27
|
},
|
|
31
28
|
"engines": {
|
|
32
29
|
"node": ">=22.11"
|
|
33
30
|
},
|
|
34
31
|
"scripts": {
|
|
35
|
-
"build": "
|
|
32
|
+
"build:skills": "universal-plugin plugin build",
|
|
36
33
|
"build:vendor": "tsdown -c tsdown.vendor.config.ts",
|
|
37
|
-
"check:
|
|
38
|
-
"
|
|
34
|
+
"check:scripts": "universal-plugin plugin build --check",
|
|
35
|
+
"check:spec": "node ./src/check-project-specs/check-project-specs.mts",
|
|
36
|
+
"test": "node --test \"src/**/*.test.mts\"",
|
|
39
37
|
"typecheck": "tsc -p tsconfig.json"
|
|
40
38
|
}
|
|
41
39
|
}
|
package/plugin.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
|
+
"name": "sdd",
|
|
4
|
+
"version": "0.7.1",
|
|
5
|
+
"description": "Spec-Driven Development. Scaffold, validate, and maintain behavioral specs (spec.md + .feature files) for software features.",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "unional"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/cyberuni/cyber-sdd",
|
|
10
|
+
"repository": "https://github.com/cyberuni/cyber-sdd",
|
|
11
|
+
"skills": "./skills",
|
|
12
|
+
"agents": [
|
|
13
|
+
"./agents/sdd-automaton.md",
|
|
14
|
+
"./agents/sdd-impl-judge.md",
|
|
15
|
+
"./agents/sdd-scanner.md",
|
|
16
|
+
"./agents/sdd-spec-judge.md",
|
|
17
|
+
"./agents/sdd-warden.md"
|
|
18
|
+
],
|
|
19
|
+
"extensions": {
|
|
20
|
+
"org.cyberuni.universal-plugin": {
|
|
21
|
+
"vendors": ["claude-code", "codex"],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"skills/align-spec/scripts/align-spec.mjs": "src/align-spec/align-spec.mts",
|
|
24
|
+
"skills/blast-estimate/scripts/blast-estimate.mjs": "src/blast-estimate/blast-estimate.mts",
|
|
25
|
+
"skills/check-field-mandates/scripts/check-field-mandates.mjs": "src/check-field-mandates/check-field-mandates.mts",
|
|
26
|
+
"skills/check-partition-quality/scripts/check-partition-quality.mjs": "src/check-partition-quality/check-partition-quality.mts",
|
|
27
|
+
"skills/check-plan-safety/scripts/check-plan-safety.mjs": "src/check-plan-safety/check-plan-safety.mts",
|
|
28
|
+
"skills/check-plugin-manifests/scripts/check-plugin-manifests.mjs": "src/check-plugin-manifests/check-plugin-manifests.mts",
|
|
29
|
+
"skills/check-project-specs/scripts/check-project-specs.mjs": "src/check-project-specs/check-project-specs.mts",
|
|
30
|
+
"skills/check-retired-terms/scripts/check-retired-terms.mjs": "src/check-retired-terms/check-retired-terms.mts",
|
|
31
|
+
"skills/check-scenario-overlap/scripts/check-scenario-overlap.mjs": "src/check-scenario-overlap/check-scenario-overlap.mts",
|
|
32
|
+
"skills/check-spec-references/scripts/check-spec-references.mjs": "src/check-spec-references/check-spec-references.mts",
|
|
33
|
+
"skills/check-spec-structure/scripts/check-spec-structure.mjs": "src/check-spec-structure/check-spec-structure.mts",
|
|
34
|
+
"skills/collision-ladder/scripts/collision-ladder.mjs": "src/collision-ladder/collision-ladder.mts",
|
|
35
|
+
"skills/concept-index/scripts/concept-index.mjs": "src/concept-index/concept-index.mts",
|
|
36
|
+
"skills/discover-plans/scripts/discover-plans.mjs": "src/discover-plans/discover-plans.mts",
|
|
37
|
+
"skills/discover-specs/scripts/discover-specs.mjs": "src/discover-specs/discover-specs.mts",
|
|
38
|
+
"skills/init/scripts/wire-statusline.mjs": "src/init/wire-statusline.mts",
|
|
39
|
+
"skills/manage-ignore/scripts/manage-ignore.mjs": "src/manage-ignore/manage-ignore.mts",
|
|
40
|
+
"skills/manage-scenario-bridge/scripts/manage-scenario-bridge.mjs": "src/manage-scenario-bridge/manage-scenario-bridge.mts",
|
|
41
|
+
"skills/manage-spec-anchors/scripts/manage-spec-anchors.mjs": "src/manage-spec-anchors/manage-spec-anchors.mts",
|
|
42
|
+
"skills/mission-graph/scripts/mission-graph.mjs": "src/mission-graph/mission-graph.mts",
|
|
43
|
+
"skills/place-node/scripts/place-node.mjs": "src/place-node/place-node.mts",
|
|
44
|
+
"skills/plan-retirement/scripts/retire-plans.mjs": "src/plan-retirement/retire-plans.mts",
|
|
45
|
+
"skills/resolve-governances/scripts/resolve-governances.mjs": "src/resolve-governances/resolve-governances.mts",
|
|
46
|
+
"skills/resolve-tracking/scripts/resolve-tracking.mjs": "src/resolve-tracking/resolve-tracking.mts",
|
|
47
|
+
"skills/spec-gate/scripts/check-spec-state.mjs": "src/spec-gate/check-spec-state.mts",
|
|
48
|
+
"skills/spec-gate/scripts/check-suite.mjs": "src/spec-gate/check-suite.mts",
|
|
49
|
+
"skills/spec-gate/scripts/classify-edit-class.mjs": "src/spec-gate/classify-edit-class.mts",
|
|
50
|
+
"skills/touch-set-correction/scripts/touch-set-correction.mjs": "src/touch-set-correction/touch-set-correction.mts",
|
|
51
|
+
"skills/verify-scenarios/scripts/verify-scenarios.mjs": "src/verify-scenarios/verify-scenarios.mts"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -6,9 +6,9 @@ spec (or a chosen node set) — for audits, post-large-change verification, and
|
|
|
6
6
|
only project-spec tool that **reconciles** rather than only reporting.
|
|
7
7
|
|
|
8
8
|
```bash
|
|
9
|
-
node scripts/align-spec.
|
|
10
|
-
node scripts/align-spec.
|
|
11
|
-
node scripts/align-spec.
|
|
9
|
+
node scripts/align-spec.mjs --spec-dir <spec> # audit (TOON drift report)
|
|
10
|
+
node scripts/align-spec.mjs --spec-dir <spec> --check # CI guard (fails on drift)
|
|
11
|
+
node scripts/align-spec.mjs --spec-dir <spec> --nodes a,b --base HEAD~1
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
Detect splits into a mechanical **scenario-diff** (this engine, reusing `spec-gate`'s
|
|
@@ -22,7 +22,7 @@ node-shape or propose splits (`check-spec-structure`'s job).
|
|
|
22
22
|
## Run the scan
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
node "<skill>/scripts/align-spec.
|
|
25
|
+
node "<skill>/scripts/align-spec.mjs" [--spec-dir <spec>] [--nodes <a,b,...>] [--base <ref>] [--check] [--format toon|json]
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
- Default `--spec-dir` is `.`; default `--base` is `HEAD` (the scenario-diff baseline); default
|
|
@@ -35,7 +35,7 @@ node "<skill>/scripts/align-spec.mts" [--spec-dir <spec>] [--nodes <a,b,...>] [-
|
|
|
35
35
|
|
|
36
36
|
## The procedure — Detect
|
|
37
37
|
|
|
38
|
-
Detect has two layers, and this skill's engine (`scripts/align-spec.
|
|
38
|
+
Detect has two layers, and this skill's engine (`scripts/align-spec.mjs`) ships code for only
|
|
39
39
|
the mechanical one:
|
|
40
40
|
|
|
41
41
|
1. **Mechanical scenario-diff (engine code)** — for each node's `.feature`, run the same
|