@shrkcrft/inspector 0.1.0-alpha.2 → 0.1.0-alpha.20

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 (192) hide show
  1. package/dist/agent-brief.d.ts.map +1 -1
  2. package/dist/agent-brief.js +59 -10
  3. package/dist/agent-contract-gate.d.ts.map +1 -1
  4. package/dist/agent-contract-gate.js +25 -2
  5. package/dist/agent-instructions.d.ts.map +1 -1
  6. package/dist/agent-instructions.js +11 -0
  7. package/dist/agent-task-prep.d.ts.map +1 -1
  8. package/dist/agent-task-prep.js +1 -3
  9. package/dist/ai-readiness.d.ts +84 -9
  10. package/dist/ai-readiness.d.ts.map +1 -1
  11. package/dist/ai-readiness.js +181 -35
  12. package/dist/apply-dispatch-trace.d.ts +1 -2
  13. package/dist/apply-dispatch-trace.d.ts.map +1 -1
  14. package/dist/apply-dispatch-trace.js +0 -9
  15. package/dist/area-explore.d.ts.map +1 -1
  16. package/dist/area-explore.js +4 -6
  17. package/dist/area-map.d.ts +0 -5
  18. package/dist/area-map.d.ts.map +1 -1
  19. package/dist/area-map.js +0 -10
  20. package/dist/changed-preflight.d.ts +7 -0
  21. package/dist/changed-preflight.d.ts.map +1 -1
  22. package/dist/changed-preflight.js +56 -9
  23. package/dist/changes-summary.d.ts.map +1 -1
  24. package/dist/changes-summary.js +10 -1
  25. package/dist/check-guardrail-globs.d.ts +16 -0
  26. package/dist/check-guardrail-globs.d.ts.map +1 -0
  27. package/dist/check-guardrail-globs.js +38 -0
  28. package/dist/code-intelligence-doctor.d.ts +21 -0
  29. package/dist/code-intelligence-doctor.d.ts.map +1 -0
  30. package/dist/code-intelligence-doctor.js +985 -0
  31. package/dist/command-recommender.d.ts.map +1 -1
  32. package/dist/command-recommender.js +23 -0
  33. package/dist/compliance-profiles.js +1 -1
  34. package/dist/construct-adoption-diff.d.ts.map +1 -1
  35. package/dist/construct-adoption-diff.js +2 -1
  36. package/dist/construct-adoption.d.ts.map +1 -1
  37. package/dist/construct-adoption.js +10 -11
  38. package/dist/construct-inference.d.ts.map +1 -1
  39. package/dist/construct-inference.js +5 -2
  40. package/dist/construct-registry.d.ts.map +1 -1
  41. package/dist/construct-registry.js +2 -10
  42. package/dist/contract-file-rule.d.ts +8 -0
  43. package/dist/contract-file-rule.d.ts.map +1 -1
  44. package/dist/contract-file-rule.js +8 -3
  45. package/dist/contract-template-registry.d.ts.map +1 -1
  46. package/dist/contract-template-registry.js +2 -10
  47. package/dist/contradictions.d.ts +8 -1
  48. package/dist/contradictions.d.ts.map +1 -1
  49. package/dist/contradictions.js +37 -35
  50. package/dist/convention-registry.d.ts.map +1 -1
  51. package/dist/convention-registry.js +2 -10
  52. package/dist/coverage-report.d.ts.map +1 -1
  53. package/dist/coverage-report.js +14 -1
  54. package/dist/dashboard/dashboard-knowledge.d.ts +8 -0
  55. package/dist/dashboard/dashboard-knowledge.d.ts.map +1 -0
  56. package/dist/dashboard/dashboard-knowledge.js +259 -0
  57. package/dist/decision-records.d.ts.map +1 -1
  58. package/dist/decision-records.js +5 -10
  59. package/dist/delegate-catalog.d.ts +45 -0
  60. package/dist/delegate-catalog.d.ts.map +1 -0
  61. package/dist/delegate-catalog.js +50 -0
  62. package/dist/delegate-doctor.d.ts +15 -0
  63. package/dist/delegate-doctor.d.ts.map +1 -0
  64. package/dist/delegate-doctor.js +36 -0
  65. package/dist/delegate-pack-recipes.d.ts +29 -0
  66. package/dist/delegate-pack-recipes.d.ts.map +1 -0
  67. package/dist/delegate-pack-recipes.js +77 -0
  68. package/dist/demo-script.d.ts +0 -1
  69. package/dist/demo-script.d.ts.map +1 -1
  70. package/dist/demo-script.js +0 -43
  71. package/dist/docs-check.js +1 -1
  72. package/dist/drift-baseline.d.ts.map +1 -1
  73. package/dist/drift-baseline.js +5 -2
  74. package/dist/feedback-ingestion.d.ts.map +1 -1
  75. package/dist/feedback-ingestion.js +2 -16
  76. package/dist/git-helpers.d.ts +15 -0
  77. package/dist/git-helpers.d.ts.map +1 -1
  78. package/dist/git-helpers.js +51 -4
  79. package/dist/helper-registry.d.ts +27 -54
  80. package/dist/helper-registry.d.ts.map +1 -1
  81. package/dist/helper-registry.js +16 -517
  82. package/dist/impact-analysis.d.ts.map +1 -1
  83. package/dist/impact-analysis.js +14 -7
  84. package/dist/index.d.ts +8 -2
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +8 -2
  87. package/dist/ingest-drafts.js +8 -4
  88. package/dist/migration-profile-registry.d.ts.map +1 -1
  89. package/dist/migration-profile-registry.js +2 -10
  90. package/dist/monorepo-onboarding.js +2 -2
  91. package/dist/onboarding-report.d.ts.map +1 -1
  92. package/dist/onboarding-report.js +5 -1
  93. package/dist/onboarding.d.ts +1 -1
  94. package/dist/onboarding.d.ts.map +1 -1
  95. package/dist/onboarding.js +9 -66
  96. package/dist/ownership.js +2 -10
  97. package/dist/pack-contributions-inventory.d.ts +0 -1
  98. package/dist/pack-contributions-inventory.d.ts.map +1 -1
  99. package/dist/pack-contributions-inventory.js +17 -29
  100. package/dist/pack-helper-registry.d.ts.map +1 -1
  101. package/dist/pack-helper-registry.js +2 -10
  102. package/dist/pack-release-check.d.ts.map +1 -1
  103. package/dist/pack-release-check.js +4 -11
  104. package/dist/pack-signature-status.d.ts.map +1 -1
  105. package/dist/pack-signature-status.js +18 -2
  106. package/dist/pack-test-runner.js +2 -10
  107. package/dist/plan-review.d.ts.map +1 -1
  108. package/dist/plan-review.js +5 -10
  109. package/dist/plan-simulation.d.ts +13 -0
  110. package/dist/plan-simulation.d.ts.map +1 -1
  111. package/dist/plan-simulation.js +4 -21
  112. package/dist/playbook-registry.d.ts.map +1 -1
  113. package/dist/playbook-registry.js +2 -10
  114. package/dist/policy-engine.d.ts.map +1 -1
  115. package/dist/policy-engine.js +3 -11
  116. package/dist/policy-test.js +3 -11
  117. package/dist/profile-registry.d.ts +0 -1
  118. package/dist/profile-registry.d.ts.map +1 -1
  119. package/dist/profile-registry.js +4 -32
  120. package/dist/propose-knowledge.d.ts +15 -0
  121. package/dist/propose-knowledge.d.ts.map +1 -1
  122. package/dist/propose-knowledge.js +37 -4
  123. package/dist/quality-baseline.d.ts.map +1 -1
  124. package/dist/quality-baseline.js +3 -1
  125. package/dist/ranker-explainability.d.ts.map +1 -1
  126. package/dist/ranker-explainability.js +3 -9
  127. package/dist/registration-hint-registry.d.ts.map +1 -1
  128. package/dist/registration-hint-registry.js +2 -10
  129. package/dist/registry-lifecycle.d.ts +6 -0
  130. package/dist/registry-lifecycle.d.ts.map +1 -1
  131. package/dist/registry-lifecycle.js +137 -10
  132. package/dist/release-readiness.js +3 -3
  133. package/dist/repo-memory.d.ts.map +1 -1
  134. package/dist/repo-memory.js +3 -1
  135. package/dist/reposet.js +1 -1
  136. package/dist/repository-intelligence.d.ts.map +1 -1
  137. package/dist/repository-intelligence.js +7 -2
  138. package/dist/repository-knowledge-model.d.ts +1 -1
  139. package/dist/repository-knowledge-model.d.ts.map +1 -1
  140. package/dist/repository-stats.d.ts.map +1 -1
  141. package/dist/repository-stats.js +3 -1
  142. package/dist/resolve-verification-commands.d.ts +26 -0
  143. package/dist/resolve-verification-commands.d.ts.map +1 -0
  144. package/dist/resolve-verification-commands.js +55 -0
  145. package/dist/review-packet.d.ts.map +1 -1
  146. package/dist/review-packet.js +14 -17
  147. package/dist/rule-drift.d.ts.map +1 -1
  148. package/dist/rule-drift.js +24 -9
  149. package/dist/rule-scaffold.d.ts.map +1 -1
  150. package/dist/rule-scaffold.js +12 -4
  151. package/dist/scaffold-patterns.js +2 -10
  152. package/dist/search-tuning-registry.d.ts.map +1 -1
  153. package/dist/search-tuning-registry.js +2 -10
  154. package/dist/self-config-doctor-v2.d.ts +1 -1
  155. package/dist/self-config-doctor-v2.d.ts.map +1 -1
  156. package/dist/self-config-doctor-v2.js +6 -10
  157. package/dist/self-config-doctor.d.ts.map +1 -1
  158. package/dist/self-config-doctor.js +7 -13
  159. package/dist/sharkcraft-inspector.d.ts +14 -0
  160. package/dist/sharkcraft-inspector.d.ts.map +1 -1
  161. package/dist/sharkcraft-inspector.js +103 -1
  162. package/dist/start-here.d.ts +2 -2
  163. package/dist/start-here.d.ts.map +1 -1
  164. package/dist/start-here.js +16 -1
  165. package/dist/synthesize-from-onboarding.d.ts +68 -0
  166. package/dist/synthesize-from-onboarding.d.ts.map +1 -0
  167. package/dist/synthesize-from-onboarding.js +508 -0
  168. package/dist/task-packet.d.ts +13 -0
  169. package/dist/task-packet.d.ts.map +1 -1
  170. package/dist/task-packet.js +59 -6
  171. package/dist/task-ranker.d.ts.map +1 -1
  172. package/dist/task-ranker.js +1 -31
  173. package/dist/task-routing-hint-registry.d.ts.map +1 -1
  174. package/dist/task-routing-hint-registry.js +2 -10
  175. package/dist/template-drift.d.ts +7 -0
  176. package/dist/template-drift.d.ts.map +1 -1
  177. package/dist/template-drift.js +14 -6
  178. package/dist/test-impact.d.ts.map +1 -1
  179. package/dist/test-impact.js +5 -2
  180. package/dist/test-runner.d.ts.map +1 -1
  181. package/dist/test-runner.js +12 -17
  182. package/dist/universal-search.d.ts +0 -1
  183. package/dist/universal-search.d.ts.map +1 -1
  184. package/dist/universal-search.js +0 -12
  185. package/dist/why-file.js +66 -22
  186. package/package.json +18 -18
  187. package/dist/plugin-lifecycle-profile-registry.d.ts +0 -52
  188. package/dist/plugin-lifecycle-profile-registry.d.ts.map +0 -1
  189. package/dist/plugin-lifecycle-profile-registry.js +0 -202
  190. package/dist/plugin-lifecycle.d.ts +0 -132
  191. package/dist/plugin-lifecycle.d.ts.map +0 -1
  192. package/dist/plugin-lifecycle.js +0 -477
