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.
Files changed (136) hide show
  1. package/.claude-plugin/plugin.json +1 -2
  2. package/.codex-plugin/plugin.json +1 -2
  3. package/agents/sdd-scanner.md +1 -1
  4. package/agents/sdd-spec-judge.md +3 -3
  5. package/agents/sdd-warden.md +8 -0
  6. package/package.json +11 -13
  7. package/plugin.json +55 -0
  8. package/skills/align-spec/README.md +3 -3
  9. package/skills/align-spec/SKILL.md +2 -2
  10. package/skills/align-spec/scripts/align-spec.mjs +6755 -0
  11. package/skills/architect-impl-governance/SKILL.md +3 -1
  12. package/skills/architect-spec-governance/SKILL.md +5 -1
  13. package/skills/blast-estimate/README.md +4 -4
  14. package/skills/blast-estimate/SKILL.md +1 -1
  15. package/skills/blast-estimate/scripts/blast-estimate.mjs +601 -0
  16. package/skills/check-field-mandates/SKILL.md +1 -1
  17. package/skills/check-field-mandates/scripts/check-field-mandates.mjs +253 -0
  18. package/skills/check-partition-quality/SKILL.md +1 -1
  19. package/skills/check-partition-quality/scripts/check-partition-quality.mjs +235 -0
  20. package/skills/check-plan-safety/README.md +3 -3
  21. package/skills/check-plan-safety/SKILL.md +3 -4
  22. package/skills/check-plan-safety/scripts/check-plan-safety.mjs +109 -0
  23. package/skills/check-plugin-manifests/SKILL.md +1 -1
  24. package/skills/check-plugin-manifests/scripts/check-plugin-manifests.mjs +250 -0
  25. package/skills/check-project-specs/README.md +3 -3
  26. package/skills/check-project-specs/SKILL.md +3 -3
  27. package/{dist/check-project-specs/scripts/check-project-specs.js → skills/check-project-specs/scripts/check-project-specs.mjs} +300 -18
  28. package/skills/check-retired-terms/README.md +2 -2
  29. package/skills/check-retired-terms/SKILL.md +4 -5
  30. package/skills/check-retired-terms/scripts/check-retired-terms.mjs +186 -0
  31. package/skills/check-scenario-overlap/README.md +2 -2
  32. package/skills/check-scenario-overlap/SKILL.md +2 -3
  33. package/{dist/check-scenario-overlap/scripts/check-scenario-overlap.js → skills/check-scenario-overlap/scripts/check-scenario-overlap.mjs} +3 -1
  34. package/skills/check-spec-references/README.md +1 -1
  35. package/skills/check-spec-references/SKILL.md +3 -3
  36. package/{dist/check-spec-references/scripts/check-spec-references.js → skills/check-spec-references/scripts/check-spec-references.mjs} +3 -1
  37. package/skills/check-spec-structure/README.md +2 -2
  38. package/skills/check-spec-structure/SKILL.md +2 -3
  39. package/{dist/check-spec-structure/scripts/check-spec-structure.js → skills/check-spec-structure/scripts/check-spec-structure.mjs} +3 -1
  40. package/skills/collision-ladder/README.md +2 -2
  41. package/skills/collision-ladder/SKILL.md +2 -2
  42. package/skills/collision-ladder/scripts/collision-ladder.mjs +7047 -0
  43. package/skills/combat-log-governance/SKILL.md +1 -1
  44. package/skills/concept-index/README.md +2 -2
  45. package/skills/concept-index/SKILL.md +2 -2
  46. package/{dist/concept-index/scripts/concept-index.js → skills/concept-index/scripts/concept-index.mjs} +3 -1
  47. package/skills/discover-plans/README.md +5 -5
  48. package/skills/discover-plans/SKILL.md +2 -2
  49. package/skills/discover-plans/scripts/discover-plans.mjs +137 -0
  50. package/skills/discover-specs/README.md +4 -4
  51. package/skills/discover-specs/SKILL.md +2 -2
  52. package/{dist/discover-specs/scripts/discover-specs.js → skills/discover-specs/scripts/discover-specs.mjs} +4 -1
  53. package/skills/doctrine-loop/SKILL.md +2 -2
  54. package/skills/formation-loop/SKILL.md +10 -0
  55. package/skills/gate-validation-governance/SKILL.md +2 -2
  56. package/skills/init/README.md +5 -5
  57. package/skills/init/SKILL.md +3 -3
  58. package/skills/init/scripts/wire-statusline.mjs +168 -0
  59. package/skills/manage-ignore/README.md +8 -8
  60. package/skills/manage-ignore/SKILL.md +2 -3
  61. package/skills/manage-ignore/scripts/manage-ignore.mjs +285 -0
  62. package/skills/manage-scenario-bridge/README.md +6 -6
  63. package/skills/manage-scenario-bridge/SKILL.md +2 -2
  64. package/skills/manage-scenario-bridge/scripts/manage-scenario-bridge.mjs +239 -0
  65. package/skills/manage-spec-anchors/README.md +7 -7
  66. package/skills/manage-spec-anchors/SKILL.md +2 -2
  67. package/skills/manage-spec-anchors/scripts/manage-spec-anchors.mjs +310 -0
  68. package/skills/mission-graph/README.md +2 -2
  69. package/skills/mission-graph/SKILL.md +10 -10
  70. package/skills/mission-graph/scripts/mission-graph.mjs +1040 -0
  71. package/skills/pause-mission/SKILL.md +2 -2
  72. package/skills/place-node/README.md +1 -1
  73. package/skills/place-node/SKILL.md +3 -3
  74. package/skills/place-node/scripts/place-node.mjs +117 -0
  75. package/skills/plan-retirement/README.md +2 -2
  76. package/skills/plan-retirement/SKILL.md +1 -1
  77. package/skills/plan-retirement/scripts/retire-plans.mjs +123 -0
  78. package/skills/resolve-governances/README.md +4 -4
  79. package/skills/resolve-governances/SKILL.md +2 -2
  80. package/skills/resolve-governances/scripts/resolve-governances.mjs +352 -0
  81. package/skills/resolve-tracking/SKILL.md +2 -2
  82. package/skills/resolve-tracking/scripts/resolve-tracking.mjs +152 -0
  83. package/skills/scaffold-project-spec/SKILL.md +3 -3
  84. package/skills/sdd/SKILL.md +1 -1
  85. package/skills/spec-gate/README.md +12 -9
  86. package/skills/spec-gate/SKILL.md +6 -6
  87. package/{dist/spec-gate/scripts/check-spec-state.js → skills/spec-gate/scripts/check-spec-state.mjs} +3 -1
  88. package/{dist/spec-gate/vendor/gherkin-cli.js → skills/spec-gate/scripts/check-suite.mjs} +319 -188
  89. package/skills/spec-gate/{vendor/gherkin-cli.mjs → scripts/classify-edit-class.mjs} +243 -209
  90. package/skills/spec-producer-governance/SKILL.md +4 -4
  91. package/skills/spec-structure-governance/README.md +4 -2
  92. package/skills/spec-structure-governance/SKILL.md +42 -7
  93. package/skills/start-mission/SKILL.md +2 -2
  94. package/skills/suite-format-governance/README.md +1 -1
  95. package/skills/suite-format-governance/SKILL.md +1 -1
  96. package/skills/touch-set-correction/README.md +5 -5
  97. package/skills/touch-set-correction/SKILL.md +2 -2
  98. package/skills/touch-set-correction/scripts/touch-set-correction.mjs +6663 -0
  99. package/skills/verify-scenarios/README.md +9 -9
  100. package/skills/verify-scenarios/SKILL.md +2 -2
  101. package/skills/verify-scenarios/scripts/verify-scenarios.mjs +6539 -0
  102. package/.plugin/pins.json +0 -3
  103. package/.plugin/plugin.json +0 -19
  104. package/dist/align-spec/scripts/align-spec.js +0 -102
  105. package/dist/spec-gate/scripts/check-suite.js +0 -317
  106. package/dist/spec-gate/scripts/classify-edit-class.js +0 -263
  107. package/skills/align-spec/scripts/align-spec.mts +0 -188
  108. package/skills/blast-estimate/scripts/blast-estimate.mts +0 -586
  109. package/skills/check-field-mandates/scripts/check-field-mandates.mts +0 -337
  110. package/skills/check-partition-quality/scripts/check-partition-quality.mts +0 -338
  111. package/skills/check-plan-safety/scripts/check-plan-safety.mts +0 -148
  112. package/skills/check-plugin-manifests/scripts/check-plugin-manifests.mts +0 -303
  113. package/skills/check-project-specs/scripts/check-project-specs.mts +0 -369
  114. package/skills/check-retired-terms/scripts/check-retired-terms.mts +0 -293
  115. package/skills/check-scenario-overlap/scripts/check-scenario-overlap.mts +0 -250
  116. package/skills/check-spec-references/scripts/check-spec-references.mts +0 -422
  117. package/skills/check-spec-structure/scripts/check-spec-structure.mts +0 -347
  118. package/skills/collision-ladder/scripts/collision-ladder.mts +0 -660
  119. package/skills/concept-index/scripts/concept-index.mts +0 -246
  120. package/skills/discover-plans/scripts/discover-plans.mts +0 -215
  121. package/skills/discover-specs/scripts/discover-specs.mts +0 -420
  122. package/skills/init/scripts/wire-statusline.mts +0 -279
  123. package/skills/manage-ignore/scripts/manage-ignore.mts +0 -297
  124. package/skills/manage-scenario-bridge/scripts/manage-scenario-bridge.mts +0 -159
  125. package/skills/manage-spec-anchors/scripts/manage-spec-anchors.mts +0 -331
  126. package/skills/mission-graph/scripts/mission-graph.mts +0 -1333
  127. package/skills/place-node/scripts/place-node.mts +0 -158
  128. package/skills/plan-retirement/scripts/retire-plans.mts +0 -199
  129. package/skills/resolve-governances/scripts/resolve-governances.mts +0 -518
  130. package/skills/resolve-tracking/scripts/resolve-tracking.mts +0 -214
  131. package/skills/spec-gate/scripts/check-spec-state.mts +0 -637
  132. package/skills/spec-gate/scripts/check-suite.mts +0 -538
  133. package/skills/spec-gate/scripts/classify-edit-class.mts +0 -414
  134. package/skills/spec-gate/vendor/gherkin-cli.d.mts +0 -2
  135. package/skills/touch-set-correction/scripts/touch-set-correction.mts +0 -420
  136. 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",
@@ -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.mts` over the project
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
@@ -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.mts" [--root <specs-dir>]
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.mts" --files <feature> [<feature> ...]
111
- node "<spec-gate skill>/scripts/check-suite.mts" [--root <specs-dir>]
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.
@@ -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.6.1",
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": "./dist/check-project-specs/scripts/check-project-specs.js"
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
- ".plugin",
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
- "tsdown": "^0.23.0"
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": "tsdown",
32
+ "build:skills": "universal-plugin plugin build",
36
33
  "build:vendor": "tsdown -c tsdown.vendor.config.ts",
37
- "check:spec": "node ./skills/check-project-specs/scripts/check-project-specs.mts",
38
- "test": "node --test \"skills/*/scripts/*.test.mts\"",
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.mts --spec-dir <spec> # audit (TOON drift report)
10
- node scripts/align-spec.mts --spec-dir <spec> --check # CI guard (fails on drift)
11
- node scripts/align-spec.mts --spec-dir <spec> --nodes a,b --base HEAD~1
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.mts" [--spec-dir <spec>] [--nodes <a,b,...>] [--base <ref>] [--check] [--format toon|json]
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.mts`) ships code for only
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