audit-tools 0.32.6 → 0.32.7

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 (114) hide show
  1. package/dist/audit/cli/args.d.ts.map +1 -1
  2. package/dist/audit/cli/args.js +5 -5
  3. package/dist/audit/cli/args.js.map +1 -1
  4. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  5. package/dist/audit/cli/dispatch.js +7 -1
  6. package/dist/audit/cli/dispatch.js.map +1 -1
  7. package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
  8. package/dist/audit/cli/rollingAuditDispatch.js +26 -0
  9. package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
  10. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  11. package/dist/audit/cli/semanticReviewStep.js +8 -1
  12. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  13. package/dist/audit/extractors/fileInventory.d.ts.map +1 -1
  14. package/dist/audit/extractors/fileInventory.js +12 -2
  15. package/dist/audit/extractors/fileInventory.js.map +1 -1
  16. package/dist/audit/quota/hostLimits.d.ts +3 -2
  17. package/dist/audit/quota/hostLimits.d.ts.map +1 -1
  18. package/dist/audit/quota/hostLimits.js +2 -2
  19. package/dist/audit/quota/hostLimits.js.map +1 -1
  20. package/dist/audit/quota/index.d.ts +16 -16
  21. package/dist/remediate/contractPipeline/changeClassification.d.ts +7 -4
  22. package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -1
  23. package/dist/remediate/contractPipeline/changeClassification.js +37 -5
  24. package/dist/remediate/contractPipeline/changeClassification.js.map +1 -1
  25. package/dist/remediate/contractPipeline/derive.d.ts +14 -4
  26. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  27. package/dist/remediate/contractPipeline/derive.js +57 -4
  28. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  29. package/dist/remediate/contractPipeline/phaseCut.d.ts +6 -4
  30. package/dist/remediate/contractPipeline/phaseCut.d.ts.map +1 -1
  31. package/dist/remediate/contractPipeline/phaseCut.js +83 -7
  32. package/dist/remediate/contractPipeline/phaseCut.js.map +1 -1
  33. package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts +3 -1
  34. package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts.map +1 -1
  35. package/dist/remediate/contractPipeline/phaseCutArtifact.js +3 -1
  36. package/dist/remediate/contractPipeline/phaseCutArtifact.js.map +1 -1
  37. package/dist/remediate/index.d.ts +5 -3
  38. package/dist/remediate/index.d.ts.map +1 -1
  39. package/dist/remediate/index.js +7 -5
  40. package/dist/remediate/index.js.map +1 -1
  41. package/dist/remediate/quota/hostLimits.d.ts +3 -2
  42. package/dist/remediate/quota/hostLimits.d.ts.map +1 -1
  43. package/dist/remediate/quota/hostLimits.js +2 -2
  44. package/dist/remediate/quota/hostLimits.js.map +1 -1
  45. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  46. package/dist/remediate/steps/contractPipeline.js +3 -2
  47. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  48. package/dist/remediate/steps/contractPipelinePrompts.js +3 -3
  49. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  50. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  51. package/dist/remediate/steps/dispatch.js +7 -13
  52. package/dist/remediate/steps/dispatch.js.map +1 -1
  53. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  54. package/dist/remediate/steps/nextStep.js +10 -3
  55. package/dist/remediate/steps/nextStep.js.map +1 -1
  56. package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
  57. package/dist/remediate/validation/contractPipeline.js +62 -0
  58. package/dist/remediate/validation/contractPipeline.js.map +1 -1
  59. package/dist/shared/friction/frictionRecord.d.ts +31 -6
  60. package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
  61. package/dist/shared/friction/frictionRecord.js.map +1 -1
  62. package/dist/shared/friction/triage.d.ts +30 -5
  63. package/dist/shared/friction/triage.d.ts.map +1 -1
  64. package/dist/shared/friction/triage.js +65 -19
  65. package/dist/shared/friction/triage.js.map +1 -1
  66. package/dist/shared/index.d.ts +6 -3
  67. package/dist/shared/index.d.ts.map +1 -1
  68. package/dist/shared/index.js +5 -2
  69. package/dist/shared/index.js.map +1 -1
  70. package/dist/shared/io/auditToolsPaths.d.ts +15 -1
  71. package/dist/shared/io/auditToolsPaths.d.ts.map +1 -1
  72. package/dist/shared/io/auditToolsPaths.js +23 -3
  73. package/dist/shared/io/auditToolsPaths.js.map +1 -1
  74. package/dist/shared/io/repoRoot.d.ts +28 -0
  75. package/dist/shared/io/repoRoot.d.ts.map +1 -0
  76. package/dist/shared/io/repoRoot.js +39 -0
  77. package/dist/shared/io/repoRoot.js.map +1 -0
  78. package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
  79. package/dist/shared/providers/openAiCompatibleProvider.js +68 -17
  80. package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
  81. package/dist/shared/providers/providerFactory.d.ts +9 -2
  82. package/dist/shared/providers/providerFactory.d.ts.map +1 -1
  83. package/dist/shared/providers/providerFactory.js +19 -4
  84. package/dist/shared/providers/providerFactory.js.map +1 -1
  85. package/dist/shared/providers/types.d.ts +13 -0
  86. package/dist/shared/providers/types.d.ts.map +1 -1
  87. package/dist/shared/quota/capacity.d.ts +7 -7
  88. package/dist/shared/quota/codexHostConfig.d.ts +24 -0
  89. package/dist/shared/quota/codexHostConfig.d.ts.map +1 -0
  90. package/dist/shared/quota/codexHostConfig.js +49 -0
  91. package/dist/shared/quota/codexHostConfig.js.map +1 -0
  92. package/dist/shared/quota/hostLimits.d.ts +4 -7
  93. package/dist/shared/quota/hostLimits.d.ts.map +1 -1
  94. package/dist/shared/quota/hostLimits.js +18 -11
  95. package/dist/shared/quota/hostLimits.js.map +1 -1
  96. package/dist/shared/quota/types.d.ts +4 -4
  97. package/dist/shared/quota/types.d.ts.map +1 -1
  98. package/dist/shared/quota/types.js +7 -0
  99. package/dist/shared/quota/types.js.map +1 -1
  100. package/dist/shared/types/sessionConfig.d.ts +12 -0
  101. package/dist/shared/types/sessionConfig.d.ts.map +1 -1
  102. package/dist/shared/types/sessionConfig.js.map +1 -1
  103. package/docs/audit-pkg/contracts.md +1 -1
  104. package/docs/audit-pkg/development.md +6 -4
  105. package/docs/audit-pkg/operator-guide.md +3 -3
  106. package/docs/audit-pkg/product.md +1 -1
  107. package/docs/audit-pkg/release.md +13 -9
  108. package/package.json +6 -5
  109. package/remediate-code.mjs +3 -1
  110. package/skills/audit-code/SKILL.md +8 -4
  111. package/skills/audit-code/audit-code.prompt.md +15 -18
  112. package/skills/audit-code/opencode-command-template.txt +4 -5
  113. package/skills/remediate-code/remediate-code.prompt.md +9 -5
  114. package/wrapper/audit-code-wrapper-install-hosts.mjs +1 -1
