audit-tools 0.51.10 → 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
@@ -39,7 +39,7 @@ export interface LiveResultKeyInput {
39
39
  pass_id: string;
40
40
  /**
41
41
  * The result's task_id — its file-split sibling discriminator is derived from
42
- * it (N-IDEMPOTENCY) so split siblings of one {unit_id, lens, pass_id}
42
+ * it (INV-CK-2) so split siblings of one {unit_id, lens, pass_id}
43
43
  * coordinate freshly compute DISTINCT live keys, matching what
44
44
  * `stampLedgerKeys` stamped. Omitted ⇒ lone-base key (no split component).
45
45
  */
@@ -1,6 +1,7 @@
1
1
  import { RemediationState } from "../state/store.js";
2
2
  import { OrchestratorOptions } from "../types/options.js";
3
3
  import type { RemediationOutcomesReport, RunLogger, VerificationReport } from "audit-tools/shared";
4
+ import { type LandingGateVerifyOutcome } from "./closeVerifyLandingGates.js";
4
5
  import type { ClosingAction } from "audit-tools/shared";
5
6
  import type { OutcomeCoverageLedger } from "../state/types.js";
6
7
  import { type FinalGateReport, type RunRecovery } from "../../shared/types/remediationOutcome.js";
@@ -241,13 +242,19 @@ export interface CleanupResult {
241
242
  * Persist the completed state and clean up the artifact directory.
242
243
  *
243
244
  * The artifacts directory is only deleted on a fully-green close (no blocked
244
- * items, combined + e2e tests passed, and the closing action genuinely
245
- * completed — succeeded, or was the `action === "none"` no-op). When the run is
246
- * not fully green e2e failed, combined test failed, an item is blocked, or the
245
+ * items, combined + e2e tests passed, EVERY declared landing gate passed, and
246
+ * the closing action genuinely completed — succeeded, or was the
247
+ * `action === "none"` no-op). When the run is not fully green e2e failed,
248
+ * combined test failed, a landing gate failed, an item is blocked, or the
247
249
  * closing action failed OR was skipped without completing — the artifacts
248
250
  * directory is preserved for diagnosis.
251
+ *
252
+ * A repository that declares NO landing gate leaves `landingGates.passed` at
253
+ * its vacuous `true`, so the leg narrows nothing for a target it does not
254
+ * apply to — the same rule the combined-suite leg follows for a run with no
255
+ * configured suite.
249
256
  */
250
- export declare function cleanupTempBranchesAndArtifacts(options: OrchestratorOptions, completeState: RemediationState, combinedTest: CombinedTestResult, e2eResult: E2eTestResult, closingResult: ClosingResult, runLogger?: RunLogger): Promise<CleanupResult>;
257
+ export declare function cleanupTempBranchesAndArtifacts(options: OrchestratorOptions, completeState: RemediationState, combinedTest: CombinedTestResult, e2eResult: E2eTestResult, closingResult: ClosingResult, runLogger?: RunLogger, landingGates?: LandingGateVerifyOutcome): Promise<CleanupResult>;
251
258
  /**
252
259
  * Build a VerificationReport from the post-remediation state. One
253
260
  * FindingVerificationTrace per terminal finding, with trace entries for:
@@ -1 +1 @@
1
- {"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/close.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/close.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAwB1D,OAAO,KAAK,EAIV,yBAAyB,EACzB,SAAS,EACT,kBAAkB,EAGnB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,8BAA8B,CAAC;AAKtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAKV,qBAAqB,EAItB,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EASL,KAAK,eAAe,EAEpB,KAAK,WAAW,EACjB,MAAM,0CAA0C,CAAC;AA6ClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7B,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAmCD;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC,CA6B1B;AAuDD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,aAAa,EAI5B,SAAS,GAAE,eAA0C,EAKrD,QAAQ,GAAE,WAAyB,GAClC,yBAAyB,CAiN3B;AAsDD;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CA6B5C;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,wCAAwC,CAAC;IAC3D,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,kGAAkG;IAClG,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAK5E;AAmJD,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,gFAAgF;IAChF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,GAAE,MAAM,EAAO,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAyC3B;AA2ED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAyFxB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;AAoED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAqCT;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AA0YD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,mBAAmB,EAC5B,aAAa,EAAE,gBAAgB,EAC/B,YAAY,EAAE,kBAAkB,EAChC,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,CAAC,EAAE,SAAS,EACrB,YAAY,GAAE,wBAAoE,GACjF,OAAO,CAAC,aAAa,CAAC,CA4HxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,mBAAmB,EAC5B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,kBAAkB,GAC/B,kBAAkB,CAuKpB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,mBAAmB,EAC5B,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAoW3B"}
@@ -4,6 +4,7 @@ import { AGENT_FEEDBACK_FILENAME, normalizeRepoPath, parseReflectionsNdjson, rea
4
4
  import { CONTRACT_PIPELINE_VERIFICATION_REPORT_VERSION } from "audit-tools/shared";
5
5
  import { FAILURE_OUTPUT_TAIL_CHARS } from "./constants.js";
6
6
  import { verifyAnalyzerLeads } from "./closeVerifyAnalyzerLeads.js";
7
+ import { verifyLandingGates, } from "./closeVerifyLandingGates.js";
7
8
  import { verifyHeadEvidenceAgainstFindings, } from "./closeVerifyHeadEvidence.js";
8
9
  import { intakePaths } from "../intake.js";
9
10
  import { isAuditFindingsReport } from "./plan.js";
@@ -1183,7 +1184,7 @@ function collectReportEntries(state, options) {
1183
1184
  * Render `remediation-report.md` from the partitioned entries, closing action,
1184
1185
  * e2e result, and per-finding outcomes. Pure string builder (no I/O).
1185
1186
  */
1186
- function buildRemediationReportMarkdown(state, entries, closingResult, e2ePassed, outcomesReport, combinedTest, reflections = []) {
1187
+ function buildRemediationReportMarkdown(state, entries, closingResult, e2ePassed, outcomesReport, combinedTest, reflections = [], landingGates = { commands: [], gates: [], passed: true }) {
1187
1188
  let reportContent = `# Remediation Report\n\n`;
1188
1189
  // Host results are accepted only after the claimed commit is mechanically
1189
1190
  // corroborated as reachable from HEAD. A no-change/skip-only run has no
@@ -1359,6 +1360,26 @@ function buildRemediationReportMarkdown(state, entries, closingResult, e2ePassed
1359
1360
  if (combinedTest.output)
1360
1361
  reportContent += `\`\`\`\n${combinedTest.output}\n\`\`\`\n`;
1361
1362
  }
1363
+ // THE LANDING GATES. Every discovered gate is reported, not only the failures:
1364
+ // a reader has to be able to tell "the tree-wide gates ran and passed" from
1365
+ // "no gate was ever run", and an absent gate set is a real fact about a target
1366
+ // repository that declares none (see `verifyLandingGates`).
1367
+ reportContent += `\n## Landing Gates\n\n`;
1368
+ if (landingGates.commands.length === 0) {
1369
+ reportContent +=
1370
+ "No landing gates were discovered: this repository's `package.json` scripts declare none of the gate roles this tool knows. The per-item required tests were the only checks run at this close.\n";
1371
+ }
1372
+ else {
1373
+ for (const gate of landingGates.gates) {
1374
+ reportContent += `- \`${gate.command}\` — ${gate.passed ? "passed" : "**FAILED**"}${gate.refuses ? ` (refuses ${gate.refuses})` : ""}\n`;
1375
+ if (!gate.passed) {
1376
+ if (gate.spawn_error)
1377
+ reportContent += ` - ${gate.spawn_error}\n`;
1378
+ if (gate.output)
1379
+ reportContent += `\n\`\`\`\n${gate.output}\n\`\`\`\n`;
1380
+ }
1381
+ }
1382
+ }
1362
1383
  // Opt-in worker reflections, aggregated into the same "Process Feedback"
1363
1384
  // section audit-code renders (parity). Empty → no section.
1364
1385
  const feedbackLines = renderProcessFeedbackSection(reflections);
@@ -1371,13 +1392,19 @@ function buildRemediationReportMarkdown(state, entries, closingResult, e2ePassed
1371
1392
  * Persist the completed state and clean up the artifact directory.
1372
1393
  *
1373
1394
  * The artifacts directory is only deleted on a fully-green close (no blocked
1374
- * items, combined + e2e tests passed, and the closing action genuinely
1375
- * completed — succeeded, or was the `action === "none"` no-op). When the run is
1376
- * not fully green e2e failed, combined test failed, an item is blocked, or the
1395
+ * items, combined + e2e tests passed, EVERY declared landing gate passed, and
1396
+ * the closing action genuinely completed — succeeded, or was the
1397
+ * `action === "none"` no-op). When the run is not fully green e2e failed,
1398
+ * combined test failed, a landing gate failed, an item is blocked, or the
1377
1399
  * closing action failed OR was skipped without completing — the artifacts
1378
1400
  * directory is preserved for diagnosis.
1401
+ *
1402
+ * A repository that declares NO landing gate leaves `landingGates.passed` at
1403
+ * its vacuous `true`, so the leg narrows nothing for a target it does not
1404
+ * apply to — the same rule the combined-suite leg follows for a run with no
1405
+ * configured suite.
1379
1406
  */
1380
- export async function cleanupTempBranchesAndArtifacts(options, completeState, combinedTest, e2eResult, closingResult, runLogger) {
1407
+ export async function cleanupTempBranchesAndArtifacts(options, completeState, combinedTest, e2eResult, closingResult, runLogger, landingGates = { commands: [], gates: [], passed: true }) {
1381
1408
  // Write final state before deleting the artifacts directory so the completion
1382
1409
  // is durable even if cleanup partially fails.
1383
1410
  try {
@@ -1425,6 +1452,7 @@ export async function cleanupTempBranchesAndArtifacts(options, completeState, co
1425
1452
  const closingCompleted = closingActionCompleted(closingResult);
1426
1453
  const fullyGreen = combinedTest.passed &&
1427
1454
  e2eResult.passed &&
1455
+ landingGates.passed &&
1428
1456
  closingCompleted &&
1429
1457
  !anyBlocked;
1430
1458
  if (!fullyGreen) {
@@ -1433,7 +1461,7 @@ export async function cleanupTempBranchesAndArtifacts(options, completeState, co
1433
1461
  kind: "artifact_write",
1434
1462
  obligation: "closing",
1435
1463
  artifact: options.artifactsDir,
1436
- note: `Artifacts directory preserved for diagnosis (combinedTest.passed=${combinedTest.passed}, e2e.passed=${e2eResult.passed}, closing=${closingResult.status}, closingAction=${closingResult.action}, anyBlocked=${anyBlocked})`,
1464
+ note: `Artifacts directory preserved for diagnosis (combinedTest.passed=${combinedTest.passed}, e2e.passed=${e2eResult.passed}, landingGates.passed=${landingGates.passed}, closing=${closingResult.status}, closingAction=${closingResult.action}, anyBlocked=${anyBlocked})`,
1437
1465
  });
1438
1466
  return {};
1439
1467
  }
@@ -1789,6 +1817,42 @@ export async function runClosePhase(state, options, runLogger) {
1789
1817
  }
1790
1818
  console.warn("End-to-end tests failed but no resolved items to re-block — completing with e2e failure recorded in report.");
1791
1819
  }
1820
+ // 3b. The LANDING GATES, on the now-fully-merged tree. `targeted_commands` is
1821
+ // module-scoped, so three landings reddened CI after green per-item runs on
1822
+ // gates no per-item command covers (a tree-wide path-guard suite, a
1823
+ // case-sensitivity assertion, an import cycle `check:depgraph` refuses). This
1824
+ // leg runs each discovered gate ONCE, here, where the merged-tree fact it
1825
+ // states actually exists — see `closeVerifyLandingGates.ts` for why it is not
1826
+ // folded into the per-item required tests.
1827
+ //
1828
+ // A red gate does NOT re-block items the way a red suite does: the gates are
1829
+ // tree-wide, so a failure is attributable to no single item, and guessing one
1830
+ // would send a worker to fix another item's fault. It folds into `fullyGreen`
1831
+ // below instead, which is what keeps the artifacts dir — the same treatment a
1832
+ // red `combinedTest` gets when it has no items to re-block.
1833
+ const landingGates = await verifyLandingGates({
1834
+ root: options.root,
1835
+ timeoutMs: CLOSING_CHILD_DEADLINE_MS,
1836
+ ...(options.landingGateVerifyOverrides
1837
+ ? { overrides: options.landingGateVerifyOverrides }
1838
+ : {}),
1839
+ });
1840
+ if (landingGates.commands.length === 0) {
1841
+ console.log("No landing gates declared by this repository's package.json scripts.");
1842
+ }
1843
+ else {
1844
+ for (const gate of landingGates.gates) {
1845
+ console.log(`Landing gate ${gate.command}: ${gate.passed ? "passed" : "FAILED"}`);
1846
+ if (!gate.passed) {
1847
+ runLogger?.event({
1848
+ phase: "close",
1849
+ kind: "error",
1850
+ obligation: "closing",
1851
+ note: `Landing gate failed: ${gate.command}${gate.refuses ? ` (${gate.refuses})` : ""}`,
1852
+ });
1853
+ }
1854
+ }
1855
+ }
1792
1856
  // 4. Execute the closing action and record exact command outcomes before
1793
1857
  // reporting success.
1794
1858
  console.log(`Executing closing action: ${state.closing_plan.action}`);
@@ -1832,7 +1896,7 @@ export async function runClosePhase(state, options, runLogger) {
1832
1896
  ? parseReflectionsNdjson(feedbackText)
1833
1897
  : { reflections: [], discarded: [] };
1834
1898
  reportDiscardedReflections(closeFeedback.discarded, "remediate-code");
1835
- const reportContent = buildRemediationReportMarkdown(state, entries, closingResult, e2eResult.ran ? e2eResult.passed : undefined, outcomesReport, combinedTest, closeFeedback.reflections);
1899
+ const reportContent = buildRemediationReportMarkdown(state, entries, closingResult, e2eResult.ran ? e2eResult.passed : undefined, outcomesReport, combinedTest, closeFeedback.reflections, landingGates);
1836
1900
  // Enrich the coverage ledger with never-planned payloads NOW, from the live
1837
1901
  // state and intake artifacts — both are deleted at the end of close, so this
1838
1902
  // must happen strictly before cleanup.
@@ -1895,7 +1959,7 @@ export async function runClosePhase(state, options, runLogger) {
1895
1959
  });
1896
1960
  console.log("Remediation report generated.");
1897
1961
  // 6. Clean up temporary branches and artifact directory (only when fully green).
1898
- await cleanupTempBranchesAndArtifacts(options, completeState, combinedTest, e2eResult, closingResult, runLogger);
1962
+ await cleanupTempBranchesAndArtifacts(options, completeState, combinedTest, e2eResult, closingResult, runLogger, landingGates);
1899
1963
  return completeState;
1900
1964
  }
1901
1965
  //# sourceMappingURL=close.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/remediate/phases/close.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/remediate/phases/close.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import type { ProjectTestAdmissionOutcome } from "audit-tools/shared";
2
+ /**
3
+ * THE LANDING-GATE CLOSE LEG.
4
+ *
5
+ * The per-item required tests are the block's own `targeted_commands`, which are
6
+ * MODULE-SCOPED: a block that edits one module declares the command that
7
+ * exercises that module. Three remediation landings reddened CI after green
8
+ * per-item runs, each on a gate no module-scoped command covers — a hand-
9
+ * restated `.audit-tools` literal caught only by the tree-wide path-guard suite
10
+ * (`1e7a4a54`), a case-folding assertion true only on a case-insensitive volume
11
+ * (`011c6ae0`), and an intra-`src/shared` import cycle `check:depgraph` refuses
12
+ * (`b5963957`). So a landing must run the repository's landing gates too.
13
+ *
14
+ * ⚠ WHY THIS IS A CLOSE LEG AND NOT A PER-ITEM REQUIRED TEST — read this before
15
+ * moving it back. `check:deadcode`, `check:depgraph`, lint and the id-glossary
16
+ * gate state facts about the WHOLE tree, so the boundary that OWNS them is the
17
+ * merged tree, which exists only after every item has landed. Folding them into
18
+ * each item's `required_tests` (the first attempt) refused a wave item whose
19
+ * added export had no consumer until a LATER item landed: no edit inside that
20
+ * item's scope could make the gate pass, and another item's fault could refuse
21
+ * this one. That is a gate guessing at a boundary owned by something else;
22
+ * CLAUDE.md, *A gate states the boundary it OWNS* says move it to the boundary
23
+ * that owns it. Precedent for the shape: {@link verifyAnalyzerLeads} is a
24
+ * close-gate verify leg, never a `CLOSING_ACTIONS` entry.
25
+ *
26
+ * Discovery reads the TARGET repository's `package.json` scripts. This tool runs
27
+ * against arbitrary repositories, so the gate set is never baked in; a
28
+ * repository with another build system contributes no gate at all and the report
29
+ * says so.
30
+ */
31
+ export interface LandingGateOutcome {
32
+ /**
33
+ * The gate command, as discovered. Empty when the repository declares none —
34
+ * in which case `ran` is false and the report states the absence.
35
+ */
36
+ command: string;
37
+ /** The one-line statement of what the gate refuses (from the shared vocabulary). */
38
+ refuses: string | null;
39
+ passed: boolean;
40
+ /**
41
+ * Tail of the gate's combined output, populated only on failure. Bounded by
42
+ * `FAILURE_OUTPUT_TAIL_CHARS` — the same bound the combined-suite and e2e legs
43
+ * use, so no one leg can flood the report.
44
+ */
45
+ output: string;
46
+ /** True when the gate could not be SPAWNED or was refused admission. */
47
+ spawn_error?: string;
48
+ }
49
+ export interface LandingGateVerifyOutcome {
50
+ /** The discovered gate commands, in the vocabulary's role order. */
51
+ commands: string[];
52
+ /** One result per discovered gate. Empty when `commands` is empty. */
53
+ gates: LandingGateOutcome[];
54
+ /**
55
+ * False when the gate ran and exited 0. Vacuously true for a repository that
56
+ * declares no landing gate — the same "never-ran is not a red" rule
57
+ * `CombinedTestResult.passed` follows, and `commands` being empty is what
58
+ * tells a reader the difference.
59
+ */
60
+ passed: boolean;
61
+ }
62
+ /** Test-injectable seam for the spawn; production passes nothing. */
63
+ export interface LandingGateVerifyOverrides {
64
+ run?: (command: string[], root: string, options: {
65
+ timeoutMs: number;
66
+ }) => Promise<ProjectTestAdmissionOutcome>;
67
+ }
68
+ /**
69
+ * Run each of the repository's declared landing gates ONCE on the merged tree
70
+ * at `root`, through the SAME admission path the project-facts test and e2e
71
+ * commands use — never a raw spawn. A landing gate is admitted iff
72
+ * `discoverLandingGates(root)` emits it, exactly as a test/e2e command is
73
+ * admitted iff `discoverProjectCommands(root)` emits it; a gate that discovery
74
+ * did not emit is REFUSED, never run.
75
+ *
76
+ * Sequential, not concurrent: these are release gates whose failures are read
77
+ * together, and running them in parallel would interleave their output tails
78
+ * into an unreadable report while multiplying peak memory.
79
+ */
80
+ export declare function verifyLandingGates(params: {
81
+ root: string;
82
+ timeoutMs: number;
83
+ overrides?: LandingGateVerifyOverrides;
84
+ }): Promise<LandingGateVerifyOutcome>;
85
+ //# sourceMappingURL=closeVerifyLandingGates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeVerifyLandingGates.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/closeVerifyLandingGates.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sEAAsE;IACtE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qEAAqE;AACrE,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,EAAE,CACJ,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,KAC3B,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,0BAA0B,CAAC;CACxC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA4BpC"}
@@ -0,0 +1,48 @@
1
+ // sites-pinned: tests/remediate/landing-gates-close.test.ts
2
+ // The close leg's discovery→spawn→verdict path (each gate run once, a red
3
+ // gate not green) is pinned by that suite, which drives the real close. The
4
+ // admission claim in the doc-comment below — that the gates go through the
5
+ // SAME admission path the project-facts test and e2e commands use — is pinned
6
+ // by "runs the REAL default runner", the one test in that file that passes NO
7
+ // override and so reaches the default runner with its timeout bound.
8
+ import { discoverLandingGates, landingGateRefusal, runAdmittedProjectLandingGateCommand, } from "audit-tools/shared";
9
+ import { FAILURE_OUTPUT_TAIL_CHARS } from "./constants.js";
10
+ /**
11
+ * Run each of the repository's declared landing gates ONCE on the merged tree
12
+ * at `root`, through the SAME admission path the project-facts test and e2e
13
+ * commands use — never a raw spawn. A landing gate is admitted iff
14
+ * `discoverLandingGates(root)` emits it, exactly as a test/e2e command is
15
+ * admitted iff `discoverProjectCommands(root)` emits it; a gate that discovery
16
+ * did not emit is REFUSED, never run.
17
+ *
18
+ * Sequential, not concurrent: these are release gates whose failures are read
19
+ * together, and running them in parallel would interleave their output tails
20
+ * into an unreadable report while multiplying peak memory.
21
+ */
22
+ export async function verifyLandingGates(params) {
23
+ const { root, timeoutMs } = params;
24
+ const run = params.overrides?.run ?? runAdmittedProjectLandingGateCommand;
25
+ const commands = discoverLandingGates(root);
26
+ if (commands.length === 0) {
27
+ return { commands, gates: [], passed: true };
28
+ }
29
+ const gates = [];
30
+ for (const command of commands) {
31
+ const outcome = await run(command.split(" "), root, { timeoutMs });
32
+ const passed = outcome.admitted && outcome.exit_code === 0 && !outcome.timed_out && !outcome.spawn_error;
33
+ gates.push({
34
+ command,
35
+ refuses: landingGateRefusal(command),
36
+ passed,
37
+ output: passed
38
+ ? ""
39
+ : (outcome.spawn_error ?? outcome.output).trim().slice(-FAILURE_OUTPUT_TAIL_CHARS) ||
40
+ (outcome.timed_out
41
+ ? `landing gate timed out after ${timeoutMs}ms`
42
+ : "landing gate failed without output"),
43
+ ...(outcome.admitted ? {} : { spawn_error: outcome.refusal_reason ?? "refused" }),
44
+ });
45
+ }
46
+ return { commands, gates, passed: gates.every((gate) => gate.passed) };
47
+ }
48
+ //# sourceMappingURL=closeVerifyLandingGates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeVerifyLandingGates.js","sourceRoot":"","sources":["../../../src/remediate/phases/closeVerifyLandingGates.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,uEAAuE;AACvE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oCAAoC,GACrC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AA0E3D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAIxC;IACC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,oCAAoC,CAAC;IAC1E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,MAAM,MAAM,GACV,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC;YACT,OAAO;YACP,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;YACpC,MAAM;YACN,MAAM,EAAE,MAAM;gBACZ,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;oBAChF,CAAC,OAAO,CAAC,SAAS;wBAChB,CAAC,CAAC,gCAAgC,SAAS,IAAI;wBAC/C,CAAC,CAAC,oCAAoC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC;SAClF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACzE,CAAC"}