@@ -1 +1 @@
1
- {"version":3,"file":"registry-lifecycle.d.ts","sourceRoot":"","sources":["../src/registry-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,kCAAkC,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,eAAe,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACxD,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACzC,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACxC;AAyHD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,wBAAwB,CAoE3B;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CA6B1F"}
1
+ {"version":3,"file":"registry-lifecycle.d.ts","sourceRoot":"","sources":["../src/registry-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,kCAAkC,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,eAAe,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACxD;;;;OAIG;IACH,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAClD,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACzC,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACxC;AAuLD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,wBAAwB,CAsF3B;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CA8B1F"}
@@ -59,11 +59,111 @@ function walk(dir, projectRoot, out) {
59
59
  const REGISTER_PATTERNS = Object.freeze([
60
60
  // export function registerX(
61
61
  /(?:export\s+)?(?:async\s+)?function\s+(register[A-Z]\w*)\s*\(/g,
62
- // public/private registerX(
63
- /(?:public|private|protected)?\s*(?:async\s+)?(register[A-Z]\w*)\s*\(/g,
64
- // someRegistry.registerX = (...) =>
65
- /\b(register[A-Z]\w*)\s*=\s*\(/g,
62
+ // class method DECLARATION: requires a body `{` or return-type `:` after the
63
+ // params, which a bare call site (`registry.registerX(...)`) never has.
64
+ /(?:^|\n)[\t ]*(?:public|private|protected)?\s*(?:static\s+)?(?:async\s+)?(register[A-Z]\w*)\s*\([^;]*?\)\s*[:{]/g,
65
+ // assigned arrow / function expression: `registerX = () =>` / `registerX = function`
66
+ /\b(register[A-Z]\w*)\s*=\s*(?:async\s+)?(?:function\b|\([^)]*\)\s*(?::[^=]*)?=>)/g,
66
67
  ]);
68
+ // Accumulation of removable per-entry state — a registry that ADDS entries one
69
+ // at a time plausibly needs a way to remove them.
70
+ const ACCUMULATION_RE = /\.(?:set|add|push)\s*\(|\[[^\]]+\]\s*=[^=]/;
71
+ // A teardown-shaped API somewhere in the file — evidence the file is in the
72
+ // business of removing things, so a missing per-register remover is suspicious.
73
+ const TEARDOWN_RE = /\b(?:remove|unregister|clear|dispose|unsubscribe)\w*\s*\(|\boff\s*\(/i;
74
+ /**
75
+ * Blank out comments and string / template-literal bodies (preserving newlines
76
+ * so line numbers stay accurate) before scanning for `register*` declarations.
77
+ * Deterministic char-scan — no TS parser, consistent with this module's no-AST
78
+ * posture. Stops `register*` mentions inside comments / strings / docs from
79
+ * being counted as code.
80
+ */
81
+ function stripCommentsAndLiterals(content) {
82
+ const out = [];
83
+ const n = content.length;
84
+ let state = 'code';
85
+ const blank = (ch) => (ch === '\n' ? '\n' : ' ');
86
+ let i = 0;
87
+ while (i < n) {
88
+ const ch = content[i];
89
+ const next = content[i + 1];
90
+ if (state === 'code') {
91
+ if (ch === '/' && next === '/') {
92
+ state = 'line';
93
+ out.push(' ');
94
+ i += 2;
95
+ continue;
96
+ }
97
+ if (ch === '/' && next === '*') {
98
+ state = 'block';
99
+ out.push(' ');
100
+ i += 2;
101
+ continue;
102
+ }
103
+ if (ch === "'") {
104
+ state = 'sq';
105
+ out.push(' ');
106
+ i += 1;
107
+ continue;
108
+ }
109
+ if (ch === '"') {
110
+ state = 'dq';
111
+ out.push(' ');
112
+ i += 1;
113
+ continue;
114
+ }
115
+ if (ch === '`') {
116
+ state = 'tpl';
117
+ out.push(' ');
118
+ i += 1;
119
+ continue;
120
+ }
121
+ out.push(ch);
122
+ i += 1;
123
+ continue;
124
+ }
125
+ if (state === 'line') {
126
+ if (ch === '\n') {
127
+ state = 'code';
128
+ out.push('\n');
129
+ i += 1;
130
+ continue;
131
+ }
132
+ out.push(blank(ch));
133
+ i += 1;
134
+ continue;
135
+ }
136
+ if (state === 'block') {
137
+ if (ch === '*' && next === '/') {
138
+ state = 'code';
139
+ out.push(' ');
140
+ i += 2;
141
+ continue;
142
+ }
143
+ out.push(blank(ch));
144
+ i += 1;
145
+ continue;
146
+ }
147
+ // string / template literal body
148
+ const quote = state === 'sq' ? "'" : state === 'dq' ? '"' : '`';
149
+ if (ch === '\\') {
150
+ out.push(' ');
151
+ out.push(next === undefined ? '' : blank(next));
152
+ i += 2;
153
+ continue;
154
+ }
155
+ if (ch === quote) {
156
+ state = 'code';
157
+ out.push(' ');
158
+ i += 1;
159
+ continue;
160
+ }
161
+ out.push(blank(ch));
162
+ i += 1;
163
+ continue;
164
+ }
165
+ return out.join('');
166
+ }
67
167
  function findRegistersInFile(content) {
68
168
  const out = [];
69
169
  const seen = new Set();
@@ -95,10 +195,17 @@ function findIgnoreAnnotations(content, registerName) {
95
195
  return { ignore: false };
96
196
  }
97
197
  function expectedRemoverNames(registerName) {
98
- // registerX → removeX / unregisterX / clearX
99
- // registerXByScope → removeXByScope / unregisterXByScope / clearXByScope
198
+ // registerX → removeX / unregisterX / clearX / disposeX / unsubscribeX / Xoff
199
+ // registerXByScope → removeXByScope / (stem carries the scope suffix)
100
200
  const stem = registerName.slice('register'.length);
101
- return [`remove${stem}`, `unregister${stem}`, `clear${stem}`];
201
+ return [
202
+ `remove${stem}`,
203
+ `unregister${stem}`,
204
+ `clear${stem}`,
205
+ `dispose${stem}`,
206
+ `unsubscribe${stem}`,
207
+ `${stem}Off`,
208
+ ];
102
209
  }
103
210
  function findRemoverInContent(content, candidates) {
104
211
  for (const name of candidates) {
@@ -119,6 +226,7 @@ export function buildRegistryLifecycleReport(input) {
119
226
  const scanFiles = files.slice(0, limit);
120
227
  const matchedPairs = [];
121
228
  const missingRemovers = [];
229
+ const oneShotBootstrap = [];
122
230
  const ignored = [];
123
231
  let registersFound = 0;
124
232
  for (const file of scanFiles) {
@@ -131,7 +239,15 @@ export function buildRegistryLifecycleReport(input) {
131
239
  }
132
240
  if (isGeneratedFile(file, content))
133
241
  continue;
134
- const registers = findRegistersInFile(content);
242
+ // Scan declarations on code with comments/strings blanked out; keep the raw
243
+ // content only for the comment-based @shrkcrft annotations.
244
+ const code = stripCommentsAndLiterals(content);
245
+ const registers = findRegistersInFile(code);
246
+ // Per-file lifecycle evidence: only a file that BOTH accumulates removable
247
+ // state AND has a teardown-shaped API plausibly owes a per-register remover.
248
+ const hasAccumulation = ACCUMULATION_RE.test(code);
249
+ const hasTeardown = TEARDOWN_RE.test(code);
250
+ const ownsLifecycle = hasAccumulation && hasTeardown;
135
251
  for (const reg of registers) {
136
252
  registersFound += 1;
137
253
  const ann = findIgnoreAnnotations(content, reg.name);
@@ -146,7 +262,7 @@ export function buildRegistryLifecycleReport(input) {
146
262
  continue;
147
263
  }
148
264
  const candidates = expectedRemoverNames(reg.name);
149
- const remover = findRemoverInContent(content, candidates);
265
+ const remover = findRemoverInContent(code, candidates);
150
266
  if (remover) {
151
267
  matchedPairs.push({
152
268
  registerName: reg.name,
@@ -156,7 +272,7 @@ export function buildRegistryLifecycleReport(input) {
156
272
  removerLine: remover.line,
157
273
  });
158
274
  }
159
- else {
275
+ else if (ownsLifecycle) {
160
276
  missingRemovers.push({
161
277
  registerName: reg.name,
162
278
  expectedRemoverNames: candidates,
@@ -165,6 +281,15 @@ export function buildRegistryLifecycleReport(input) {
165
281
  suggestion: `Add ${candidates[0]}() / ${candidates[1]}() / ${candidates[2]}() — or annotate with \`@shrkcrft lifecycle-ignore <reason>\` / \`@shrkcrft lifecycle-managed-by <name>\` if cleanup is owned elsewhere.`,
166
282
  });
167
283
  }
284
+ else {
285
+ // No teardown-shaped API in the file → one-shot / bootstrap registration.
286
+ oneShotBootstrap.push({
287
+ registerName: reg.name,
288
+ file: relative(projectRoot, file),
289
+ line: reg.line,
290
+ reason: 'no teardown-shaped API in file — treated as one-shot bootstrap',
291
+ });
292
+ }
168
293
  }
169
294
  }
170
295
  const recommendations = [];
@@ -177,6 +302,7 @@ export function buildRegistryLifecycleReport(input) {
177
302
  registersFound,
178
303
  matchedPairs,
179
304
  missingRemovers,
305
+ oneShotBootstrap,
180
306
  ignored,
181
307
  recommendations,
182
308
  };
@@ -188,6 +314,7 @@ export function renderRegistryLifecycleReportText(report) {
188
314
  lines.push(` registers found ${report.registersFound}`);
189
315
  lines.push(` matched pairs ${report.matchedPairs.length}`);
190
316
  lines.push(` missing removers ${report.missingRemovers.length}`);
317
+ lines.push(` one-shot bootstrap ${report.oneShotBootstrap.length}`);
191
318
  lines.push(` ignored ${report.ignored.length}`);
192
319
  lines.push('');
193
320
  if (report.missingRemovers.length > 0) {
@@ -157,7 +157,7 @@ function checkReadmeRequiredSections(projectRoot) {
157
157
  const required = ['quick demo', 'onboard'];
158
158
  const missing = required.filter((s) => !body.includes(s));
159
159
  if (missing.length > 0) {
160
- return warn('readme-required-sections', 'README required sections', `README.md is missing section keywords: ${missing.join(', ')}`, 'Add a "Quick demo" and "Onboard" section so adopters land on something runnable.');
160
+ return warn('readme-required-sections', 'README required sections', `README.md is missing section keywords: ${missing.join(', ')}`, 'Add a "Quick demo" and "Onboard" section so consumers land on something runnable.');
161
161
  }
162
162
  return pass('readme-required-sections', 'README required sections', 'README.md has the expected sections.');
163
163
  }
@@ -315,13 +315,13 @@ export async function buildReleaseReadiness(inspection, options = {}) {
315
315
  checks.push(pass('release-notes', 'Public alpha release notes', 'Release notes file present.'));
316
316
  }
317
317
  if (!existsSync(limitsFile)) {
318
- checks.push(warn('public-alpha-limitations', 'Public alpha limitations doc', 'Missing docs/public-alpha-limitations.md', 'List the known limitations adopters should be aware of.'));
318
+ checks.push(warn('public-alpha-limitations', 'Public alpha limitations doc', 'Missing docs/public-alpha-limitations.md', 'List the known limitations consumers should be aware of.'));
319
319
  }
320
320
  else {
321
321
  checks.push(pass('public-alpha-limitations', 'Public alpha limitations doc', 'Limitations doc present.'));
322
322
  }
323
323
  if (!existsSync(externalQuickstart)) {
324
- checks.push(warn('external-quickstart', 'External repo quickstart', 'Missing docs/external-repo-quickstart.md', 'Add a 5-minute external-adopter quickstart.'));
324
+ checks.push(warn('external-quickstart', 'External repo quickstart', 'Missing docs/external-repo-quickstart.md', 'Add a 5-minute external-consumer quickstart.'));
325
325
  }
326
326
  else {
327
327
  checks.push(pass('external-quickstart', 'External repo quickstart', 'Quickstart doc present.'));
@@ -1 +1 @@
1
- {"version":3,"file":"repo-memory.d.ts","sourceRoot":"","sources":["../src/repo-memory.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,kBAAkB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnC,WAAW,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC/C,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,2BAA2B,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,yBAAyB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,sBAAsB,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3E,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3C,kBAAkB,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACnE,qBAAqB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACpE,4BAA4B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3E,4BAA4B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3E,uBAAuB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACtE,gBAAgB,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,iBAAiB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACxD;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,kBAAkB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,gBAAgB,CAAC;IAC/E,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC1C,kBAAkB,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD,iBAAiB,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACpD,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAqJD,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAkQjC;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,GAC5B,MAAM,CAMR;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAQvF;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,kBAAkB,CAaxG;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,GAAG,IAAI,EACpC,IAAI,EAAE,MAAM,GACX,iBAAiB,CAgDnB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAmE5E;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,CA2BjE"}
1
+ {"version":3,"file":"repo-memory.d.ts","sourceRoot":"","sources":["../src/repo-memory.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,9 @@ function walkJsonFiles(root) {
89
89
  if (st.isDirectory()) {
90
90
  let entries;
91
91
  try {
92
- entries = readdirSync(cur);
92
+ // Sort the walk so `shrk memory` topFiles / riskyFilesByLanguage slices
93
+ // are deterministic, not filesystem-order-dependent.
94
+ entries = readdirSync(cur).sort();
93
95
  }
94
96
  catch {
95
97
  continue;
package/dist/reposet.js CHANGED
@@ -42,7 +42,7 @@ function exampleConfigBody() {
42
42
  schema: REPOSET_SCHEMA,
43
43
  repos: [
44
44
  { id: 'sharkcraft', name: 'SharkCraft', root: '.', tags: ['engine'], role: 'engine' },
45
- { id: 'example-adopter', name: 'Example adopter project', root: '../example-adopter', tags: ['adopter'], role: 'adopter' },
45
+ { id: 'example-consumer', name: 'Example consumer project', root: '../example-consumer', tags: ['consumer'], role: 'consumer' },
46
46
  ],
47
47
  }, null, 2);
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repository-intelligence.d.ts","sourceRoot":"","sources":["../src/repository-intelligence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository-intelligence.d.ts","sourceRoot":"","sources":["../src/repository-intelligence.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,8BAA8B,0CAA0C,CAAC;AAEtF,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,eAAe;IACxB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,YAAY,kBAAkB;IAC9B,aAAa,mBAAmB;IAChC,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,SAAS,eAAe;IACxB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,YAAY,kBAAkB;IAC9B,SAAS,eAAe;IACxB,OAAO,YAAY;IACnB,YAAY,kBAAkB;IAC9B,YAAY,kBAAkB;IAC9B,YAAY,kBAAkB;IAC9B,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,WAAW,kBAAkB;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,GAAG,eAAe,CAAC;CAC3C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qEAAqE;IACrE,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,wCAAwC;IACvD,iGAAiG;IACjG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sGAAsG;IACtG,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,OAAO,8BAA8B,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAClC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAClC,SAAS,EAAE,yBAAyB,CAAC;IACrC,UAAU,EAAE,0BAA0B,CAAC;CACxC;AAwED,wBAAsB,gCAAgC,CACpD,UAAU,EAAE,qBAAqB,EACjC,OAAO,GAAE,wCAA6C,GACrD,OAAO,CAAC,4BAA4B,CAAC,CAgUvC;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,4BAA4B,EACnC,EAAE,EAAE,MAAM,GACT,eAAe,GAAG,SAAS,CAE7B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,4BAA4B,EACnC,EAAE,EAAE,MAAM,GACT,0BAA0B,GAAG,SAAS,CASxC;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,4BAA4B,EACnC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,QAAQ,SAAI,GACX,SAAS,MAAM,EAAE,GAAG,SAAS,CAsC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACjC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,0GAA0G;AAC1G,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAClC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAClC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAqCD,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG;IAC3D,UAAU,EAAE,0BAA0B,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAcA;AAED,2CAA2C;AAC3C,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAK5E;AAiFD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,4BAA4B,EACnC,KAAK,EAAE,qBAAqB,GAAG,0BAA0B,GACxD,2BAA2B,CA0B7B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI9F;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAgC5F"}
@@ -71,7 +71,9 @@ function listPackages(projectRoot) {
71
71
  const root = nodePath.join(projectRoot, top);
72
72
  if (!existsSync(root))
73
73
  continue;
74
- for (const short of readdirSync(root)) {
74
+ // Sort so package iteration order (and therefore which packages' files land
75
+ // before FILES_CAP truncates) is deterministic, not filesystem-dependent.
76
+ for (const short of readdirSync(root).sort()) {
75
77
  const dir = nodePath.join(root, short);
76
78
  const pkgJson = nodePath.join(dir, 'package.json');
77
79
  if (!existsSync(pkgJson))
@@ -106,7 +108,10 @@ function walkSourceFiles(packageDir, cap) {
106
108
  const dir = stack.pop();
107
109
  let entries = [];
108
110
  try {
109
- entries = readdirSync(dir);
111
+ // Sort entries so the capped walk selects the SAME files every run — the
112
+ // `out.length >= cap` early-break otherwise makes the selected set depend
113
+ // on filesystem order.
114
+ entries = readdirSync(dir).sort();
110
115
  }
111
116
  catch {
112
117
  continue;
@@ -51,7 +51,7 @@ export interface IArchitectureModel {
51
51
  layers: readonly IArchitectureLayerSummary[];
52
52
  /** Public API surfaces (paths whose deep imports should be forbidden). */
53
53
  publicApis: readonly string[];
54
- /** Notes about cycles or imports that violate the inferred layer order. */
54
+ /** Notes about cycles or other import-graph observations. */
55
55
  notes: readonly string[];
56
56
  }
57
57
  export interface IBusinessConcept {
@@ -1 +1 @@
1
- {"version":3,"file":"repository-knowledge-model.d.ts","sourceRoot":"","sources":["../src/repository-knowledge-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository-knowledge-model.d.ts","sourceRoot":"","sources":["../src/repository-knowledge-model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"repository-stats.d.ts","sourceRoot":"","sources":["../src/repository-stats.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,uBAAuB,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAChD,QAAQ,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC7C,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA+OD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,gBAAgB,CAAC,CA8G3B"}
1
+ {"version":3,"file":"repository-stats.d.ts","sourceRoot":"","sources":["../src/repository-stats.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,uBAAuB,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAChD,QAAQ,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC7C,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiPD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,gBAAgB,CAAC,CA8G3B"}
@@ -115,7 +115,9 @@ function walkRepository(root, maxFiles) {
115
115
  const cur = stack.pop();
116
116
  let entries;
117
117
  try {
118
- entries = readdirSync(cur);
118
+ // Sort the walk so `topFiles` (byte-tie order) and `byLanguage` (tie
119
+ // order) in `shrk stats` are deterministic, not filesystem-dependent.
120
+ entries = readdirSync(cur).sort();
119
121
  }
120
122
  catch {
121
123
  continue;
@@ -0,0 +1,26 @@
1
+ import type { ISharkcraftInspection } from './sharkcraft-inspector.js';
2
+ /**
3
+ * Resolve the verification commands an agent should run after a task, grounded
4
+ * in the pack rather than a generic default. Precedence (first non-empty wins):
5
+ *
6
+ * 1. The matched pipeline's command-type gate steps — the gates the pipeline
7
+ * author actually declared for this class of work (e.g. the engine
8
+ * `feature-dev` pipeline's `bun x tsc … --noEmit` + `bun test`).
9
+ * 2. The project's `sharkcraft.config.ts verificationCommands[]` — the
10
+ * trusted, repo-wide gate set (the same source `apply --validate` runs).
11
+ * 3. The caller-supplied knowledge action-hint defaults — today's behaviour,
12
+ * used only when neither of the above declares anything.
13
+ *
14
+ * A pipeline gate is a `command`-type step that is required and carries a
15
+ * concrete command (no `<placeholder>` tokens) — this excludes optional review
16
+ * steps, context builds, and generative/spec steps (which take arguments) while
17
+ * keeping the real post-change gates. Rules carry no verification field, so
18
+ * they are intentionally not a source here.
19
+ *
20
+ * Deterministic, order-preserving, deduped. No commands are executed.
21
+ */
22
+ export declare function resolveVerificationCommands(inspection: ISharkcraftInspection, options?: {
23
+ readonly pipelineIds?: readonly string[];
24
+ readonly knowledgeDefaults?: readonly string[];
25
+ }): string[];
26
+ //# sourceMappingURL=resolve-verification-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-verification-commands.d.ts","sourceRoot":"","sources":["../src/resolve-verification-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,qBAAqB,EACjC,OAAO,GAAE;IACP,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,GACL,MAAM,EAAE,CA2BV"}
@@ -0,0 +1,55 @@
1
+ import { PipelineStepType } from '@shrkcrft/pipelines';
2
+ /**
3
+ * Resolve the verification commands an agent should run after a task, grounded
4
+ * in the pack rather than a generic default. Precedence (first non-empty wins):
5
+ *
6
+ * 1. The matched pipeline's command-type gate steps — the gates the pipeline
7
+ * author actually declared for this class of work (e.g. the engine
8
+ * `feature-dev` pipeline's `bun x tsc … --noEmit` + `bun test`).
9
+ * 2. The project's `sharkcraft.config.ts verificationCommands[]` — the
10
+ * trusted, repo-wide gate set (the same source `apply --validate` runs).
11
+ * 3. The caller-supplied knowledge action-hint defaults — today's behaviour,
12
+ * used only when neither of the above declares anything.
13
+ *
14
+ * A pipeline gate is a `command`-type step that is required and carries a
15
+ * concrete command (no `<placeholder>` tokens) — this excludes optional review
16
+ * steps, context builds, and generative/spec steps (which take arguments) while
17
+ * keeping the real post-change gates. Rules carry no verification field, so
18
+ * they are intentionally not a source here.
19
+ *
20
+ * Deterministic, order-preserving, deduped. No commands are executed.
21
+ */
22
+ export function resolveVerificationCommands(inspection, options = {}) {
23
+ const fromPipelines = [];
24
+ for (const id of options.pipelineIds ?? []) {
25
+ const pipeline = inspection.pipelineRegistry.get(id);
26
+ if (!pipeline)
27
+ continue;
28
+ for (const step of pipeline.steps) {
29
+ if (step.type !== PipelineStepType.Command)
30
+ continue;
31
+ if (step.required === false)
32
+ continue;
33
+ for (const raw of step.cliCommands ?? []) {
34
+ const cmd = raw.trim();
35
+ if (cmd.length > 0 && !cmd.includes('<'))
36
+ fromPipelines.push(cmd);
37
+ }
38
+ }
39
+ }
40
+ if (fromPipelines.length > 0)
41
+ return dedupe(fromPipelines);
42
+ const cfg = inspection.config;
43
+ const fromConfig = [];
44
+ for (const vc of cfg?.verificationCommands ?? []) {
45
+ const cmd = vc?.command?.trim();
46
+ if (cmd && cmd.length > 0)
47
+ fromConfig.push(cmd);
48
+ }
49
+ if (fromConfig.length > 0)
50
+ return dedupe(fromConfig);
51
+ return dedupe(options.knowledgeDefaults ?? []);
52
+ }
53
+ function dedupe(items) {
54
+ return [...new Set(items)];
55
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"review-packet.d.ts","sourceRoot":"","sources":["../src/review-packet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,kEAAkE;IAClE,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,8CAA8C;IAC9C,aAAa,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxE,2CAA2C;IAC3C,iBAAiB,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3D,iBAAiB,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,2DAA2D;IAC3D,kBAAkB,EAAE,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,+DAA+D;IAC/D,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,4DAA4D;IAC5D,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,mEAAmE;IACnE,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAyCD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,qBAAqB,EACjC,OAAO,GAAE,yBAA8B,GACtC,aAAa,CAqFf"}
1
+ {"version":3,"file":"review-packet.d.ts","sourceRoot":"","sources":["../src/review-packet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAIvE,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,kEAAkE;IAClE,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,8CAA8C;IAC9C,aAAa,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxE,2CAA2C;IAC3C,iBAAiB,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3D,iBAAiB,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,2DAA2D;IAC3D,kBAAkB,EAAE,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,+DAA+D;IAC/D,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,4DAA4D;IAC5D,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,mEAAmE;IACnE,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAyCD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,qBAAqB,EACjC,OAAO,GAAE,yBAA8B,GACtC,aAAa,CA+Ef"}
@@ -1,5 +1,7 @@
1
1
  import { spawnSync } from 'node:child_process';
2
2
  import { evaluateBoundaries, loadTsconfigPaths, scanImports } from '@shrkcrft/boundaries';
3
+ import { matchAffectedConventions } from '@shrkcrft/paths';
4
+ import { resolveVerificationCommands } from "./resolve-verification-commands.js";
3
5
  import { rankAll } from "./task-ranker.js";
4
6
  function gitDiffFiles(cwd, opts) {
5
7
  if (opts.files && opts.files.length > 0)
@@ -50,17 +52,10 @@ export function buildReviewPacket(inspection, options = {}) {
50
52
  const changedFiles = gitDiffFiles(inspection.projectRoot, options);
51
53
  const pseudoTask = buildPseudoTask(changedFiles);
52
54
  const ranking = rankAll(inspection, pseudoTask, 8);
53
- // Affected paths: any path-convention whose title or content mentions any
54
- // path segment from the changed files.
55
- const segments = new Set();
56
- for (const f of changedFiles) {
57
- for (const seg of f.split('/'))
58
- segments.add(seg.toLowerCase());
59
- }
60
- const affectedPaths = inspection.pathService
61
- .list()
62
- .filter((p) => [...segments].some((s) => (p.title + ' ' + p.content).toLowerCase().includes(s)))
63
- .map((p) => p.id);
55
+ // Affected paths: conventions the changed files structurally fall under
56
+ // (directory-prefix match against each convention's metadata.path), not a
57
+ // free-text substring of the description.
58
+ const affectedPaths = matchAffectedConventions(inspection.pathService.list(), changedFiles).map((p) => p.id);
64
59
  // Boundary violations restricted to changed files.
65
60
  let boundaryViolations = [];
66
61
  if (inspection.boundaryRegistry.size() > 0 && changedFiles.length > 0) {
@@ -81,12 +76,14 @@ export function buildReviewPacket(inspection, options = {}) {
81
76
  message: v.message,
82
77
  }));
83
78
  }
84
- const verificationCommands = unique([
85
- 'shrk doctor',
86
- 'shrk check boundaries',
87
- 'bun x tsc -p tsconfig.base.json --noEmit',
88
- 'bun test',
89
- ]);
79
+ // Verification: prefer the project's configured verificationCommands (resolved
80
+ // from config + matched pipelines); fall back to the generic tsc/test pair only
81
+ // when nothing is configured. SharkCraft's own meta-checks stay as a prefix.
82
+ const resolvedGates = resolveVerificationCommands(inspection, {
83
+ pipelineIds: ranking.pipelines.slice(0, 3).map((p) => p.item.id),
84
+ knowledgeDefaults: ['bun x tsc -p tsconfig.base.json --noEmit', 'bun test'],
85
+ });
86
+ const verificationCommands = unique(['shrk doctor', 'shrk check boundaries', ...resolvedGates]);
90
87
  const reviewerInstructions = [
91
88
  `# AI reviewer instructions`,
92
89
  ``,
@@ -1 +1 @@
1
- {"version":3,"file":"rule-drift.d.ts","sourceRoot":"","sources":["../src/rule-drift.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAE5D,oBAAY,oBAAoB;IAC9B,QAAQ,aAAa;IACrB,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,4BAA4B,EAAE,SAAS,MAAM,EAAE,CAAC;IACzD,sEAAsE;IACtE,QAAQ,CAAC,4BAA4B,EAAE,SAAS,MAAM,EAAE,CAAC;IACzD,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAiDD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,qBAAqB,GAChC,gBAAgB,CAuFlB"}
1
+ {"version":3,"file":"rule-drift.d.ts","sourceRoot":"","sources":["../src/rule-drift.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAE5D,oBAAY,oBAAoB;IAC9B,QAAQ,aAAa;IACrB,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,4BAA4B,EAAE,SAAS,MAAM,EAAE,CAAC;IACzD,sEAAsE;IACtE,QAAQ,CAAC,4BAA4B,EAAE,SAAS,MAAM,EAAE,CAAC;IACzD,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AA6DD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,qBAAqB,GAChC,gBAAgB,CAyFlB"}
@@ -20,14 +20,27 @@ export var RuleEnforcementState;
20
20
  RuleEnforcementState["Stale"] = "stale";
21
21
  RuleEnforcementState["Unknown"] = "unknown";
22
22
  })(RuleEnforcementState || (RuleEnforcementState = {}));
23
- function configuredVerificationCommandIds(inspection) {
23
+ /**
24
+ * The set of verification references a rule can match against to count as
25
+ * "wired" in `sharkcraft.config.ts`. A rule declares its verification commands
26
+ * as runnable command strings (e.g. `bun test`), while the config declares
27
+ * them as `{ id, command }` records (e.g. `{ id: 'unit-tests', command: 'bun
28
+ * test' }`). A rule is enforced when its declared command matches the config
29
+ * BY id OR BY command string, so we collect both — otherwise a rule that ships
30
+ * a genuinely-runnable, genuinely-wired command (matching by `command`) is
31
+ * mis-classified as unenforced just because it doesn't reference the config's
32
+ * short id.
33
+ */
34
+ function configuredVerificationRefs(inspection) {
24
35
  const cfg = inspection.config;
25
- const ids = new Set();
36
+ const refs = new Set();
26
37
  for (const entry of cfg?.verificationCommands ?? []) {
27
38
  if (entry?.id)
28
- ids.add(entry.id);
39
+ refs.add(entry.id.trim());
40
+ if (entry?.command)
41
+ refs.add(entry.command.trim());
29
42
  }
30
- return ids;
43
+ return refs;
31
44
  }
32
45
  function isRule(entry) {
33
46
  return entry.type === KnowledgeType.Rule;
@@ -60,13 +73,15 @@ function staleReason(entry, inspection) {
60
73
  return null;
61
74
  }
62
75
  export function classifyRuleDrift(inspection) {
63
- const wiredIds = configuredVerificationCommandIds(inspection);
76
+ const wiredRefs = configuredVerificationRefs(inspection);
64
77
  const entries = [];
65
78
  for (const entry of inspection.knowledgeEntries) {
66
79
  if (!isRule(entry))
67
80
  continue;
68
81
  const declared = entry.actionHints?.verificationCommands ?? [];
69
- const enforced = declared.filter((id) => wiredIds.has(id));
82
+ // A declared command counts as enforced when it is wired in the config
83
+ // BY id OR BY command string (the config carries both).
84
+ const enforced = declared.filter((ref) => wiredRefs.has(ref.trim()));
70
85
  const advisory = isAdvisory(entry);
71
86
  const stale = staleReason(entry, inspection);
72
87
  const hasHints = hasMeaningfulActionHints(entry);
@@ -82,15 +97,15 @@ export function classifyRuleDrift(inspection) {
82
97
  }
83
98
  else if (declared.length > 0 && enforced.length === declared.length) {
84
99
  state = RuleEnforcementState.Enforced;
85
- reason = `all ${declared.length} verification command(s) wired in sharkcraft.config.ts`;
100
+ reason = `all ${declared.length} verification command(s) wired (by id or command) in sharkcraft.config.ts`;
86
101
  }
87
102
  else if (declared.length > 0 && enforced.length > 0) {
88
103
  state = RuleEnforcementState.PartiallyEnforced;
89
- reason = `${enforced.length}/${declared.length} verification command(s) wired in sharkcraft.config.ts`;
104
+ reason = `${enforced.length}/${declared.length} verification command(s) wired (by id or command) in sharkcraft.config.ts`;
90
105
  }
91
106
  else if (declared.length > 0) {
92
107
  state = RuleEnforcementState.PartiallyEnforced;
93
- reason = `${declared.length} verification command(s) declared but none wired in sharkcraft.config.ts`;
108
+ reason = `${declared.length} verification command(s) declared but none wired (by id or command) in sharkcraft.config.ts`;
94
109
  }
95
110
  else if (hasHints) {
96
111
  state = RuleEnforcementState.ManualOnly;
@@ -1 +1 @@
1
- {"version":3,"file":"rule-scaffold.d.ts","sourceRoot":"","sources":["../src/rule-scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,IAAI,EAAE,gBAAgB,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAClD,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,oBAAoB,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,sEAAsE;IACtE,UAAU,EAAE,iBAAiB,CAAC;IAC9B,8DAA8D;IAC9D,YAAY,EAAE,iBAAiB,CAAC;IAChC,sEAAsE;IACtE,SAAS,EAAE,iBAAiB,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,6CAA6C;IAC7C,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AA0ND,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CA+ChF"}
1
+ {"version":3,"file":"rule-scaffold.d.ts","sourceRoot":"","sources":["../src/rule-scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,IAAI,EAAE,gBAAgB,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAClD,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,oBAAoB,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,sEAAsE;IACtE,UAAU,EAAE,iBAAiB,CAAC;IAC9B,8DAA8D;IAC9D,YAAY,EAAE,iBAAiB,CAAC;IAChC,sEAAsE;IACtE,SAAS,EAAE,iBAAiB,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,6CAA6C;IAC7C,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAkOD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CA+ChF"}