audit-tools 0.51.9 → 0.51.11

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 (43) hide show
  1. package/dist/audit/orchestrator/resultBaseline.d.ts +1 -1
  2. package/dist/remediate/phases/close.d.ts +11 -4
  3. package/dist/remediate/phases/close.d.ts.map +1 -1
  4. package/dist/remediate/phases/close.js +72 -8
  5. package/dist/remediate/phases/close.js.map +1 -1
  6. package/dist/remediate/phases/closeVerifyLandingGates.d.ts +85 -0
  7. package/dist/remediate/phases/closeVerifyLandingGates.d.ts.map +1 -0
  8. package/dist/remediate/phases/closeVerifyLandingGates.js +48 -0
  9. package/dist/remediate/phases/closeVerifyLandingGates.js.map +1 -0
  10. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  11. package/dist/remediate/steps/contractPipeline.js +75 -9
  12. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  13. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  14. package/dist/remediate/steps/contractPipelinePrompts.js +11 -7
  15. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  16. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  17. package/dist/remediate/steps/dispatch/hostHandoff.js +41 -5
  18. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  19. package/dist/remediate/types/options.d.ts +6 -0
  20. package/dist/remediate/types/options.d.ts.map +1 -1
  21. package/dist/shared/contentKey.d.ts +4 -4
  22. package/dist/shared/contentKey.js +3 -3
  23. package/dist/shared/index.d.ts +3 -1
  24. package/dist/shared/index.d.ts.map +1 -1
  25. package/dist/shared/index.js +2 -1
  26. package/dist/shared/index.js.map +1 -1
  27. package/dist/shared/prompts.d.ts +14 -3
  28. package/dist/shared/prompts.d.ts.map +1 -1
  29. package/dist/shared/prompts.js +17 -4
  30. package/dist/shared/prompts.js.map +1 -1
  31. package/dist/shared/tooling/landingGates.d.ts +118 -0
  32. package/dist/shared/tooling/landingGates.d.ts.map +1 -0
  33. package/dist/shared/tooling/landingGates.js +314 -0
  34. package/dist/shared/tooling/landingGates.js.map +1 -0
  35. package/dist/shared/tooling/projectTestAdmission.d.ts +16 -0
  36. package/dist/shared/tooling/projectTestAdmission.d.ts.map +1 -1
  37. package/dist/shared/tooling/projectTestAdmission.js +73 -10
  38. package/dist/shared/tooling/projectTestAdmission.js.map +1 -1
  39. package/dist/shared/tooling/testCommand.d.ts.map +1 -1
  40. package/dist/shared/tooling/testCommand.js +10 -0
  41. package/dist/shared/tooling/testCommand.js.map +1 -1
  42. package/docs/audit-pkg/product.md +2 -4
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"projectTestAdmission.d.ts","sourceRoot":"","sources":["../../../src/shared/tooling/projectTestAdmission.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,QAAc,CAAC;AAEnD,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,OAAQ,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,QAAkB,CAAC;AAEhE,MAAM,WAAW,2BAA2B;IAC1C,qGAAqG;IACrG,QAAQ,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB;AAmBD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAErF;AAwFD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,OAAO,CAAC,2BAA2B,CAAC,CAEtC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,OAAO,CAAC,2BAA2B,CAAC,CAEtC"}
1
+ {"version":3,"file":"projectTestAdmission.d.ts","sourceRoot":"","sources":["../../../src/shared/tooling/projectTestAdmission.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,QAAc,CAAC;AAEnD,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,OAAQ,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,QAAkB,CAAC;AAEhE,MAAM,WAAW,2BAA2B;IAC1C,qGAAqG;IACrG,QAAQ,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB;AA6BD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAErF;AA0HD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,OAAO,CAAC,2BAA2B,CAAC,CAEtC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,OAAO,CAAC,2BAA2B,CAAC,CAEtC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,OAAO,CAAC,2BAA2B,CAAC,CAEtC"}
@@ -1,5 +1,10 @@
1
+ // sites-pinned: tests/remediate/landing-gates-close.test.ts
2
+ // The `landing-gate` role addition (admit a command only when discovery emits
3
+ // it, same spawn path as test/e2e) is pinned by the landing-gate close suite,
4
+ // which drives the leg through this runner.
1
5
  import { spawn } from "node:child_process";
2
6
  import { discoverProjectCommands } from "./testCommand.js";
7
+ import { discoverLandingGates } from "./landingGates.js";
3
8
  import { resolveExecArgv, stripAuditToolsControlEnv } from "./exec.js";
4
9
  /**
5
10
  * The project-test admission gate (CP-NODE-4 obligation 3 / seam_adjustments[2]).
@@ -48,12 +53,22 @@ export const PROJECT_TEST_SIGKILL_GRACE_MS = 5_000;
48
53
  */
49
54
  export const PROJECT_TEST_MAX_CAPTURED_OUTPUT = 4 * 1024 * 1024;
50
55
  /**
51
- * Admit ONLY the exact test command {@link discoverProjectCommands} would
52
- * return right now for `root` — never a static table, so the repository's own
53
- * project files are the sole source of truth for what is admitted. Pure and
54
- * total: no spawn, no throw.
56
+ * Admit ONLY a command {@link discoverProjectCommands} /
57
+ * {@link discoverLandingGates} would return right now for `root` — never a
58
+ * static table, so the repository's own project files are the sole source of
59
+ * truth for what is admitted. Pure and total: no spawn, no throw.
60
+ *
61
+ * `landing-gate` is the one role with MORE than one admitted command (a repo
62
+ * declares up to five gate scripts), so it admits by SET MEMBERSHIP rather than
63
+ * by matching one vector. The rule is otherwise identical, and it is why a gate
64
+ * command is never shell-interpolated from a caller's string: only a command
65
+ * discovery itself emitted can be spawned, so the admission surface is exactly
66
+ * the repository's own declared script names.
55
67
  */
56
68
  function isAdmittedProjectCommand(command, root, role) {
69
+ if (role === "landing-gate") {
70
+ return discoverLandingGates(root).includes(command.join(" "));
71
+ }
57
72
  const discovered = discoverProjectCommands(root)[role];
58
73
  if (!discovered || discovered.length === 0)
59
74
  return false;
@@ -117,16 +132,51 @@ function runAdmittedProjectCommand(command, root, options = {}, role = "test") {
117
132
  child.stdout?.on("data", capture);
118
133
  child.stderr?.on("data", capture);
119
134
  let timedOut = false;
135
+ let settled = false;
136
+ const settle = (outcome) => {
137
+ if (settled)
138
+ return;
139
+ settled = true;
140
+ clearTimeout(timer);
141
+ if (escalation)
142
+ clearTimeout(escalation);
143
+ resolvePromise(outcome);
144
+ };
145
+ // THE DEADLINE IS TERMINAL, which is not the same as "we sent a SIGKILL".
146
+ // The kill alone bounds nothing: on Windows the admitted vector is the
147
+ // `cmd.exe /d /s /c "npm.cmd …"` shim `resolveExecArgv` produces, so the
148
+ // direct child is the SHELL — SIGTERM kills cmd.exe and leaves npm.cmd/node
149
+ // alive holding the inherited stdout pipe, so `close` never fires and a
150
+ // caller awaiting this promise waits out the child's own runtime and then
151
+ // some (measured: a 1500ms `timeoutMs` against a 20s script resolved at
152
+ // 20274ms, long past the 5s grace). Every leg that awaits this runner — the
153
+ // landing gates, the project-facts test and the e2e command — would hang the
154
+ // CLOSE fold instead of reporting a `timed_out` gate, which is the failure
155
+ // this bound exists to make impossible. So the silence after SIGKILL is
156
+ // itself an outcome: `runTrackedAsync` (exec.ts) resolves on the same
157
+ // reasoning, and a child that ignores both signals must not be able to hold
158
+ // a caller forever.
159
+ let escalation = null;
120
160
  const timer = setTimeout(() => {
121
161
  timedOut = true;
122
162
  child.kill("SIGTERM");
123
- const hardKill = setTimeout(() => child.kill("SIGKILL"), sigkillGraceMs);
124
- hardKill.unref?.();
163
+ escalation = setTimeout(() => {
164
+ child.kill("SIGKILL");
165
+ settle({
166
+ admitted: true,
167
+ exit_code: null,
168
+ timed_out: true,
169
+ truncated,
170
+ spawn_error: `the command exceeded its ${String(timeoutMs)}ms deadline, survived the ` +
171
+ `${String(sigkillGraceMs)}ms SIGTERM grace and did not exit under SIGKILL`,
172
+ output,
173
+ });
174
+ }, sigkillGraceMs);
175
+ escalation.unref?.();
125
176
  }, timeoutMs);
126
177
  timer.unref?.();
127
178
  child.on("error", (error) => {
128
- clearTimeout(timer);
129
- resolvePromise({
179
+ settle({
130
180
  admitted: true,
131
181
  exit_code: null,
132
182
  timed_out: timedOut,
@@ -136,8 +186,7 @@ function runAdmittedProjectCommand(command, root, options = {}, role = "test") {
136
186
  });
137
187
  });
138
188
  child.on("close", (code) => {
139
- clearTimeout(timer);
140
- resolvePromise({ admitted: true, exit_code: code, timed_out: timedOut, truncated, output });
189
+ settle({ admitted: true, exit_code: code, timed_out: timedOut, truncated, output });
141
190
  });
142
191
  });
143
192
  }
@@ -147,4 +196,18 @@ export function runAdmittedProjectTestCommand(command, root, options = {}) {
147
196
  export function runAdmittedProjectE2eCommand(command, root, options = {}) {
148
197
  return runAdmittedProjectCommand(command, root, options, "e2e");
149
198
  }
199
+ /**
200
+ * Run one of the repository's discovered LANDING GATES under the same gate.
201
+ *
202
+ * The landing-gate leg runs at the CLOSE, on the merged tree — see
203
+ * `verifyLandingGates` in `src/remediate/phases/closeVerifyLandingGates.ts`. It
204
+ * is a different role from test/e2e only in what discovery emits: one vector
205
+ * for those, a set of up to five gate commands for this. The admission rule and
206
+ * every spawn bound are the SAME, which is the point — a gate is a discovered
207
+ * project command like any other, and adding a second spawn path for it would
208
+ * be a second place for the shell-safety and output-cap rules to drift.
209
+ */
210
+ export function runAdmittedProjectLandingGateCommand(command, root, options = {}) {
211
+ return runAdmittedProjectCommand(command, root, options, "landing-gate");
212
+ }
150
213
  //# sourceMappingURL=projectTestAdmission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectTestAdmission.js","sourceRoot":"","sources":["../../../src/shared/tooling/projectTestAdmission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectTestAdmission.js","sourceRoot":"","sources":["../../../src/shared/tooling/projectTestAdmission.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,gFAAgF;AAChF,gFAAgF;AAChF,8CAA8C;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,MAAM,CAAC;AAEnD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAqBhE;;;;;;;;;;;;GAYG;AACH,SAAS,wBAAwB,CAC/B,OAAiB,EACjB,IAAY,EACZ,IAAqC;IAErC,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAiB,EAAE,IAAY;IAC1E,OAAO,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,yBAAyB,CAChC,OAAiB,EACjB,IAAY,EACZ,UAII,EAAE,EACN,OAAwC,MAAM;IAE9C,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,wEAAwE;YACnI,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,uBAAuB,CAAC;IAC/D,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,gCAAgC,CAAC;IACxF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,6BAA6B,CAAC;IAE/E,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QACpC,MAAM,CAAC,eAAe,EAAE,GAAG,YAAY,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,EAAE,YAAY,EAAE;YACjD,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,yBAAyB,EAAE;YAChC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,OAAO,GAAG,CAAC,KAAc,EAAQ,EAAE;YACvC,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;YACpD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBACnC,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,OAAoC,EAAQ,EAAE;YAC5D,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,UAAU;gBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YACzC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,4EAA4E;QAC5E,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,4EAA4E;QAC5E,oBAAoB;QACpB,IAAI,UAAU,GAA0B,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,CAAC;oBACL,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;oBACf,SAAS;oBACT,WAAW,EACT,4BAA4B,MAAM,CAAC,SAAS,CAAC,4BAA4B;wBACzE,GAAG,MAAM,CAAC,cAAc,CAAC,iDAAiD;oBAC5E,MAAM;iBACP,CAAC,CAAC;YACL,CAAC,EAAE,cAAc,CAAC,CAAC;YACnB,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;QACvB,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC;gBACL,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,QAAQ;gBACnB,SAAS;gBACT,WAAW,EAAE,KAAK,CAAC,OAAO;gBAC1B,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAiB,EACjB,IAAY,EACZ,UAII,EAAE;IAEN,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAiB,EACjB,IAAY,EACZ,UAII,EAAE;IAEN,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oCAAoC,CAClD,OAAiB,EACjB,IAAY,EACZ,UAII,EAAE;IAEN,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testCommand.d.ts","sourceRoot":"","sources":["../../../src/shared/tooling/testCommand.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AA0ED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,MAA+B,GACvC,OAAO,CA4BT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAmCrE"}
1
+ {"version":3,"file":"testCommand.d.ts","sourceRoot":"","sources":["../../../src/shared/tooling/testCommand.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAoFD;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,MAA+B,GACvC,OAAO,CA4BT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAmCrE"}
@@ -2,6 +2,16 @@ import { existsSync, readFileSync, statSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  // npm script names, in preference order, for each command role.
4
4
  //
5
+ // ⚠ THIS VOCABULARY IS `package.json` SCRIPTS ONLY. A repository whose build
6
+ // system is not npm — Cargo, Make, Gradle, a bare shell script — declares none
7
+ // of these names, so `pickScript` finds nothing and the role is ABSENT from
8
+ // `discoverProjectCommands`' result. That is the honest answer for these roles
9
+ // (there is no portable way to read another ecosystem's target names), but it
10
+ // means "no e2e/build/lint command" is a statement about `package.json`, not
11
+ // about whether the repository has one. `discoverProjectCommands` does fall
12
+ // through to Go and Python for the TEST role alone (see its own doc comment);
13
+ // no other role has a non-npm arm.
14
+ //
5
15
  // Ordering is significant: pickScript() returns the FIRST match, so entries
6
16
  // earlier in the list win over later ones.
7
17
  //
@@ -1 +1 @@
1
- {"version":3,"file":"testCommand.js","sourceRoot":"","sources":["../../../src/shared/tooling/testCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testCommand.js","sourceRoot":"","sources":["../../../src/shared/tooling/testCommand.ts"],"names":[],"mappings":"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"}
@@ -97,10 +97,8 @@ Graph evidence is tiered, strongest first:
97
97
  - language-agnostic semantic affinity (shared unusual domain terms, nearby
98
98
  paths, identifier overlap, embeddings)
99
99
 
100
- Semantic affinity can rank `boundary_files`, explain possible context, and
101
- highlight missing extraction — but it must not merge packets on frequency alone,
102
- because common tokens (`user`, `request`, `client`, `config`, `error`) connect
103
- unrelated code.
100
+ Semantic affinity is the weakest tier by conviction: see *Three analyzer convictions have ONE
101
+ home* in `CLAUDE.md` (standing decisions) for what it may and may not decide.
104
102
 
105
103
  The fallback must stay useful even when a language has no deep analyzer:
106
104
  manifests, path structure, tests, config, and external analyzer output can seed a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audit-tools",
3
- "version": "0.51.9",
3
+ "version": "0.51.11",
4
4
  "private": false,
5
5
  "license": "ISC",
6
6
  "description": "Provider-neutral code auditing and remediation workflows for arbitrary repositories.",