audit-tools 0.30.24 → 0.30.26
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/dist/remediate/contractPipeline/phaseCut.d.ts +58 -0
- package/dist/remediate/contractPipeline/phaseCut.d.ts.map +1 -0
- package/dist/remediate/contractPipeline/phaseCut.js +140 -0
- package/dist/remediate/contractPipeline/phaseCut.js.map +1 -0
- package/dist/remediate/riskSignal.d.ts +38 -0
- package/dist/remediate/riskSignal.d.ts.map +1 -1
- package/dist/remediate/riskSignal.js +41 -0
- package/dist/remediate/riskSignal.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +11 -5
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +213 -23
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch.d.ts +17 -0
- package/dist/remediate/steps/dispatch.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch.js +46 -2
- package/dist/remediate/steps/dispatch.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic phase-cut derivation (remediator auto-phasing, T3).
|
|
3
|
+
*
|
|
4
|
+
* When `/remediate-code` is pointed at an arbitrary N-goal input (e.g. the whole
|
|
5
|
+
* backlog), the independent conceptual-design critique used to reject the run as
|
|
6
|
+
* "over-scoped" and the HOST had to manually re-scope to a phase at intake. That
|
|
7
|
+
* is the tool's job, not the host's: given the module-dependency DAG (each module
|
|
8
|
+
* declares the neighbours it `needs`), the tool derives a foundations→consumers
|
|
9
|
+
* phase cut MECHANICALLY — ordered tiers where every module sits one tier below
|
|
10
|
+
* the modules that depend on it. The critique is then handed the derived cut, so
|
|
11
|
+
* it assesses design quality WITHIN a mechanically dependency-ordered phasing
|
|
12
|
+
* rather than rejecting breadth (over-scoping is already handled by construction).
|
|
13
|
+
*
|
|
14
|
+
* Pure + deterministic (no I/O, no Date/Math.random, stable ordering): the same
|
|
15
|
+
* modules always yield the same cut. Cycle-safe — a dependency cycle cannot be
|
|
16
|
+
* topologically tiered, so its members are placed together at the tier just past
|
|
17
|
+
* their highest acyclic dependency (named-sorted, fail toward a LATER tier so a
|
|
18
|
+
* cyclic module never front-runs a real foundation it transitively needs).
|
|
19
|
+
*/
|
|
20
|
+
/** One module + the names of the other modules it depends on (its foundations). */
|
|
21
|
+
export interface PhaseCutModule {
|
|
22
|
+
name: string;
|
|
23
|
+
/** Names of modules this module needs in place first (directional: this → dep). */
|
|
24
|
+
depends_on: string[];
|
|
25
|
+
}
|
|
26
|
+
/** One derived phase: an ordered tier of modules that may be authored together. */
|
|
27
|
+
export interface PhaseCutPhase {
|
|
28
|
+
/** 0-based tier ordinal; 0 = foundations. */
|
|
29
|
+
ordinal: number;
|
|
30
|
+
/** Stable human label for the tier. */
|
|
31
|
+
name: string;
|
|
32
|
+
/** Module names in this tier, sorted for determinism. */
|
|
33
|
+
modules: string[];
|
|
34
|
+
}
|
|
35
|
+
/** The derived phase cut: ordered tiers covering every module exactly once. */
|
|
36
|
+
export interface PhaseCut {
|
|
37
|
+
phases: PhaseCutPhase[];
|
|
38
|
+
/** True when a dependency cycle was detected (its members were tiered together). */
|
|
39
|
+
has_cycle: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Derive the ordered phase cut from a module-dependency DAG. Each module's tier is
|
|
43
|
+
* the length of its longest dependency chain (foundations = 0). Edges to unknown
|
|
44
|
+
* module names are ignored (a `needs` on a module not in scope is not a phase
|
|
45
|
+
* constraint here). Returns one phase per occupied tier, covering every module.
|
|
46
|
+
*/
|
|
47
|
+
export declare function derivePhaseCut(modules: PhaseCutModule[]): PhaseCut;
|
|
48
|
+
/**
|
|
49
|
+
* Build {@link PhaseCutModule}s from drafted/finalized module contracts whose
|
|
50
|
+
* modules carry directional `neighbor_needs` (`{ neighbor, needs }` — this module
|
|
51
|
+
* needs `neighbor`). A module that needs another is one tier ABOVE it, so the
|
|
52
|
+
* derived `depends_on` for module M is the set of neighbours M needs. Tolerant of
|
|
53
|
+
* malformed payloads: anything unparseable contributes no module/edge.
|
|
54
|
+
*/
|
|
55
|
+
export declare function phaseCutModulesFromContracts(contractsPayload: unknown): PhaseCutModule[];
|
|
56
|
+
/** Render the derived phase cut as a markdown section for the critique prompt. */
|
|
57
|
+
export declare function renderPhaseCutSection(cut: PhaseCut): string;
|
|
58
|
+
//# sourceMappingURL=phaseCut.d.ts.map
|
|
@@ -0,0 +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;CACpB;AASD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,QAAQ,CA8DlE;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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic phase-cut derivation (remediator auto-phasing, T3).
|
|
3
|
+
*
|
|
4
|
+
* When `/remediate-code` is pointed at an arbitrary N-goal input (e.g. the whole
|
|
5
|
+
* backlog), the independent conceptual-design critique used to reject the run as
|
|
6
|
+
* "over-scoped" and the HOST had to manually re-scope to a phase at intake. That
|
|
7
|
+
* is the tool's job, not the host's: given the module-dependency DAG (each module
|
|
8
|
+
* declares the neighbours it `needs`), the tool derives a foundations→consumers
|
|
9
|
+
* phase cut MECHANICALLY — ordered tiers where every module sits one tier below
|
|
10
|
+
* the modules that depend on it. The critique is then handed the derived cut, so
|
|
11
|
+
* it assesses design quality WITHIN a mechanically dependency-ordered phasing
|
|
12
|
+
* rather than rejecting breadth (over-scoping is already handled by construction).
|
|
13
|
+
*
|
|
14
|
+
* Pure + deterministic (no I/O, no Date/Math.random, stable ordering): the same
|
|
15
|
+
* modules always yield the same cut. Cycle-safe — a dependency cycle cannot be
|
|
16
|
+
* topologically tiered, so its members are placed together at the tier just past
|
|
17
|
+
* their highest acyclic dependency (named-sorted, fail toward a LATER tier so a
|
|
18
|
+
* cyclic module never front-runs a real foundation it transitively needs).
|
|
19
|
+
*/
|
|
20
|
+
/** Stable label for a tier ordinal. */
|
|
21
|
+
function phaseName(ordinal, lastOrdinal) {
|
|
22
|
+
if (ordinal === 0)
|
|
23
|
+
return "foundations";
|
|
24
|
+
if (ordinal === lastOrdinal)
|
|
25
|
+
return "integration";
|
|
26
|
+
return `consumers-${ordinal}`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Derive the ordered phase cut from a module-dependency DAG. Each module's tier is
|
|
30
|
+
* the length of its longest dependency chain (foundations = 0). Edges to unknown
|
|
31
|
+
* module names are ignored (a `needs` on a module not in scope is not a phase
|
|
32
|
+
* constraint here). Returns one phase per occupied tier, covering every module.
|
|
33
|
+
*/
|
|
34
|
+
export function derivePhaseCut(modules) {
|
|
35
|
+
const names = modules.map((m) => m.name);
|
|
36
|
+
const known = new Set(names);
|
|
37
|
+
// Normalize edges: keep only deps that name a real in-scope module, drop self-edges.
|
|
38
|
+
const deps = new Map();
|
|
39
|
+
for (const m of modules) {
|
|
40
|
+
deps.set(m.name, [...new Set(m.depends_on)].filter((d) => d !== m.name && known.has(d)));
|
|
41
|
+
}
|
|
42
|
+
// Longest-dependency-chain tier via memoized DFS with cycle detection. A node on
|
|
43
|
+
// an active path (cycle) resolves to the max tier of its already-settled deps + 1
|
|
44
|
+
// (fail toward a later tier), and the cycle flag is raised.
|
|
45
|
+
const tier = new Map();
|
|
46
|
+
const visiting = new Set();
|
|
47
|
+
let hasCycle = false;
|
|
48
|
+
const computeTier = (name) => {
|
|
49
|
+
const cached = tier.get(name);
|
|
50
|
+
if (cached !== undefined)
|
|
51
|
+
return cached;
|
|
52
|
+
if (visiting.has(name)) {
|
|
53
|
+
// Back-edge: a cycle. Don't recurse through it; treat as no added depth here.
|
|
54
|
+
hasCycle = true;
|
|
55
|
+
return 0;
|
|
56
|
+
}
|
|
57
|
+
visiting.add(name);
|
|
58
|
+
let maxDep = -1;
|
|
59
|
+
// Sort deps for deterministic traversal (tier values are order-independent, but
|
|
60
|
+
// keep traversal stable for predictability under future changes).
|
|
61
|
+
for (const d of [...(deps.get(name) ?? [])].sort()) {
|
|
62
|
+
maxDep = Math.max(maxDep, computeTier(d));
|
|
63
|
+
}
|
|
64
|
+
visiting.delete(name);
|
|
65
|
+
const t = maxDep + 1;
|
|
66
|
+
tier.set(name, t);
|
|
67
|
+
return t;
|
|
68
|
+
};
|
|
69
|
+
for (const name of [...names].sort())
|
|
70
|
+
computeTier(name);
|
|
71
|
+
const lastOrdinal = Math.max(0, ...[...tier.values()]);
|
|
72
|
+
const byTier = new Map();
|
|
73
|
+
for (const [name, t] of tier) {
|
|
74
|
+
const bucket = byTier.get(t) ?? [];
|
|
75
|
+
bucket.push(name);
|
|
76
|
+
byTier.set(t, bucket);
|
|
77
|
+
}
|
|
78
|
+
const phases = [];
|
|
79
|
+
for (let ordinal = 0; ordinal <= lastOrdinal; ordinal++) {
|
|
80
|
+
const members = byTier.get(ordinal);
|
|
81
|
+
if (!members || members.length === 0)
|
|
82
|
+
continue;
|
|
83
|
+
phases.push({
|
|
84
|
+
ordinal,
|
|
85
|
+
name: phaseName(ordinal, lastOrdinal),
|
|
86
|
+
modules: [...members].sort(),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return { phases, has_cycle: hasCycle };
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Build {@link PhaseCutModule}s from drafted/finalized module contracts whose
|
|
93
|
+
* modules carry directional `neighbor_needs` (`{ neighbor, needs }` — this module
|
|
94
|
+
* needs `neighbor`). A module that needs another is one tier ABOVE it, so the
|
|
95
|
+
* derived `depends_on` for module M is the set of neighbours M needs. Tolerant of
|
|
96
|
+
* malformed payloads: anything unparseable contributes no module/edge.
|
|
97
|
+
*/
|
|
98
|
+
export function phaseCutModulesFromContracts(contractsPayload) {
|
|
99
|
+
const root = contractsPayload;
|
|
100
|
+
const list = Array.isArray(root?.module_contracts) ? root.module_contracts : [];
|
|
101
|
+
const out = [];
|
|
102
|
+
for (const mod of list) {
|
|
103
|
+
if (typeof mod !== "object" || mod === null)
|
|
104
|
+
continue;
|
|
105
|
+
const m = mod;
|
|
106
|
+
if (typeof m.name !== "string" || m.name.length === 0)
|
|
107
|
+
continue;
|
|
108
|
+
const needs = Array.isArray(m.neighbor_needs) ? m.neighbor_needs : [];
|
|
109
|
+
const depends_on = [];
|
|
110
|
+
for (const need of needs) {
|
|
111
|
+
if (typeof need === "object" && need !== null) {
|
|
112
|
+
const neighbor = need.neighbor;
|
|
113
|
+
if (typeof neighbor === "string" && neighbor.length > 0)
|
|
114
|
+
depends_on.push(neighbor);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
out.push({ name: m.name, depends_on });
|
|
118
|
+
}
|
|
119
|
+
return out;
|
|
120
|
+
}
|
|
121
|
+
/** Render the derived phase cut as a markdown section for the critique prompt. */
|
|
122
|
+
export function renderPhaseCutSection(cut) {
|
|
123
|
+
const lines = cut.phases.map((p) => `- **Phase ${p.ordinal} — ${p.name}** (${p.modules.length} module(s)): ${p.modules.join(", ")}`);
|
|
124
|
+
return `## Mechanically-Derived Phase Cut
|
|
125
|
+
|
|
126
|
+
This change is **not** executed as one monolithic landing. The tool derived the
|
|
127
|
+
following ordered, dependency-gated phase cut from the module-dependency DAG —
|
|
128
|
+
each phase's modules depend only on earlier phases, and the scheduler enforces the
|
|
129
|
+
ordering with mechanical dependencies (a later-phase module cannot dispatch until
|
|
130
|
+
its foundations are verified-complete, with a whole-repo green gate between phases):
|
|
131
|
+
|
|
132
|
+
${lines.join("\n")}
|
|
133
|
+
|
|
134
|
+
Assess the **design quality** within this phasing. Do NOT reject the work as
|
|
135
|
+
"over-scoped" or "too large for one change" — breadth is already handled by
|
|
136
|
+
construction: the phases land incrementally, green at every commit. Flag a real
|
|
137
|
+
design problem (a wrong boundary, a missing invariant, an unsound seam), not the
|
|
138
|
+
number of modules.${cut.has_cycle ? "\n\n> NOTE: a dependency cycle was detected among the modules; its members were tiered together. A genuine circular dependency between modules is a design smell worth your scrutiny." : ""}`;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=phaseCut.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phaseCut.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCut.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,22 @@ export type AdversarialDepth = "light" | "full";
|
|
|
46
46
|
* more scrutiny: an absent/unknown tier resolves to `full`.
|
|
47
47
|
*/
|
|
48
48
|
export declare function adversarialDepthForTier(tier: RiskTier | undefined): AdversarialDepth;
|
|
49
|
+
/**
|
|
50
|
+
* Round-trip granularity dial (T1 slice 4b). The granularity at which the
|
|
51
|
+
* authoring phases are gated:
|
|
52
|
+
* - `collapsed` — coherent authoring acts fold into ONE round-trip producing
|
|
53
|
+
* several artifacts (the ceremony saving — fewer gated steps);
|
|
54
|
+
* - `fine` — every phase its own gated round-trip (failure-isolation +
|
|
55
|
+
* per-phase validation, earned only when there is real complexity to isolate).
|
|
56
|
+
* Only `low` collapses; `medium`/`high` stay fine-grained. Fail-safe toward more
|
|
57
|
+
* isolation: an absent/unknown tier resolves to `fine`. This composes with
|
|
58
|
+
* escalate-on-evidence: a run begins collapsed (optimistic-start) and the moment
|
|
59
|
+
* decomposition raises the tier (slice 4a), the *remaining* phases re-derive
|
|
60
|
+
* fine-grained — the dial is read per next-step, never frozen at run start.
|
|
61
|
+
*/
|
|
62
|
+
export type RoundTripGranularity = "collapsed" | "fine";
|
|
63
|
+
/** Map a risk tier to its round-trip granularity. Only `low` collapses. */
|
|
64
|
+
export declare function roundTripGranularityForTier(tier: RiskTier | undefined): RoundTripGranularity;
|
|
49
65
|
/** A single deterministic path-risk family: a repo path family that warrants scrutiny. */
|
|
50
66
|
export interface PathRiskPattern {
|
|
51
67
|
/** Stable label, surfaced in the rationale (e.g. "concurrency"). */
|
|
@@ -126,6 +142,28 @@ export interface RiskEscalationEvidence {
|
|
|
126
142
|
* unchanged when the evidence does not raise the tier (no spurious rewrite).
|
|
127
143
|
*/
|
|
128
144
|
export declare function escalateRiskSignal(current: IntakeRiskSignal, evidence: RiskEscalationEvidence): IntakeRiskSignal;
|
|
145
|
+
export interface DecompositionEvidenceInput {
|
|
146
|
+
/** Number of modules the decomposition produced. */
|
|
147
|
+
moduleCount: number;
|
|
148
|
+
/** Union of every module's declared file_scope (repo-relative paths). */
|
|
149
|
+
fileScopes: readonly string[];
|
|
150
|
+
config?: RiskSignalConfig;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Derive escalate-on-evidence from a COMPLETED decomposition (self-scaling
|
|
154
|
+
* pipeline, slice 4 — optimistic-start). A run begins at the cheap intake tier;
|
|
155
|
+
* once decomposition reveals the work's actual shape, raise the tier where the
|
|
156
|
+
* evidence demands it so the adversarial-depth dial (and downstream granularity)
|
|
157
|
+
* tighten:
|
|
158
|
+
* - any module file_scope touches a path-risk subsystem ⇒ `high` (a
|
|
159
|
+
* correctness-sensitive subsystem the intake affected-file list may not have
|
|
160
|
+
* surfaced);
|
|
161
|
+
* - >1 module ⇒ cross-module seams exist ⇒ at least `medium` (real complexity
|
|
162
|
+
* to isolate — exactly when the fine-grained per-phase gates earn their cost).
|
|
163
|
+
* Returns undefined when the decomposition reveals no new risk. Pure +
|
|
164
|
+
* deterministic; the {@link escalateRiskSignal} combinator enforces raise-only.
|
|
165
|
+
*/
|
|
166
|
+
export declare function decompositionRiskEvidence(input: DecompositionEvidenceInput): RiskEscalationEvidence | undefined;
|
|
129
167
|
/** Read the persisted intake risk signal, or undefined when none is recorded. */
|
|
130
168
|
export declare function readIntakeRiskSignal(artifactsDir: string): Promise<IntakeRiskSignal | undefined>;
|
|
131
169
|
/** Persist (overwrite) the intake risk signal. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"riskSignal.d.ts","sourceRoot":"","sources":["../../src/remediate/riskSignal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"riskSignal.d.ts","sourceRoot":"","sources":["../../src/remediate/riskSignal.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,10 @@ export function maxRiskTier(a, b) {
|
|
|
38
38
|
export function adversarialDepthForTier(tier) {
|
|
39
39
|
return tier === "low" ? "light" : "full";
|
|
40
40
|
}
|
|
41
|
+
/** Map a risk tier to its round-trip granularity. Only `low` collapses. */
|
|
42
|
+
export function roundTripGranularityForTier(tier) {
|
|
43
|
+
return tier === "low" ? "collapsed" : "fine";
|
|
44
|
+
}
|
|
41
45
|
/**
|
|
42
46
|
* Default deterministic path-risk pattern set. These are the subsystems where a
|
|
43
47
|
* change is correctness-sensitive (the spec's "concurrency / dispatch / merge /
|
|
@@ -170,6 +174,43 @@ export function escalateRiskSignal(current, evidence) {
|
|
|
170
174
|
rationale: [...current.rationale, `escalated to ${raised}: ${evidence.reason}`],
|
|
171
175
|
};
|
|
172
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Derive escalate-on-evidence from a COMPLETED decomposition (self-scaling
|
|
179
|
+
* pipeline, slice 4 — optimistic-start). A run begins at the cheap intake tier;
|
|
180
|
+
* once decomposition reveals the work's actual shape, raise the tier where the
|
|
181
|
+
* evidence demands it so the adversarial-depth dial (and downstream granularity)
|
|
182
|
+
* tighten:
|
|
183
|
+
* - any module file_scope touches a path-risk subsystem ⇒ `high` (a
|
|
184
|
+
* correctness-sensitive subsystem the intake affected-file list may not have
|
|
185
|
+
* surfaced);
|
|
186
|
+
* - >1 module ⇒ cross-module seams exist ⇒ at least `medium` (real complexity
|
|
187
|
+
* to isolate — exactly when the fine-grained per-phase gates earn their cost).
|
|
188
|
+
* Returns undefined when the decomposition reveals no new risk. Pure +
|
|
189
|
+
* deterministic; the {@link escalateRiskSignal} combinator enforces raise-only.
|
|
190
|
+
*/
|
|
191
|
+
export function decompositionRiskEvidence(input) {
|
|
192
|
+
const patterns = input.config?.pathRiskPatterns ?? DEFAULT_PATH_RISK_PATTERNS;
|
|
193
|
+
const files = Array.from(new Set(input.fileScopes.map(normalizePathForMatch).filter((p) => p.length > 0)));
|
|
194
|
+
const matched = [];
|
|
195
|
+
for (const family of patterns) {
|
|
196
|
+
if (files.some((p) => family.pattern.test(p))) {
|
|
197
|
+
matched.push(family.label);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (matched.length > 0) {
|
|
201
|
+
return {
|
|
202
|
+
tier: "high",
|
|
203
|
+
reason: `decomposition file scopes touch risk subsystems: ${matched.join(", ")}`,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
if (input.moduleCount > 1) {
|
|
207
|
+
return {
|
|
208
|
+
tier: "medium",
|
|
209
|
+
reason: `decomposition produced ${input.moduleCount} modules — cross-module seams to isolate`,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
173
214
|
/** Read the persisted intake risk signal, or undefined when none is recorded. */
|
|
174
215
|
export async function readIntakeRiskSignal(artifactsDir) {
|
|
175
216
|
return readOptionalJsonFile(intakePaths(artifactsDir).riskSignal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"riskSignal.js","sourceRoot":"","sources":["../../src/remediate/riskSignal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"riskSignal.js","sourceRoot":"","sources":["../../src/remediate/riskSignal.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,18 @@ import { type ValidationIssue, type JudgeReport, type SessionConfig } from "audi
|
|
|
2
2
|
import type { ContractPipelineArtifactName } from "../contractPipeline/artifactStore.js";
|
|
3
3
|
import type { RemediationStep } from "./types.js";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* Runaway backstop for the judge↔repair loop — the LOUD exception path, NOT the
|
|
6
|
+
* normal terminator. The loop normally terminates by *convergence*: it keeps
|
|
7
|
+
* repairing only while each round surfaces a genuinely NEW accepted counterexample
|
|
8
|
+
* (real progress), reaches a fixpoint when the judge approves, and escalates to the
|
|
9
|
+
* user the moment a round re-accepts an already-addressed counterexample without
|
|
10
|
+
* progress (a stall/oscillation). This ceiling exists only so a pathological run
|
|
11
|
+
* that keeps minting brand-new accepted counterexamples forever cannot loop without
|
|
12
|
+
* bound; hitting it is itself an escalation (loud), never a silent proceed. It is
|
|
13
|
+
* deliberately generous — a genuinely deep but converging design (each round a new
|
|
14
|
+
* real defect) must not be cut mid-convergence (the failure mode of the former N=2).
|
|
9
15
|
*/
|
|
10
|
-
export declare const MAX_CONTRACT_REPAIR_ITERATIONS =
|
|
16
|
+
export declare const MAX_CONTRACT_REPAIR_ITERATIONS = 8;
|
|
11
17
|
/** Maximum implementation_dag regenerations after traceability rejections. */
|
|
12
18
|
export declare const MAX_DAG_REGENERATION_ATTEMPTS = 2;
|
|
13
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"AAwBA,OAAO,EAOL,KAAK,eAAe,EACpB,KAAK,WAAW,EAIhB,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"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"}
|