@@ -138,6 +138,35 @@ export function classifyObligationChange(description, baselineSymbols) {
138
138
  * distinct from polarity keywords.
139
139
  */
140
140
  const UNSCOPED_GLOBAL_SCAN_PATTERN = /\b(?:repo[\s-]?wide|whole\s+repo|entire\s+(?:repo|codebase|tree)|across\s+the\s+(?:repo|codebase|tree)|any\s+file|no\s+file\s+(?:anywhere|in\s+the\s+repo)|anywhere\s+in\s+the\s+(?:repo|codebase|tree)|grep\s+(?:the\s+)?(?:repo|codebase|tree))\b/i;
141
+ /**
142
+ * Negation cues that, in the SAME clause immediately before a global-scan phrase,
143
+ * mark it as DESCRIPTIVE contrast ("scoped to X, *not* an unscoped repo-wide
144
+ * check") rather than the assertion's actual action. Flagging the literal words
145
+ * "repo-wide" regardless of negation is exactly what forced hosts to euphemise a
146
+ * legitimately-scoped negative — the CE-006 false-positive. Only an AFFIRMATIVE
147
+ * scan (the scan is the check) disqualifies scoping.
148
+ */
149
+ const SCAN_NEGATION_CUE = /\b(?:not|never|no\s+longer|rather\s+than|instead\s+of|without|avoids?|avoiding|isn'?t|aren'?t|doesn'?t|don'?t|won'?t)\b/i;
150
+ /**
151
+ * True when the assertion uses a global-scan phrase AFFIRMATIVELY — the scan is
152
+ * the check it performs, not a contrast clause describing what it deliberately
153
+ * avoids. Each scan match is judged by its own clause (text back to the nearest
154
+ * `. ; , — --` boundary): a negation cue in that clause makes the mention
155
+ * descriptive and non-disqualifying; an unqualified scan disqualifies. This is a
156
+ * structural read of the assertion's action, not a bare keyword veto on the words.
157
+ */
158
+ function usesAffirmativeGlobalScan(assertion) {
159
+ const re = new RegExp(UNSCOPED_GLOBAL_SCAN_PATTERN.source, "gi");
160
+ let match;
161
+ while ((match = re.exec(assertion)) !== null) {
162
+ const clause = assertion.slice(0, match.index).split(/[.;,]|—|--/).pop() ?? "";
163
+ if (!SCAN_NEGATION_CUE.test(clause))
164
+ return true;
165
+ if (match.index === re.lastIndex)
166
+ re.lastIndex++; // zero-width guard
167
+ }
168
+ return false;
169
+ }
141
170
  /** Match a scope anchor as a whole word/path fragment inside an assertion. */
142
171
  function assertionNamesAnchor(assertion, anchor) {
143
172
  if (anchor.length < 3)
@@ -148,17 +177,20 @@ function assertionNamesAnchor(assertion, anchor) {
148
177
  }
149
178
  /**
150
179
  * A negative assertion for a behavior-CHANGE obligation is SCOPED when it names
151
- * at least one of the change's anchors (the touched symbol/file) AND is not an
152
- * unscoped repo-wide scan. Naming an anchor is necessary but not sufficient: an
153
- * assertion that both names the symbol and says "grep the whole repo" is still
154
- * rejected, because the scan, not the symbol, is what it actually checks.
180
+ * at least one of the change's anchors (the touched symbol/file) AND does not
181
+ * perform an affirmative unscoped repo-wide scan. Naming an anchor is necessary
182
+ * but not sufficient: an assertion that both names the symbol and says "grep the
183
+ * whole repo" is still rejected, because the scan, not the symbol, is what it
184
+ * actually checks. A merely DESCRIPTIVE mention of a global scan ("scoped to X,
185
+ * not an unscoped repo-wide check") does NOT disqualify — the veto reads the
186
+ * assertion's action, not the literal words, so a host need not euphemise (CE-006).
155
187
  *
156
188
  * Returns true when the assertion is acceptably scoped to the change.
157
189
  */
158
190
  export function negativeAssertionIsScoped(assertion, anchors) {
159
191
  if (typeof assertion !== "string" || assertion.length === 0)
160
192
  return false;
161
- if (UNSCOPED_GLOBAL_SCAN_PATTERN.test(assertion))
193
+ if (usesAffirmativeGlobalScan(assertion))
162
194
  return false;
163
195
  return anchors.some((a) => assertionNamesAnchor(assertion, a));
164
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"changeClassification.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/changeClassification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changeClassification.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/changeClassification.ts"],"names":[],"mappings":"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"}
@@ -146,9 +146,19 @@ export declare function acceptedCounterexampleIds(judgeReport: unknown): string[
146
146
  * coverage holds by construction. Grouping by module means a 1-module change
147
147
  * derives 1 node instead of N obligation-nodes the host then has to merge (B2);
148
148
  * obligations with no module home (counterexample/critique-sourced) fall back
149
- * to one node each. Empty edges (the derived ledger declares no inter-module
150
- * ordering). Advisory: the model fills the blanks and may further merge/split
151
- * nodes as long as coverage is preserved.
149
+ * to one node each. Advisory: the model fills the blanks and may further
150
+ * merge/split nodes as long as coverage is preserved.
151
+ *
152
+ * `depends_on` is DERIVED, not left for the host: when `finalizedContracts` is
153
+ * supplied, each module node depends on the nodes of the modules it needs first
154
+ * (producer/consumer `artifact:<name>` matching over `inputs`/`outputs`, unioned
155
+ * with `neighbor_needs` — the same module-dependency DAG `phase_cut` uses). This
156
+ * makes cross-node ordering tool-enforced instead of a thing the host must
157
+ * remember to hand-add. Edges are oriented by phase ordinal so the result is
158
+ * acyclic by construction: only an edge to a strictly-earlier-phase module is
159
+ * kept, which drops the back-edge of any dependency cycle (fail-toward-later,
160
+ * mirroring `derivePhaseCut`). The `edges` array stays empty — node `depends_on`
161
+ * is the ordering the block promotion reads.
152
162
  */
153
- export declare function buildImplementationDagScaffold(ledger: ObligationLedger | undefined, acceptedCeIds: string[]): ImplementationDagScaffold;
163
+ export declare function buildImplementationDagScaffold(ledger: ObligationLedger | undefined, acceptedCeIds: string[], finalizedContracts?: unknown): ImplementationDagScaffold;
154
164
  //# sourceMappingURL=derive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAuB5B,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CA8DlB;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AASD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,KAAK,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;WAMG;QACH,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,GACpD,yBAAyB,CA6B3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAW/E;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,6BAA6B,EAAE,CAAC;IACvC,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,aAAa,EAAE,MAAM,EAAE,GACtB,yBAAyB,CAsD3B"}
1
+ {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAwB5B,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CA8DlB;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AASD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,KAAK,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;WAMG;QACH,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,GACpD,yBAAyB,CA6B3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAW/E;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,6BAA6B,EAAE,CAAC;IACvC,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,CAAC,EAAE,OAAO,GAC3B,yBAAyB,CAwD3B"}
@@ -22,6 +22,7 @@
22
22
  */
23
23
  import { buildObligationLedger, isRecord, mintUniqueId, } from "audit-tools/shared";
24
24
  import { buildBaselineSymbolCorpus, classifyObligationChange, obligationScopeAnchors, readObligationChangeClassification, } from "./changeClassification.js";
25
+ import { derivePhaseCut, phaseCutModulesFromContracts } from "./phaseCut.js";
25
26
  /**
26
27
  * Derive the obligation ledger deterministically from the finalized module
27
28
  * contracts. Pure function of its input (modulo the `created_at` stamp): the
@@ -226,11 +227,21 @@ export function acceptedCounterexampleIds(judgeReport) {
226
227
  * coverage holds by construction. Grouping by module means a 1-module change
227
228
  * derives 1 node instead of N obligation-nodes the host then has to merge (B2);
228
229
  * obligations with no module home (counterexample/critique-sourced) fall back
229
- * to one node each. Empty edges (the derived ledger declares no inter-module
230
- * ordering). Advisory: the model fills the blanks and may further merge/split
231
- * nodes as long as coverage is preserved.
230
+ * to one node each. Advisory: the model fills the blanks and may further
231
+ * merge/split nodes as long as coverage is preserved.
232
+ *
233
+ * `depends_on` is DERIVED, not left for the host: when `finalizedContracts` is
234
+ * supplied, each module node depends on the nodes of the modules it needs first
235
+ * (producer/consumer `artifact:<name>` matching over `inputs`/`outputs`, unioned
236
+ * with `neighbor_needs` — the same module-dependency DAG `phase_cut` uses). This
237
+ * makes cross-node ordering tool-enforced instead of a thing the host must
238
+ * remember to hand-add. Edges are oriented by phase ordinal so the result is
239
+ * acyclic by construction: only an edge to a strictly-earlier-phase module is
240
+ * kept, which drops the back-edge of any dependency cycle (fail-toward-later,
241
+ * mirroring `derivePhaseCut`). The `edges` array stays empty — node `depends_on`
242
+ * is the ordering the block promotion reads.
232
243
  */
233
- export function buildImplementationDagScaffold(ledger, acceptedCeIds) {
244
+ export function buildImplementationDagScaffold(ledger, acceptedCeIds, finalizedContracts) {
234
245
  const obligations = (ledger?.obligations ?? []).filter((o) => isDagPhaseObligation(o.kind));
235
246
  // Group by module in first-appearance order; obligations with no module key
236
247
  // on their own id (one node each, preserving coverage).
@@ -261,6 +272,7 @@ export function buildImplementationDagScaffold(ledger, acceptedCeIds) {
261
272
  status: "pending",
262
273
  };
263
274
  });
275
+ applyModuleDependencyEdges(nodes, groups, finalizedContracts);
264
276
  if (acceptedCeIds.length > 0) {
265
277
  if (nodes.length === 0) {
266
278
  nodes.push({
@@ -282,6 +294,47 @@ export function buildImplementationDagScaffold(ledger, acceptedCeIds) {
282
294
  }
283
295
  return { nodes, edges: [] };
284
296
  }
297
+ /**
298
+ * Fill each module node's `depends_on` from the finalized contracts'
299
+ * module-dependency DAG (producer/consumer artifact tokens ∪ neighbor_needs), the
300
+ * SAME source `phase_cut` uses so the node ordering and the phase barrier agree.
301
+ * Only a group keyed on a real module can be a dependency target (obligation- and
302
+ * counterexample-only nodes have no module home). Edges are oriented by phase
303
+ * ordinal — kept only when the dependency module sits in a strictly-earlier phase
304
+ * — so a dependency cycle contributes no back-edge and the result is acyclic by
305
+ * construction. No-op when contracts are absent (existing behaviour: no edges).
306
+ */
307
+ function applyModuleDependencyEdges(nodes, groups, finalizedContracts) {
308
+ if (finalizedContracts === undefined || finalizedContracts === null)
309
+ return;
310
+ // module name → node id (1 node per module by construction).
311
+ const moduleToNodeId = new Map();
312
+ groups.forEach((g, i) => {
313
+ if (g.key.startsWith("module:")) {
314
+ moduleToNodeId.set(g.key.slice("module:".length), nodes[i].id);
315
+ }
316
+ });
317
+ if (moduleToNodeId.size === 0)
318
+ return;
319
+ const phaseModules = phaseCutModulesFromContracts(finalizedContracts);
320
+ const depsByModule = new Map(phaseModules.map((m) => [m.name, m.depends_on]));
321
+ const phaseOf = derivePhaseCut(phaseModules).module_phase;
322
+ const nodeById = new Map(nodes.map((n) => [n.id, n]));
323
+ for (const [moduleName, nodeId] of moduleToNodeId) {
324
+ const node = nodeById.get(nodeId);
325
+ if (!node)
326
+ continue;
327
+ const deps = new Set();
328
+ for (const depModule of depsByModule.get(moduleName) ?? []) {
329
+ const depNodeId = moduleToNodeId.get(depModule);
330
+ if (!depNodeId || depNodeId === nodeId)
331
+ continue;
332
+ if ((phaseOf[depModule] ?? 0) < (phaseOf[moduleName] ?? 0))
333
+ deps.add(depNodeId);
334
+ }
335
+ node.depends_on = [...deps].sort();
336
+ }
337
+ }
285
338
  // ── Helpers ───────────────────────────────────────────────────────────────────
286
339
  function fmtList(items) {
287
340
  return items.length > 0 ? items.join(", ") : "none";
@@ -1 +1 @@
1
- {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"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"}
@@ -68,10 +68,12 @@ export declare function moduleSlug(name: string): string;
68
68
  */
69
69
  export declare function phaseOrdinalForObligations(obligationIds: readonly string[], slugToOrdinal: Map<string, number>, lastOrdinal: number): number;
70
70
  /**
71
- * Build {@link PhaseCutModule}s from drafted/finalized module contracts whose
72
- * modules carry directional `neighbor_needs` (`{ neighbor, needs }` this module
73
- * needs `neighbor`). A module that needs another is one tier ABOVE it, so the
74
- * derived `depends_on` for module M is the set of neighbours M needs. Tolerant of
71
+ * Build {@link PhaseCutModule}s from drafted/finalized module contracts. A module's
72
+ * `depends_on` is the UNION of two tool-derived signals: (1) any directional
73
+ * `neighbor_needs` (`{ neighbor, needs }` this module needs `neighbor`, present
74
+ * on DRAFT contracts) and (2) producer/consumer artifact-token matching over
75
+ * `inputs`/`outputs` (present on FINALIZED contracts, which drop `neighbor_needs`).
76
+ * A module that needs/consumes from another is one tier ABOVE it. Tolerant of
75
77
  * malformed payloads: anything unparseable contributes no module/edge.
76
78
  */
77
79
  export declare function phaseCutModulesFromContracts(contractsPayload: unknown): PhaseCutModule[];
@@ -1 +1 @@
1
- {"version":3,"file":"phaseCut.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCut.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,+EAA+E;AAC/E,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,oFAAoF;IACpF,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AASD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,QAAQ,CAiElE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,WAAW,EAAE,MAAM,GAClB,MAAM,CAkBR;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,OAAO,GAAG,cAAc,EAAE,CAmBxF;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAmB3D"}
1
+ {"version":3,"file":"phaseCut.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCut.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,+EAA+E;AAC/E,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,oFAAoF;IACpF,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AASD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,QAAQ,CAiElE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,WAAW,EAAE,MAAM,GAClB,MAAM,CAkBR;AAwED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,OAAO,GAAG,cAAc,EAAE,CAqBxF;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAmB3D"}
@@ -133,15 +133,89 @@ export function phaseOrdinalForObligations(obligationIds, slugToOrdinal, lastOrd
133
133
  return matchedAny ? max : lastOrdinal;
134
134
  }
135
135
  /**
136
- * Build {@link PhaseCutModule}s from drafted/finalized module contracts whose
137
- * modules carry directional `neighbor_needs` (`{ neighbor, needs }` this module
138
- * needs `neighbor`). A module that needs another is one tier ABOVE it, so the
139
- * derived `depends_on` for module M is the set of neighbours M needs. Tolerant of
136
+ * A structured artifact reference embedded anywhere inside a module's free-prose
137
+ * `inputs`/`outputs` string: the token `artifact:<name>`, where `<name>` is a
138
+ * stable identifier (letters, digits, `_`, `-`, `.`, `/`). The rest of the string
139
+ * stays human prose. A module PRODUCES every artifact token in its `outputs` and
140
+ * CONSUMES every token in its `inputs`; the tool matches producer→consumer to
141
+ * derive data-flow ordering, so the ordering is tool-enforced from the finalized
142
+ * contracts rather than relying on the host to hand-add `depends_on` edges.
143
+ * Matching is case-insensitive so `artifact:Roster` (produced) and `artifact:roster`
144
+ * (consumed) still pair.
145
+ */
146
+ const ARTIFACT_TOKEN_PATTERN = /\bartifact:([A-Za-z0-9_./-]+)/gi;
147
+ /** The normalized artifact names referenced by a module's inputs/outputs list. */
148
+ function extractArtifactNames(entries) {
149
+ const names = new Set();
150
+ if (!Array.isArray(entries))
151
+ return names;
152
+ for (const entry of entries) {
153
+ if (typeof entry !== "string")
154
+ continue;
155
+ for (const match of entry.matchAll(ARTIFACT_TOKEN_PATTERN)) {
156
+ // Trim trailing separator/punctuation the greedy class may have swallowed
157
+ // (e.g. a token ending a sentence: "artifact:roster.").
158
+ const name = match[1].replace(/[._/-]+$/, "").toLowerCase();
159
+ if (name.length > 0)
160
+ names.add(name);
161
+ }
162
+ }
163
+ return names;
164
+ }
165
+ /**
166
+ * Derive directional module-dependency edges from producer/consumer artifact
167
+ * tokens in the finalized contracts' `inputs`/`outputs`. For each module M and
168
+ * each artifact M consumes (an `artifact:<name>` token in M's `inputs`), M depends
169
+ * on every OTHER module that produces that artifact (the token in its `outputs`).
170
+ * Returns module name → set of module names it depends on (must run first).
171
+ * Tolerant of malformed payloads: anything unparseable contributes no edge.
172
+ */
173
+ function deriveModuleArtifactDependencies(contractsPayload) {
174
+ const root = contractsPayload;
175
+ const list = Array.isArray(root?.module_contracts) ? root.module_contracts : [];
176
+ const producers = new Map(); // artifact name → producing modules
177
+ const consumes = new Map(); // module name → consumed artifact names
178
+ const moduleNames = [];
179
+ for (const mod of list) {
180
+ if (typeof mod !== "object" || mod === null)
181
+ continue;
182
+ const m = mod;
183
+ if (typeof m.name !== "string" || m.name.length === 0)
184
+ continue;
185
+ moduleNames.push(m.name);
186
+ for (const artifact of extractArtifactNames(m.outputs)) {
187
+ const set = producers.get(artifact) ?? new Set();
188
+ set.add(m.name);
189
+ producers.set(artifact, set);
190
+ }
191
+ consumes.set(m.name, extractArtifactNames(m.inputs));
192
+ }
193
+ const deps = new Map();
194
+ for (const name of moduleNames) {
195
+ const set = new Set();
196
+ for (const artifact of consumes.get(name) ?? []) {
197
+ for (const producer of producers.get(artifact) ?? []) {
198
+ if (producer !== name)
199
+ set.add(producer);
200
+ }
201
+ }
202
+ deps.set(name, set);
203
+ }
204
+ return deps;
205
+ }
206
+ /**
207
+ * Build {@link PhaseCutModule}s from drafted/finalized module contracts. A module's
208
+ * `depends_on` is the UNION of two tool-derived signals: (1) any directional
209
+ * `neighbor_needs` (`{ neighbor, needs }` — this module needs `neighbor`, present
210
+ * on DRAFT contracts) and (2) producer/consumer artifact-token matching over
211
+ * `inputs`/`outputs` (present on FINALIZED contracts, which drop `neighbor_needs`).
212
+ * A module that needs/consumes from another is one tier ABOVE it. Tolerant of
140
213
  * malformed payloads: anything unparseable contributes no module/edge.
141
214
  */
142
215
  export function phaseCutModulesFromContracts(contractsPayload) {
143
216
  const root = contractsPayload;
144
217
  const list = Array.isArray(root?.module_contracts) ? root.module_contracts : [];
218
+ const artifactDeps = deriveModuleArtifactDependencies(contractsPayload);
145
219
  const out = [];
146
220
  for (const mod of list) {
147
221
  if (typeof mod !== "object" || mod === null)
@@ -150,15 +224,17 @@ export function phaseCutModulesFromContracts(contractsPayload) {
150
224
  if (typeof m.name !== "string" || m.name.length === 0)
151
225
  continue;
152
226
  const needs = Array.isArray(m.neighbor_needs) ? m.neighbor_needs : [];
153
- const depends_on = [];
227
+ const depends_on = new Set();
154
228
  for (const need of needs) {
155
229
  if (typeof need === "object" && need !== null) {
156
230
  const neighbor = need.neighbor;
157
231
  if (typeof neighbor === "string" && neighbor.length > 0)
158
- depends_on.push(neighbor);
232
+ depends_on.add(neighbor);
159
233
  }
160
234
  }
161
- out.push({ name: m.name, depends_on });
235
+ for (const dep of artifactDeps.get(m.name) ?? [])
236
+ depends_on.add(dep);
237
+ out.push({ name: m.name, depends_on: [...depends_on] });
162
238
  }
163
239
  return out;
164
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"phaseCut.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCut.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phaseCut.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCut.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@
3
3
  *
4
4
  * The foundations→consumers phase cut derived by {@link derivePhaseCut} is a
5
5
  * DERIVED, deterministic artifact (a pure function of the finalized module
6
- * contracts' `neighbor_needs` DAG). It is persisted as a first-class sidecar —
6
+ * contracts' module-dependency DAG producer/consumer `artifact:<name>` tokens
7
+ * in `inputs`/`outputs`, unioned with any `neighbor_needs`). It is persisted as a
8
+ * first-class sidecar —
7
9
  * `intake/contract/phase_cut.json` — so the cut the conceptual critique sees and
8
10
  * the cut the implementation-DAG promotion enforces are ONE source, inspectable
9
11
  * on disk, not two inline recomputations that could drift.
@@ -1 +1 @@
1
- {"version":3,"file":"phaseCutArtifact.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCutArtifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,sEAAsE;AACtE,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAE1B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAS1B"}
1
+ {"version":3,"file":"phaseCutArtifact.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCutArtifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,sEAAsE;AACtE,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAE1B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAS1B"}
@@ -3,7 +3,9 @@
3
3
  *
4
4
  * The foundations→consumers phase cut derived by {@link derivePhaseCut} is a
5
5
  * DERIVED, deterministic artifact (a pure function of the finalized module
6
- * contracts' `neighbor_needs` DAG). It is persisted as a first-class sidecar —
6
+ * contracts' module-dependency DAG producer/consumer `artifact:<name>` tokens
7
+ * in `inputs`/`outputs`, unioned with any `neighbor_needs`). It is persisted as a
8
+ * first-class sidecar —
7
9
  * `intake/contract/phase_cut.json` — so the cut the conceptual critique sees and
8
10
  * the cut the implementation-DAG promotion enforces are ONE source, inspectable
9
11
  * on disk, not two inline recomputations that could drift.
@@ -1 +1 @@
1
- {"version":3,"file":"phaseCutArtifact.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCutArtifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,4BAA4B,GAE7B,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE/C,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC;AACjE,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAoB;IAEpB,OAAO,CAAC,MAAM,oBAAoB,CAAW,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACxF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAoB;IAEpB,MAAM,SAAS,GAAG,eAAe,CAC/B,MAAM,oBAAoB,CAAC,YAAY,EAAE,4BAA4B,CAAC,CACvE,CAAC;IACF,MAAM,OAAO,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"phaseCutArtifact.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCutArtifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,4BAA4B,GAE7B,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE/C,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC;AACjE,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAoB;IAEpB,OAAO,CAAC,MAAM,oBAAoB,CAAW,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACxF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAoB;IAEpB,MAAM,SAAS,GAAG,eAAe,CAC/B,MAAM,oBAAoB,CAAC,YAAY,EAAE,4BAA4B,CAAC,CACvE,CAAC;IACF,MAAM,OAAO,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -30,9 +30,11 @@ export declare function applyGuidanceFile(artifactsDir: string, guidanceFilePath
30
30
  /**
31
31
  * Resolve the remediation artifacts dir. An explicit `--artifacts-dir` is
32
32
  * honored verbatim; the unchanged commander default (`.audit-tools/remediation`)
33
- * rebases onto `--root` via the shared `remediationArtifactsDir()` helper, so
34
- * `--root <X>` lands the default under `<X>/.audit-tools/remediation`. The
35
- * `.audit-tools/...` join literal lives only in the shared path module.
33
+ * rebases onto the anchored `--root` via the shared `remediationArtifactsDir()`
34
+ * helper, so `--root <X>` lands the default under `<X>/.audit-tools/remediation`.
35
+ * The `.audit-tools/...` join literal lives only in the shared path module, and
36
+ * `resolveRepoRoot()` climbs the root out of a drifted cwd so a bare `--root .`
37
+ * run from inside `.audit-tools/` cannot mint a phantom nested tree.
36
38
  */
37
39
  export declare function resolveArtifactsDirOption(root: string, artifactsDir: string): string;
38
40
  export declare function runValidateCommand(deps?: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAsDjD,QAAA,MAAM,OAAO,SAAgB,CAAC;AAmS9B,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAEjD;AAUD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAuBR;AAYD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IACJ,GAAG,CAAC,EAAE,OAAO,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GACL,MAAM,CAcR;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,EACxC,OAAO,SAAY,GAClB,IAAI,CAQN;AA4FD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,EACxC,OAAO,SAAY,EACnB,IAAI,SAAgB,GACnB,IAAI,CA4EN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAuDjD,QAAA,MAAM,OAAO,SAAgB,CAAC;AAmS9B,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAEjD;AAUD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAuBR;AAYD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IACJ,GAAG,CAAC,EAAE,OAAO,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GACL,MAAM,CAcR;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,EACxC,OAAO,SAAY,GAClB,IAAI,CAQN;AA4FD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,EACxC,OAAO,SAAY,EACnB,IAAI,SAAgB,GACnB,IAAI,CA4EN"}
@@ -11,7 +11,7 @@ import { advanceHostRolling } from "./steps/rollingSession.js";
11
11
  import { validateArtifacts } from "./validation/artifacts.js";
12
12
  import { CONTRACT_PIPELINE_VALIDATORS } from "./validation/contractPipeline.js";
13
13
  import { CP_ARTIFACT_NAMES, isEnvelope, stampToolCreatedAt, } from "./contractPipeline/artifactStore.js";
14
- import { setQuotaStateDir, parseHostModelRoster, remediationArtifactsDir, mergeOpenCodeAgentPermissionRule, mergeOpenCodeGlobalPermissionRule, migrateOpenCodeGlobalExternalDirectory, withoutOpenCodeWildcard, } from "audit-tools/shared";
14
+ import { setQuotaStateDir, parseHostModelRoster, remediationArtifactsDir, resolveRepoRoot, mergeOpenCodeAgentPermissionRule, mergeOpenCodeGlobalPermissionRule, migrateOpenCodeGlobalExternalDirectory, withoutOpenCodeWildcard, } from "audit-tools/shared";
15
15
  // src/remediate/index.ts (source) or dist/remediate/index.js (built) → three
16
16
  // dirnames up is the package root, holding package.json + skills/ + opencode.json.
17
17
  const pkgRoot = dirname(dirname(dirname(fileURLToPath(import.meta.url))));
@@ -292,13 +292,15 @@ async function withBackendLogsOnStderr(fn) {
292
292
  /**
293
293
  * Resolve the remediation artifacts dir. An explicit `--artifacts-dir` is
294
294
  * honored verbatim; the unchanged commander default (`.audit-tools/remediation`)
295
- * rebases onto `--root` via the shared `remediationArtifactsDir()` helper, so
296
- * `--root <X>` lands the default under `<X>/.audit-tools/remediation`. The
297
- * `.audit-tools/...` join literal lives only in the shared path module.
295
+ * rebases onto the anchored `--root` via the shared `remediationArtifactsDir()`
296
+ * helper, so `--root <X>` lands the default under `<X>/.audit-tools/remediation`.
297
+ * The `.audit-tools/...` join literal lives only in the shared path module, and
298
+ * `resolveRepoRoot()` climbs the root out of a drifted cwd so a bare `--root .`
299
+ * run from inside `.audit-tools/` cannot mint a phantom nested tree.
298
300
  */
299
301
  export function resolveArtifactsDirOption(root, artifactsDir) {
300
302
  return artifactsDir === ".audit-tools/remediation"
301
- ? remediationArtifactsDir(root)
303
+ ? remediationArtifactsDir(resolveRepoRoot(root))
302
304
  : resolve(artifactsDir);
303
305
  }
304
306
  export function runValidateCommand(deps = {}) {