audit-tools 0.32.6 → 0.32.8
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.
- package/LICENSE +15 -0
- package/README.md +2 -0
- package/dist/audit/cli/args.d.ts.map +1 -1
- package/dist/audit/cli/args.js +5 -5
- package/dist/audit/cli/args.js.map +1 -1
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +7 -1
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +26 -0
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
- package/dist/audit/cli/semanticReviewStep.js +8 -1
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/extractors/fileInventory.d.ts.map +1 -1
- package/dist/audit/extractors/fileInventory.js +12 -2
- package/dist/audit/extractors/fileInventory.js.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.js +1 -0
- package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
- package/dist/audit/quota/hostLimits.d.ts +3 -2
- package/dist/audit/quota/hostLimits.d.ts.map +1 -1
- package/dist/audit/quota/hostLimits.js +2 -2
- package/dist/audit/quota/hostLimits.js.map +1 -1
- package/dist/audit/quota/index.d.ts +16 -16
- package/dist/remediate/contractPipeline/changeClassification.d.ts +7 -4
- package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/changeClassification.js +37 -5
- package/dist/remediate/contractPipeline/changeClassification.js.map +1 -1
- package/dist/remediate/contractPipeline/derive.d.ts +34 -4
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +148 -4
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.d.ts +6 -4
- package/dist/remediate/contractPipeline/phaseCut.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.js +83 -7
- package/dist/remediate/contractPipeline/phaseCut.js.map +1 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts +3 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.js +3 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.js.map +1 -1
- package/dist/remediate/index.d.ts +5 -3
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +24 -6
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +3 -2
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/quota/hostLimits.d.ts +3 -2
- package/dist/remediate/quota/hostLimits.d.ts.map +1 -1
- package/dist/remediate/quota/hostLimits.js +2 -2
- package/dist/remediate/quota/hostLimits.js.map +1 -1
- package/dist/remediate/riskSignal.d.ts +6 -3
- package/dist/remediate/riskSignal.d.ts.map +1 -1
- package/dist/remediate/riskSignal.js +6 -3
- package/dist/remediate/riskSignal.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +1 -2
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +83 -108
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +3 -3
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/steps/dispatch.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch.js +26 -13
- package/dist/remediate/steps/dispatch.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +10 -3
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/rollingSession.d.ts +67 -0
- package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
- package/dist/remediate/steps/rollingSession.js +124 -1
- package/dist/remediate/steps/rollingSession.js.map +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipeline.js +62 -0
- package/dist/remediate/validation/contractPipeline.js.map +1 -1
- package/dist/shared/friction/frictionRecord.d.ts +31 -6
- package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
- package/dist/shared/friction/frictionRecord.js.map +1 -1
- package/dist/shared/friction/stepBoundaryCapture.d.ts +4 -1
- package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -1
- package/dist/shared/friction/stepBoundaryCapture.js.map +1 -1
- package/dist/shared/friction/triage.d.ts +30 -5
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +65 -19
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/index.d.ts +6 -3
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +5 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/auditToolsPaths.d.ts +15 -1
- package/dist/shared/io/auditToolsPaths.d.ts.map +1 -1
- package/dist/shared/io/auditToolsPaths.js +23 -3
- package/dist/shared/io/auditToolsPaths.js.map +1 -1
- package/dist/shared/io/repoRoot.d.ts +28 -0
- package/dist/shared/io/repoRoot.d.ts.map +1 -0
- package/dist/shared/io/repoRoot.js +39 -0
- package/dist/shared/io/repoRoot.js.map +1 -0
- package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.js +68 -17
- package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
- package/dist/shared/providers/providerFactory.d.ts +9 -2
- package/dist/shared/providers/providerFactory.d.ts.map +1 -1
- package/dist/shared/providers/providerFactory.js +19 -4
- package/dist/shared/providers/providerFactory.js.map +1 -1
- package/dist/shared/providers/types.d.ts +13 -0
- package/dist/shared/providers/types.d.ts.map +1 -1
- package/dist/shared/quota/capacity.d.ts +7 -7
- package/dist/shared/quota/codexHostConfig.d.ts +24 -0
- package/dist/shared/quota/codexHostConfig.d.ts.map +1 -0
- package/dist/shared/quota/codexHostConfig.js +49 -0
- package/dist/shared/quota/codexHostConfig.js.map +1 -0
- package/dist/shared/quota/hostLimits.d.ts +4 -7
- package/dist/shared/quota/hostLimits.d.ts.map +1 -1
- package/dist/shared/quota/hostLimits.js +18 -11
- package/dist/shared/quota/hostLimits.js.map +1 -1
- package/dist/shared/quota/types.d.ts +4 -4
- package/dist/shared/quota/types.d.ts.map +1 -1
- package/dist/shared/quota/types.js +7 -0
- package/dist/shared/quota/types.js.map +1 -1
- package/dist/shared/types/sessionConfig.d.ts +12 -0
- package/dist/shared/types/sessionConfig.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.js.map +1 -1
- package/docs/audit-pkg/contracts.md +4 -2
- package/docs/audit-pkg/development.md +11 -8
- package/docs/audit-pkg/operator-guide.md +3 -3
- package/docs/audit-pkg/product.md +1 -1
- package/docs/audit-pkg/release.md +15 -12
- package/package.json +8 -5
- package/remediate-code.mjs +3 -1
- package/skills/audit-code/SKILL.md +8 -4
- package/skills/audit-code/audit-code.prompt.md +15 -18
- package/skills/audit-code/opencode-command-template.txt +4 -5
- package/skills/remediate-code/remediate-code.prompt.md +9 -5
- package/wrapper/audit-code-wrapper-install-hosts.mjs +1 -1
|
@@ -41,14 +41,14 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
41
41
|
source: z.ZodEnum<["explicit_config", "discovered_capability", "cli_flags", "provider_default", "learned", "default"]>;
|
|
42
42
|
host_concurrency_limit: z.ZodNullable<z.ZodObject<{
|
|
43
43
|
active_subagents: z.ZodNumber;
|
|
44
|
-
source: z.ZodEnum<["cli_flags", "host_reported", "session_config", "environment"]>;
|
|
44
|
+
source: z.ZodEnum<["cli_flags", "host_reported", "session_config", "environment", "discovered_config", "known_default"]>;
|
|
45
45
|
description: z.ZodString;
|
|
46
46
|
}, "strict", z.ZodTypeAny, {
|
|
47
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
47
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
48
48
|
active_subagents: number;
|
|
49
49
|
description: string;
|
|
50
50
|
}, {
|
|
51
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
51
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
52
52
|
active_subagents: number;
|
|
53
53
|
description: string;
|
|
54
54
|
}>>;
|
|
@@ -83,14 +83,14 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
83
83
|
}>;
|
|
84
84
|
host_concurrency_limit: z.ZodNullable<z.ZodObject<{
|
|
85
85
|
active_subagents: z.ZodNumber;
|
|
86
|
-
source: z.ZodEnum<["cli_flags", "host_reported", "session_config", "environment"]>;
|
|
86
|
+
source: z.ZodEnum<["cli_flags", "host_reported", "session_config", "environment", "discovered_config", "known_default"]>;
|
|
87
87
|
description: z.ZodString;
|
|
88
88
|
}, "strict", z.ZodTypeAny, {
|
|
89
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
89
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
90
90
|
active_subagents: number;
|
|
91
91
|
description: string;
|
|
92
92
|
}, {
|
|
93
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
93
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
94
94
|
active_subagents: number;
|
|
95
95
|
description: string;
|
|
96
96
|
}>>;
|
|
@@ -155,9 +155,9 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
155
155
|
confidence: "high" | "low" | "medium";
|
|
156
156
|
source: "default" | "explicit_config" | "discovered_capability" | "cli_flags" | "provider_default" | "learned";
|
|
157
157
|
cooldown_until: string | null;
|
|
158
|
+
model: string | null;
|
|
158
159
|
pool_id: string;
|
|
159
160
|
slots: number;
|
|
160
|
-
model: string | null;
|
|
161
161
|
resolved_limits: {
|
|
162
162
|
context_tokens: number;
|
|
163
163
|
output_tokens: number;
|
|
@@ -166,7 +166,7 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
166
166
|
output_tokens_per_minute: number | null;
|
|
167
167
|
};
|
|
168
168
|
host_concurrency_limit: {
|
|
169
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
169
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
170
170
|
active_subagents: number;
|
|
171
171
|
description: string;
|
|
172
172
|
} | null;
|
|
@@ -195,9 +195,9 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
195
195
|
confidence: "high" | "low" | "medium";
|
|
196
196
|
source: "default" | "explicit_config" | "discovered_capability" | "cli_flags" | "provider_default" | "learned";
|
|
197
197
|
cooldown_until: string | null;
|
|
198
|
+
model: string | null;
|
|
198
199
|
pool_id: string;
|
|
199
200
|
slots: number;
|
|
200
|
-
model: string | null;
|
|
201
201
|
resolved_limits: {
|
|
202
202
|
context_tokens: number;
|
|
203
203
|
output_tokens: number;
|
|
@@ -206,7 +206,7 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
206
206
|
output_tokens_per_minute: number | null;
|
|
207
207
|
};
|
|
208
208
|
host_concurrency_limit: {
|
|
209
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
209
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
210
210
|
active_subagents: number;
|
|
211
211
|
description: string;
|
|
212
212
|
} | null;
|
|
@@ -328,7 +328,7 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
328
328
|
output_tokens_per_minute: number | null;
|
|
329
329
|
};
|
|
330
330
|
host_concurrency_limit: {
|
|
331
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
331
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
332
332
|
active_subagents: number;
|
|
333
333
|
description: string;
|
|
334
334
|
} | null;
|
|
@@ -353,9 +353,9 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
353
353
|
confidence: "high" | "low" | "medium";
|
|
354
354
|
source: "default" | "explicit_config" | "discovered_capability" | "cli_flags" | "provider_default" | "learned";
|
|
355
355
|
cooldown_until: string | null;
|
|
356
|
+
model: string | null;
|
|
356
357
|
pool_id: string;
|
|
357
358
|
slots: number;
|
|
358
|
-
model: string | null;
|
|
359
359
|
resolved_limits: {
|
|
360
360
|
context_tokens: number;
|
|
361
361
|
output_tokens: number;
|
|
@@ -364,7 +364,7 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
364
364
|
output_tokens_per_minute: number | null;
|
|
365
365
|
};
|
|
366
366
|
host_concurrency_limit: {
|
|
367
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
367
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
368
368
|
active_subagents: number;
|
|
369
369
|
description: string;
|
|
370
370
|
} | null;
|
|
@@ -416,7 +416,7 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
416
416
|
output_tokens_per_minute: number | null;
|
|
417
417
|
};
|
|
418
418
|
host_concurrency_limit: {
|
|
419
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
419
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
420
420
|
active_subagents: number;
|
|
421
421
|
description: string;
|
|
422
422
|
} | null;
|
|
@@ -441,9 +441,9 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
441
441
|
confidence: "high" | "low" | "medium";
|
|
442
442
|
source: "default" | "explicit_config" | "discovered_capability" | "cli_flags" | "provider_default" | "learned";
|
|
443
443
|
cooldown_until: string | null;
|
|
444
|
+
model: string | null;
|
|
444
445
|
pool_id: string;
|
|
445
446
|
slots: number;
|
|
446
|
-
model: string | null;
|
|
447
447
|
resolved_limits: {
|
|
448
448
|
context_tokens: number;
|
|
449
449
|
output_tokens: number;
|
|
@@ -452,7 +452,7 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
|
|
|
452
452
|
output_tokens_per_minute: number | null;
|
|
453
453
|
};
|
|
454
454
|
host_concurrency_limit: {
|
|
455
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
455
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
456
456
|
active_subagents: number;
|
|
457
457
|
description: string;
|
|
458
458
|
} | null;
|
|
@@ -54,10 +54,13 @@ export declare function buildBaselineSymbolCorpus(finalizedModuleContracts: unkn
|
|
|
54
54
|
export declare function classifyObligationChange(description: string, baselineSymbols: Set<string>): ObligationChangeClassification;
|
|
55
55
|
/**
|
|
56
56
|
* A negative assertion for a behavior-CHANGE obligation is SCOPED when it names
|
|
57
|
-
* at least one of the change's anchors (the touched symbol/file) AND
|
|
58
|
-
* unscoped repo-wide scan. Naming an anchor is necessary
|
|
59
|
-
* assertion that both names the symbol and says "grep the
|
|
60
|
-
* rejected, because the scan, not the symbol, is what it
|
|
57
|
+
* at least one of the change's anchors (the touched symbol/file) AND does not
|
|
58
|
+
* perform an affirmative unscoped repo-wide scan. Naming an anchor is necessary
|
|
59
|
+
* but not sufficient: an assertion that both names the symbol and says "grep the
|
|
60
|
+
* whole repo" is still rejected, because the scan, not the symbol, is what it
|
|
61
|
+
* actually checks. A merely DESCRIPTIVE mention of a global scan ("scoped to X,
|
|
62
|
+
* not an unscoped repo-wide check") does NOT disqualify — the veto reads the
|
|
63
|
+
* assertion's action, not the literal words, so a host need not euphemise (CE-006).
|
|
61
64
|
*
|
|
62
65
|
* Returns true when the assertion is acceptably scoped to the change.
|
|
63
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeClassification.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/changeClassification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAY,KAAK,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAqBnF,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAe1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,wBAAwB,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAqBxF;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,8BAA8B,CAehC;
|
|
1
|
+
{"version":3,"file":"changeClassification.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/changeClassification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAY,KAAK,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAqBnF,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAe1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,wBAAwB,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAqBxF;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,8BAA8B,CAehC;AAoDD;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAIT;AAID,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,QACkI,CAAC;AAE1K,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,QACoH,CAAC;AAE5J,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAmB1E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAYtE;AAID;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,yEAAyE;IACzE,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,cAAc,CAmBhB;AAID;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,OAAO,GAClB,8BAA8B,GAAG,SAAS,CAqB5C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,8BAA8B,GAAG,SAAS,GACzD,MAAM,EAAE,CAUV;AA4CD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,uBAAuB,EAAE,OAAO,EAChC,wBAAwB,EAAE,OAAO,GAChC,MAAM,GAAG,IAAI,CAsDf"}
|
|
@@ -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
|
|
152
|
-
* unscoped repo-wide scan. Naming an anchor is necessary
|
|
153
|
-
* assertion that both names the symbol and says "grep the
|
|
154
|
-
* rejected, because the scan, not the symbol, is what it
|
|
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 (
|
|
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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"}
|
|
@@ -45,6 +45,26 @@ export interface DeriveOptions {
|
|
|
45
45
|
* ledger is acyclic by construction — `buildObligationLedger` cannot throw).
|
|
46
46
|
*/
|
|
47
47
|
export declare function deriveObligationLedger(finalizedModuleContracts: unknown, options?: DeriveOptions): ObligationLedger;
|
|
48
|
+
/**
|
|
49
|
+
* Derive `finalized_module_contracts` deterministically from the drafted
|
|
50
|
+
* `module_contracts` and the `seam_reconciliation_report`. Pure function of its
|
|
51
|
+
* inputs (modulo the `created_at` stamp): the same drafts + seam report always
|
|
52
|
+
* yield the same finalized contracts in draft order, so the artifact hash /
|
|
53
|
+
* staleness DAG stays well-behaved.
|
|
54
|
+
*
|
|
55
|
+
* Each finalized entry copies the draft's interface fields verbatim (already
|
|
56
|
+
* validated `string[]` / string shapes, so no coercion is needed) and PRESERVES
|
|
57
|
+
* `neighbor_needs` for the ordering derivation, then sets `seam_adjustments` to
|
|
58
|
+
* the `agreed_interface`(s) of the seams that touch the module. A draft entry
|
|
59
|
+
* that is not an object is passed through unchanged (the downstream validator
|
|
60
|
+
* reports it).
|
|
61
|
+
*/
|
|
62
|
+
export declare function deriveFinalizedModuleContracts(draftedModuleContracts: unknown, seamReconciliationReport: unknown, options?: DeriveOptions): {
|
|
63
|
+
contract_version: string;
|
|
64
|
+
goal_id: string;
|
|
65
|
+
module_contracts: unknown[];
|
|
66
|
+
created_at: string;
|
|
67
|
+
};
|
|
48
68
|
/**
|
|
49
69
|
* Shared obligation-membership predicates — the single source for which
|
|
50
70
|
* obligations each downstream scaffold covers.
|
|
@@ -146,9 +166,19 @@ export declare function acceptedCounterexampleIds(judgeReport: unknown): string[
|
|
|
146
166
|
* coverage holds by construction. Grouping by module means a 1-module change
|
|
147
167
|
* derives 1 node instead of N obligation-nodes the host then has to merge (B2);
|
|
148
168
|
* obligations with no module home (counterexample/critique-sourced) fall back
|
|
149
|
-
* to one node each.
|
|
150
|
-
*
|
|
151
|
-
*
|
|
169
|
+
* to one node each. Advisory: the model fills the blanks and may further
|
|
170
|
+
* merge/split nodes as long as coverage is preserved.
|
|
171
|
+
*
|
|
172
|
+
* `depends_on` is DERIVED, not left for the host: when `finalizedContracts` is
|
|
173
|
+
* supplied, each module node depends on the nodes of the modules it needs first
|
|
174
|
+
* (producer/consumer `artifact:<name>` matching over `inputs`/`outputs`, unioned
|
|
175
|
+
* with `neighbor_needs` — the same module-dependency DAG `phase_cut` uses). This
|
|
176
|
+
* makes cross-node ordering tool-enforced instead of a thing the host must
|
|
177
|
+
* remember to hand-add. Edges are oriented by phase ordinal so the result is
|
|
178
|
+
* acyclic by construction: only an edge to a strictly-earlier-phase module is
|
|
179
|
+
* kept, which drops the back-edge of any dependency cycle (fail-toward-later,
|
|
180
|
+
* mirroring `derivePhaseCut`). The `edges` array stays empty — node `depends_on`
|
|
181
|
+
* is the ordering the block promotion reads.
|
|
152
182
|
*/
|
|
153
|
-
export declare function buildImplementationDagScaffold(ledger: ObligationLedger | undefined, acceptedCeIds: string[]): ImplementationDagScaffold;
|
|
183
|
+
export declare function buildImplementationDagScaffold(ledger: ObligationLedger | undefined, acceptedCeIds: string[], finalizedContracts?: unknown): ImplementationDagScaffold;
|
|
154
184
|
//# 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;
|
|
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;AAyB5B,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;AAiDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,sBAAsB,EAAE,OAAO,EAC/B,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB,CAgCA;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,8 @@
|
|
|
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";
|
|
26
|
+
import { CP_FINALIZED_MODULE_CONTRACTS_VERSION } from "../validation/contractPipeline.js";
|
|
25
27
|
/**
|
|
26
28
|
* Derive the obligation ledger deterministically from the finalized module
|
|
27
29
|
* contracts. Pure function of its input (modulo the `created_at` stamp): the
|
|
@@ -96,6 +98,96 @@ export function deriveObligationLedger(finalizedModuleContracts, options = {}) {
|
|
|
96
98
|
created_at: options.created_at,
|
|
97
99
|
});
|
|
98
100
|
}
|
|
101
|
+
// ── Finalized module contracts (deterministic attach) ─────────────────────────
|
|
102
|
+
//
|
|
103
|
+
// `contract_finalization` is a mechanical merge, not fresh authoring: it takes
|
|
104
|
+
// the drafted module contracts and the seam-reconciliation decisions and, per
|
|
105
|
+
// module, carries the draft interface verbatim while attaching the
|
|
106
|
+
// `agreed_interface` of every seam that touches the module as a `seam_adjustment`.
|
|
107
|
+
// No source is re-read and no judgment is spent — the judgment already happened
|
|
108
|
+
// upstream (the seam_reconciliation phase decided each mismatch's resolution).
|
|
109
|
+
// Attaching each agreed interface verbatim guarantees the reconciliation-derivation
|
|
110
|
+
// gate (INV-CO-12) passes, since its corpus is the union of every module's
|
|
111
|
+
// inputs/outputs/invariants/side_effects/seam_adjustments/validation_boundary.
|
|
112
|
+
//
|
|
113
|
+
// `neighbor_needs` is PRESERVED from the draft (the finalized schema tolerates the
|
|
114
|
+
// extra field): it is one of the two module-dependency signals `phaseCutModules
|
|
115
|
+
// FromContracts` / `applyModuleDependencyEdges` read (unioned with `artifact:<name>`
|
|
116
|
+
// producer/consumer tokens), so preserving it keeps the phase cut and node
|
|
117
|
+
// ordering intact without the tool having to synthesize artifact tokens. A weaker
|
|
118
|
+
// draft that leaves inputs/outputs empty, or a seam report referencing a module
|
|
119
|
+
// not in scope, surfaces at the downstream design/reconciliation gate and routes
|
|
120
|
+
// to an LLM re-author of `contract_finalization` — the only path that still needs
|
|
121
|
+
// judgment.
|
|
122
|
+
/** The seam-reconciliation `agreed_interface`s that touch a given module name. */
|
|
123
|
+
function seamAdjustmentsForModule(moduleName, seamReconciliationReport) {
|
|
124
|
+
const mismatches = isRecord(seamReconciliationReport) && Array.isArray(seamReconciliationReport.mismatches)
|
|
125
|
+
? seamReconciliationReport.mismatches
|
|
126
|
+
: [];
|
|
127
|
+
const adjustments = [];
|
|
128
|
+
for (const mismatch of mismatches) {
|
|
129
|
+
if (!isRecord(mismatch))
|
|
130
|
+
continue;
|
|
131
|
+
if (mismatch.module_a !== moduleName && mismatch.module_b !== moduleName)
|
|
132
|
+
continue;
|
|
133
|
+
const resolution = isRecord(mismatch.resolution) ? mismatch.resolution : undefined;
|
|
134
|
+
const agreed = resolution && typeof resolution.agreed_interface === "string"
|
|
135
|
+
? resolution.agreed_interface
|
|
136
|
+
: "";
|
|
137
|
+
if (agreed.length === 0)
|
|
138
|
+
continue;
|
|
139
|
+
const seamId = typeof mismatch.seam_id === "string" ? mismatch.seam_id : "";
|
|
140
|
+
adjustments.push(seamId ? `${seamId}: ${agreed}` : agreed);
|
|
141
|
+
}
|
|
142
|
+
return adjustments;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Derive `finalized_module_contracts` deterministically from the drafted
|
|
146
|
+
* `module_contracts` and the `seam_reconciliation_report`. Pure function of its
|
|
147
|
+
* inputs (modulo the `created_at` stamp): the same drafts + seam report always
|
|
148
|
+
* yield the same finalized contracts in draft order, so the artifact hash /
|
|
149
|
+
* staleness DAG stays well-behaved.
|
|
150
|
+
*
|
|
151
|
+
* Each finalized entry copies the draft's interface fields verbatim (already
|
|
152
|
+
* validated `string[]` / string shapes, so no coercion is needed) and PRESERVES
|
|
153
|
+
* `neighbor_needs` for the ordering derivation, then sets `seam_adjustments` to
|
|
154
|
+
* the `agreed_interface`(s) of the seams that touch the module. A draft entry
|
|
155
|
+
* that is not an object is passed through unchanged (the downstream validator
|
|
156
|
+
* reports it).
|
|
157
|
+
*/
|
|
158
|
+
export function deriveFinalizedModuleContracts(draftedModuleContracts, seamReconciliationReport, options = {}) {
|
|
159
|
+
const goalId = isRecord(draftedModuleContracts) && typeof draftedModuleContracts.goal_id === "string"
|
|
160
|
+
? draftedModuleContracts.goal_id
|
|
161
|
+
: "";
|
|
162
|
+
const drafts = isRecord(draftedModuleContracts) && Array.isArray(draftedModuleContracts.module_contracts)
|
|
163
|
+
? draftedModuleContracts.module_contracts
|
|
164
|
+
: [];
|
|
165
|
+
const module_contracts = drafts.map((mod) => {
|
|
166
|
+
if (!isRecord(mod) || typeof mod.name !== "string")
|
|
167
|
+
return mod;
|
|
168
|
+
const finalized = {
|
|
169
|
+
name: mod.name,
|
|
170
|
+
inputs: mod.inputs,
|
|
171
|
+
outputs: mod.outputs,
|
|
172
|
+
invariants: mod.invariants,
|
|
173
|
+
side_effects: mod.side_effects,
|
|
174
|
+
validation_boundary: mod.validation_boundary,
|
|
175
|
+
failure_modes: mod.failure_modes,
|
|
176
|
+
seam_adjustments: seamAdjustmentsForModule(mod.name, seamReconciliationReport),
|
|
177
|
+
};
|
|
178
|
+
// Preserve the draft's directional neighbor edges when present — one of the
|
|
179
|
+
// two module-dependency signals the phase-cut / DAG ordering derivation reads.
|
|
180
|
+
if (Array.isArray(mod.neighbor_needs))
|
|
181
|
+
finalized.neighbor_needs = mod.neighbor_needs;
|
|
182
|
+
return finalized;
|
|
183
|
+
});
|
|
184
|
+
return {
|
|
185
|
+
contract_version: CP_FINALIZED_MODULE_CONTRACTS_VERSION,
|
|
186
|
+
goal_id: goalId,
|
|
187
|
+
module_contracts,
|
|
188
|
+
created_at: options.created_at ?? new Date().toISOString(),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
99
191
|
// ── Scaffolds (S3): skeletons for the partially-derivable artifacts ────────────
|
|
100
192
|
//
|
|
101
193
|
// The test plan and implementation DAG have an irreducible judgment slot
|
|
@@ -226,11 +318,21 @@ export function acceptedCounterexampleIds(judgeReport) {
|
|
|
226
318
|
* coverage holds by construction. Grouping by module means a 1-module change
|
|
227
319
|
* derives 1 node instead of N obligation-nodes the host then has to merge (B2);
|
|
228
320
|
* obligations with no module home (counterexample/critique-sourced) fall back
|
|
229
|
-
* to one node each.
|
|
230
|
-
*
|
|
231
|
-
*
|
|
321
|
+
* to one node each. Advisory: the model fills the blanks and may further
|
|
322
|
+
* merge/split nodes as long as coverage is preserved.
|
|
323
|
+
*
|
|
324
|
+
* `depends_on` is DERIVED, not left for the host: when `finalizedContracts` is
|
|
325
|
+
* supplied, each module node depends on the nodes of the modules it needs first
|
|
326
|
+
* (producer/consumer `artifact:<name>` matching over `inputs`/`outputs`, unioned
|
|
327
|
+
* with `neighbor_needs` — the same module-dependency DAG `phase_cut` uses). This
|
|
328
|
+
* makes cross-node ordering tool-enforced instead of a thing the host must
|
|
329
|
+
* remember to hand-add. Edges are oriented by phase ordinal so the result is
|
|
330
|
+
* acyclic by construction: only an edge to a strictly-earlier-phase module is
|
|
331
|
+
* kept, which drops the back-edge of any dependency cycle (fail-toward-later,
|
|
332
|
+
* mirroring `derivePhaseCut`). The `edges` array stays empty — node `depends_on`
|
|
333
|
+
* is the ordering the block promotion reads.
|
|
232
334
|
*/
|
|
233
|
-
export function buildImplementationDagScaffold(ledger, acceptedCeIds) {
|
|
335
|
+
export function buildImplementationDagScaffold(ledger, acceptedCeIds, finalizedContracts) {
|
|
234
336
|
const obligations = (ledger?.obligations ?? []).filter((o) => isDagPhaseObligation(o.kind));
|
|
235
337
|
// Group by module in first-appearance order; obligations with no module key
|
|
236
338
|
// on their own id (one node each, preserving coverage).
|
|
@@ -261,6 +363,7 @@ export function buildImplementationDagScaffold(ledger, acceptedCeIds) {
|
|
|
261
363
|
status: "pending",
|
|
262
364
|
};
|
|
263
365
|
});
|
|
366
|
+
applyModuleDependencyEdges(nodes, groups, finalizedContracts);
|
|
264
367
|
if (acceptedCeIds.length > 0) {
|
|
265
368
|
if (nodes.length === 0) {
|
|
266
369
|
nodes.push({
|
|
@@ -282,6 +385,47 @@ export function buildImplementationDagScaffold(ledger, acceptedCeIds) {
|
|
|
282
385
|
}
|
|
283
386
|
return { nodes, edges: [] };
|
|
284
387
|
}
|
|
388
|
+
/**
|
|
389
|
+
* Fill each module node's `depends_on` from the finalized contracts'
|
|
390
|
+
* module-dependency DAG (producer/consumer artifact tokens ∪ neighbor_needs), the
|
|
391
|
+
* SAME source `phase_cut` uses so the node ordering and the phase barrier agree.
|
|
392
|
+
* Only a group keyed on a real module can be a dependency target (obligation- and
|
|
393
|
+
* counterexample-only nodes have no module home). Edges are oriented by phase
|
|
394
|
+
* ordinal — kept only when the dependency module sits in a strictly-earlier phase
|
|
395
|
+
* — so a dependency cycle contributes no back-edge and the result is acyclic by
|
|
396
|
+
* construction. No-op when contracts are absent (existing behaviour: no edges).
|
|
397
|
+
*/
|
|
398
|
+
function applyModuleDependencyEdges(nodes, groups, finalizedContracts) {
|
|
399
|
+
if (finalizedContracts === undefined || finalizedContracts === null)
|
|
400
|
+
return;
|
|
401
|
+
// module name → node id (1 node per module by construction).
|
|
402
|
+
const moduleToNodeId = new Map();
|
|
403
|
+
groups.forEach((g, i) => {
|
|
404
|
+
if (g.key.startsWith("module:")) {
|
|
405
|
+
moduleToNodeId.set(g.key.slice("module:".length), nodes[i].id);
|
|
406
|
+
}
|
|
407
|
+
});
|
|
408
|
+
if (moduleToNodeId.size === 0)
|
|
409
|
+
return;
|
|
410
|
+
const phaseModules = phaseCutModulesFromContracts(finalizedContracts);
|
|
411
|
+
const depsByModule = new Map(phaseModules.map((m) => [m.name, m.depends_on]));
|
|
412
|
+
const phaseOf = derivePhaseCut(phaseModules).module_phase;
|
|
413
|
+
const nodeById = new Map(nodes.map((n) => [n.id, n]));
|
|
414
|
+
for (const [moduleName, nodeId] of moduleToNodeId) {
|
|
415
|
+
const node = nodeById.get(nodeId);
|
|
416
|
+
if (!node)
|
|
417
|
+
continue;
|
|
418
|
+
const deps = new Set();
|
|
419
|
+
for (const depModule of depsByModule.get(moduleName) ?? []) {
|
|
420
|
+
const depNodeId = moduleToNodeId.get(depModule);
|
|
421
|
+
if (!depNodeId || depNodeId === nodeId)
|
|
422
|
+
continue;
|
|
423
|
+
if ((phaseOf[depModule] ?? 0) < (phaseOf[moduleName] ?? 0))
|
|
424
|
+
deps.add(depNodeId);
|
|
425
|
+
}
|
|
426
|
+
node.depends_on = [...deps].sort();
|
|
427
|
+
}
|
|
428
|
+
}
|
|
285
429
|
// ── Helpers ───────────────────────────────────────────────────────────────────
|
|
286
430
|
function fmtList(items) {
|
|
287
431
|
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
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
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;
|
|
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"}
|