@miller-tech/uap 1.162.1 → 1.163.3
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/.tsbuildinfo +1 -1
- package/dist/browser/web-browser.d.ts.map +1 -1
- package/dist/browser/web-browser.js +36 -4
- package/dist/browser/web-browser.js.map +1 -1
- package/dist/cli/deliver.js +46 -1
- package/dist/cli/deliver.js.map +1 -1
- package/dist/delivery/agentic-executor.d.ts +8 -0
- package/dist/delivery/agentic-executor.d.ts.map +1 -1
- package/dist/delivery/agentic-executor.js +62 -9
- package/dist/delivery/agentic-executor.js.map +1 -1
- package/dist/delivery/contract-lint.d.ts +43 -0
- package/dist/delivery/contract-lint.d.ts.map +1 -0
- package/dist/delivery/contract-lint.js +94 -0
- package/dist/delivery/contract-lint.js.map +1 -0
- package/dist/delivery/convergence-loop.d.ts +7 -0
- package/dist/delivery/convergence-loop.d.ts.map +1 -1
- package/dist/delivery/convergence-loop.js +100 -1
- package/dist/delivery/convergence-loop.js.map +1 -1
- package/dist/delivery/epic-mission.d.ts +11 -0
- package/dist/delivery/epic-mission.d.ts.map +1 -1
- package/dist/delivery/epic-mission.js +11 -0
- package/dist/delivery/epic-mission.js.map +1 -1
- package/dist/delivery/execution-gate.d.ts.map +1 -1
- package/dist/delivery/execution-gate.js +25 -0
- package/dist/delivery/execution-gate.js.map +1 -1
- package/dist/delivery/plan-check.d.ts.map +1 -1
- package/dist/delivery/plan-check.js +42 -0
- package/dist/delivery/plan-check.js.map +1 -1
- package/dist/delivery/visual-gate.d.ts.map +1 -1
- package/dist/delivery/visual-gate.js +96 -1
- package/dist/delivery/visual-gate.js.map +1 -1
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
|
@@ -91,6 +91,22 @@ function agentInternalReason(projectRoot, abs, forWrite = false) {
|
|
|
91
91
|
export function toolsFor(allowBash) {
|
|
92
92
|
return allowBash ? [...TOOLS] : TOOLS.filter((t) => t.function.name !== 'run_bash');
|
|
93
93
|
}
|
|
94
|
+
/** Pure read/inspect tools — the ones a stuck model loops on. Stripped in a
|
|
95
|
+
* forced-write round so it can only mutate or finish. run_bash is NOT here: it
|
|
96
|
+
* can legitimately WRITE files (codegen/scaffold), and when --allow-bash is on
|
|
97
|
+
* a session may be making real progress through it, so it is kept under force
|
|
98
|
+
* (guarded by allowBash in writeOnlyTools). */
|
|
99
|
+
const READ_ONLY_TOOL_NAMES = new Set(['read_file', 'list_dir']);
|
|
100
|
+
/** Mutating + terminating tools (plus run_bash when allowed). Offered with
|
|
101
|
+
* tool_choice:'required' for a SINGLE forced round once a weak local model has
|
|
102
|
+
* ignored the soft write-nudge and kept reading — removing the read tools makes
|
|
103
|
+
* another read impossible, so the model must write_file/edit_file (or run_bash,
|
|
104
|
+
* or finish). The very next round restores reads (see the alternation in the
|
|
105
|
+
* loop) so a model whose correct move needs current file content — e.g. a
|
|
106
|
+
* surgical edit_file — is never trapped for more than one round. */
|
|
107
|
+
export function writeOnlyTools(allowBash) {
|
|
108
|
+
return toolsFor(allowBash).filter((t) => !READ_ONLY_TOOL_NAMES.has(t.function.name));
|
|
109
|
+
}
|
|
94
110
|
const TOOLS = [
|
|
95
111
|
{
|
|
96
112
|
type: 'function',
|
|
@@ -603,14 +619,14 @@ export function selectExecutorMode(mode, projectRoot, hasGates) {
|
|
|
603
619
|
return mode;
|
|
604
620
|
return hasGates || projectHasInspectableContent(projectRoot) ? 'agentic' : 'blind';
|
|
605
621
|
}
|
|
606
|
-
async function chat(endpoint, model, messages, temperature, allowBash = true) {
|
|
622
|
+
async function chat(endpoint, model, messages, temperature, allowBash = true, forceWrite = false) {
|
|
607
623
|
// Hold a model slot so the agentic tool-loop's calls comply with the slot
|
|
608
624
|
// budget (same work, bounded concurrency). 429/timeout feed backpressure.
|
|
609
625
|
if (process.env.UAP_MODEL_LEASE === '0')
|
|
610
|
-
return _chat(endpoint, model, messages, temperature, allowBash);
|
|
626
|
+
return _chat(endpoint, model, messages, temperature, allowBash, forceWrite);
|
|
611
627
|
return withModelSlot(`agentic:${model.apiModel ?? 'default'}`, async () => {
|
|
612
628
|
try {
|
|
613
|
-
const m = await _chat(endpoint, model, messages, temperature, allowBash);
|
|
629
|
+
const m = await _chat(endpoint, model, messages, temperature, allowBash, forceWrite);
|
|
614
630
|
await recordModelSuccess({}).catch(() => undefined);
|
|
615
631
|
return m;
|
|
616
632
|
}
|
|
@@ -621,7 +637,7 @@ async function chat(endpoint, model, messages, temperature, allowBash = true) {
|
|
|
621
637
|
}
|
|
622
638
|
});
|
|
623
639
|
}
|
|
624
|
-
async function _chat(endpoint, model, messages, temperature, allowBash = true) {
|
|
640
|
+
async function _chat(endpoint, model, messages, temperature, allowBash = true, forceWrite = false) {
|
|
625
641
|
const url = `${endpoint.replace(/\/$/, '')}/chat/completions`;
|
|
626
642
|
const apiKey = model.apiKeyEnvVar ? process.env[model.apiKeyEnvVar] : undefined;
|
|
627
643
|
// Long headers/body timeouts + transient-failure retry: a local model
|
|
@@ -632,9 +648,12 @@ async function _chat(endpoint, model, messages, temperature, allowBash = true) {
|
|
|
632
648
|
headers: { 'Content-Type': 'application/json', ...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {}) },
|
|
633
649
|
body: JSON.stringify({
|
|
634
650
|
model: model.apiModel,
|
|
651
|
+
// Forced-write round: offer ONLY mutating/terminating tools and require a
|
|
652
|
+
// call, so a model that has looped on reads cannot read again — it must
|
|
653
|
+
// write_file/edit_file or finish. Otherwise the normal auto-choice set.
|
|
654
|
+
tools: forceWrite ? writeOnlyTools(allowBash) : toolsFor(allowBash),
|
|
655
|
+
tool_choice: forceWrite ? 'required' : 'auto',
|
|
635
656
|
messages,
|
|
636
|
-
tools: toolsFor(allowBash),
|
|
637
|
-
tool_choice: 'auto',
|
|
638
657
|
...(temperature !== undefined ? { temperature } : {}),
|
|
639
658
|
}),
|
|
640
659
|
});
|
|
@@ -700,8 +719,23 @@ export function createAgenticExecutor(model, opts) {
|
|
|
700
719
|
// WRITE_NUDGE_AFTER consecutive mutation-free rounds the next round opens
|
|
701
720
|
// with an explicit order to write.
|
|
702
721
|
const WRITE_NUDGE_AFTER = 5;
|
|
722
|
+
// After the soft nudge is IGNORED for this many further read-only rounds,
|
|
723
|
+
// stop asking and force it: the next request offers only write/edit/finish
|
|
724
|
+
// with tool_choice:'required'. A weak local model (qwen35-a3b live,
|
|
725
|
+
// 2026-07-21: 5 turns, 3 nudges, ZERO writes) treats the nudge as just more
|
|
726
|
+
// prose and keeps reading; removing the read tools is the only reliable
|
|
727
|
+
// lever. Kept just above WRITE_NUDGE_AFTER so the model gets one soft chance
|
|
728
|
+
// to self-correct before the hard rail engages.
|
|
729
|
+
const FORCE_WRITE_AFTER = WRITE_NUDGE_AFTER + 1;
|
|
703
730
|
let roundsWithoutWrite = 0;
|
|
704
731
|
let writeNudged = false;
|
|
732
|
+
// Force NON-consecutively: at most one forced round, then always a normal
|
|
733
|
+
// round before forcing again. The recovery round restores the read tools so
|
|
734
|
+
// a model whose correct next move is a surgical edit_file (which needs to
|
|
735
|
+
// see current file content to build a valid match, and which write_file
|
|
736
|
+
// can't replace under the anti-gutting guard) can re-read and recover
|
|
737
|
+
// instead of being trapped read-less until the budget burns.
|
|
738
|
+
let lastRoundForced = false;
|
|
705
739
|
for (let round = 1; round <= maxRounds; round++) {
|
|
706
740
|
if (roundsWithoutWrite >= WRITE_NUDGE_AFTER && !writeNudged) {
|
|
707
741
|
writeNudged = true;
|
|
@@ -713,6 +747,18 @@ export function createAgenticExecutor(model, opts) {
|
|
|
713
747
|
});
|
|
714
748
|
opts.onEvent?.({ round, kind: 'error', detail: `write-nudge injected after ${roundsWithoutWrite} read-only rounds` });
|
|
715
749
|
}
|
|
750
|
+
// Hard rail: the soft nudge was ignored. Force a mutating/terminating
|
|
751
|
+
// call — but never twice in a row, so the next round always restores the
|
|
752
|
+
// read tools (see lastRoundForced) and the model can recover.
|
|
753
|
+
const forceWrite = roundsWithoutWrite >= FORCE_WRITE_AFTER && !lastRoundForced;
|
|
754
|
+
lastRoundForced = forceWrite;
|
|
755
|
+
if (forceWrite) {
|
|
756
|
+
opts.onEvent?.({
|
|
757
|
+
round,
|
|
758
|
+
kind: 'error',
|
|
759
|
+
detail: `forced-write round: read tools stripped after ${roundsWithoutWrite} read-only rounds`,
|
|
760
|
+
});
|
|
761
|
+
}
|
|
716
762
|
// Rail sizing: stop BEFORE sending a request that would outgrow the
|
|
717
763
|
// session's context budget — a clean under-budget stop with a partial
|
|
718
764
|
// summary beats an overflow/prune that silently loses session state.
|
|
@@ -735,7 +781,7 @@ export function createAgenticExecutor(model, opts) {
|
|
|
735
781
|
roundsWithoutWrite++;
|
|
736
782
|
let msg;
|
|
737
783
|
try {
|
|
738
|
-
msg = await chat(opts.endpoint, model, messages, opts.temperature, allowBash);
|
|
784
|
+
msg = await chat(opts.endpoint, model, messages, opts.temperature, allowBash, forceWrite);
|
|
739
785
|
}
|
|
740
786
|
catch (err) {
|
|
741
787
|
opts.onEvent?.({ round, kind: 'error', detail: String(err).slice(0, 200) });
|
|
@@ -798,8 +844,15 @@ export function createAgenticExecutor(model, opts) {
|
|
|
798
844
|
// #2a: per-tool-call progress — refresh the deliver heartbeat now, not
|
|
799
845
|
// just at turn end, so wedge-detection tracks real intra-turn activity.
|
|
800
846
|
opts.onToolProgress?.();
|
|
801
|
-
|
|
802
|
-
|
|
847
|
+
// A productive mutation resets the streak. write_file/edit_file return
|
|
848
|
+
// 'OK: ...'; run_bash returns 'exit=<code> ...' and so NEVER matched
|
|
849
|
+
// startsWith('OK') — a latent bug that was harmless when the streak only
|
|
850
|
+
// drove a soft nudge, but not once it strips run_bash under force: an
|
|
851
|
+
// --allow-bash session writing files through the shell would have been
|
|
852
|
+
// forced and had its bash taken away. Reset on a clean bash exit too.
|
|
853
|
+
const isWrite = call.function.name === 'write_file' || call.function.name === 'edit_file';
|
|
854
|
+
const isBash = call.function.name === 'run_bash';
|
|
855
|
+
if ((isWrite && toolResult.startsWith('OK')) || (isBash && /(^|\s)exit=0(\s|$)/.test(toolResult))) {
|
|
803
856
|
roundsWithoutWrite = -1; // reset below by the per-round increment
|
|
804
857
|
writeNudged = false;
|
|
805
858
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentic-executor.js","sourceRoot":"","sources":["../../src/delivery/agentic-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentic-executor.js","sourceRoot":"","sources":["../../src/delivery/agentic-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural contract lint (P1 gate, production wiring).
|
|
3
|
+
*
|
|
4
|
+
* Per-epic node --check + per-epic acceptance can all pass while the ASSEMBLED
|
|
5
|
+
* whole still crashes at boot, because a cross-module STRUCTURAL contract
|
|
6
|
+
* diverged: one module exposes a symbol as a singleton object, another `new`s it
|
|
7
|
+
* as a class. Observed live twice on the octopus build:
|
|
8
|
+
* audio.js: `var Audio = (function(){ ... return {…}; })();` // singleton
|
|
9
|
+
* game.js: `audio = new Audio();` // TypeError: not a constructor
|
|
10
|
+
* background.js: `const Background = (() => { ... })();` // singleton
|
|
11
|
+
* game.js: `background = new Background(cvs);` // TypeError: not a constructor
|
|
12
|
+
*
|
|
13
|
+
* This lint scans the delivered source and flags a `new X()` where X is defined
|
|
14
|
+
* (anywhere in the set) as an IIFE singleton and NOT as a class/function — the
|
|
15
|
+
* exact, high-confidence signature of that failure. It deliberately stays narrow
|
|
16
|
+
* (PascalCase symbols, IIFE singletons, real `new` usage) to avoid false
|
|
17
|
+
* positives that would wrongly fail a healthy epic. PURE — unit-tested.
|
|
18
|
+
*
|
|
19
|
+
* KNOWN BOUNDARIES (deliberately conservative — a missed bug is far cheaper here
|
|
20
|
+
* than a false positive that wedges a healthy epic in a retry loop):
|
|
21
|
+
* - Only the IIFE singleton form is detected; a plain object-literal singleton
|
|
22
|
+
* (`const Audio = { play(){} }` then `new Audio()`) crashes the same way but
|
|
23
|
+
* is NOT flagged.
|
|
24
|
+
* - An IIFE that RETURNS a constructor (`const Ship = (() => class {…})()`) is
|
|
25
|
+
* new-able; those files are skipped from singleton classification.
|
|
26
|
+
* - Regexes scan raw text, so a `new X()` inside a comment/string is included;
|
|
27
|
+
* acceptable given the low rate and the changed-files scoping below.
|
|
28
|
+
*
|
|
29
|
+
* When `changedFiles` is provided, only `new`-sites in THOSE files are flagged
|
|
30
|
+
* (singletons are still classified from the whole set) — so a violation is
|
|
31
|
+
* attributed to the epic that actually wrote the `new`, never re-blamed onto an
|
|
32
|
+
* innocent downstream epic (which may be unable to fix a locked-contract file).
|
|
33
|
+
*/
|
|
34
|
+
export interface SourceFile {
|
|
35
|
+
path: string;
|
|
36
|
+
content: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Return a list of structural contract violations across the given source files.
|
|
40
|
+
* Empty when the code is structurally consistent.
|
|
41
|
+
*/
|
|
42
|
+
export declare function lintSourceContracts(files: SourceFile[], changedFiles?: Set<string>): string[];
|
|
43
|
+
//# sourceMappingURL=contract-lint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-lint.d.ts","sourceRoot":"","sources":["../../src/delivery/contract-lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAmD7F"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural contract lint (P1 gate, production wiring).
|
|
3
|
+
*
|
|
4
|
+
* Per-epic node --check + per-epic acceptance can all pass while the ASSEMBLED
|
|
5
|
+
* whole still crashes at boot, because a cross-module STRUCTURAL contract
|
|
6
|
+
* diverged: one module exposes a symbol as a singleton object, another `new`s it
|
|
7
|
+
* as a class. Observed live twice on the octopus build:
|
|
8
|
+
* audio.js: `var Audio = (function(){ ... return {…}; })();` // singleton
|
|
9
|
+
* game.js: `audio = new Audio();` // TypeError: not a constructor
|
|
10
|
+
* background.js: `const Background = (() => { ... })();` // singleton
|
|
11
|
+
* game.js: `background = new Background(cvs);` // TypeError: not a constructor
|
|
12
|
+
*
|
|
13
|
+
* This lint scans the delivered source and flags a `new X()` where X is defined
|
|
14
|
+
* (anywhere in the set) as an IIFE singleton and NOT as a class/function — the
|
|
15
|
+
* exact, high-confidence signature of that failure. It deliberately stays narrow
|
|
16
|
+
* (PascalCase symbols, IIFE singletons, real `new` usage) to avoid false
|
|
17
|
+
* positives that would wrongly fail a healthy epic. PURE — unit-tested.
|
|
18
|
+
*
|
|
19
|
+
* KNOWN BOUNDARIES (deliberately conservative — a missed bug is far cheaper here
|
|
20
|
+
* than a false positive that wedges a healthy epic in a retry loop):
|
|
21
|
+
* - Only the IIFE singleton form is detected; a plain object-literal singleton
|
|
22
|
+
* (`const Audio = { play(){} }` then `new Audio()`) crashes the same way but
|
|
23
|
+
* is NOT flagged.
|
|
24
|
+
* - An IIFE that RETURNS a constructor (`const Ship = (() => class {…})()`) is
|
|
25
|
+
* new-able; those files are skipped from singleton classification.
|
|
26
|
+
* - Regexes scan raw text, so a `new X()` inside a comment/string is included;
|
|
27
|
+
* acceptable given the low rate and the changed-files scoping below.
|
|
28
|
+
*
|
|
29
|
+
* When `changedFiles` is provided, only `new`-sites in THOSE files are flagged
|
|
30
|
+
* (singletons are still classified from the whole set) — so a violation is
|
|
31
|
+
* attributed to the epic that actually wrote the `new`, never re-blamed onto an
|
|
32
|
+
* innocent downstream epic (which may be unable to fix a locked-contract file).
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* Return a list of structural contract violations across the given source files.
|
|
36
|
+
* Empty when the code is structurally consistent.
|
|
37
|
+
*/
|
|
38
|
+
export function lintSourceContracts(files, changedFiles) {
|
|
39
|
+
const constructors = new Set(); // `class X` or `function X(` — new-able
|
|
40
|
+
const singletons = new Map(); // IIFE singleton name -> defining file
|
|
41
|
+
// An IIFE that returns a constructor is new-able — never a singleton.
|
|
42
|
+
const returnsCtor = /return\s+(?:class\b|function\b)|=>\s*(?:class\b|function\b)/;
|
|
43
|
+
// An IIFE singleton: `const/let/var Name = ( () => {…} )()` or
|
|
44
|
+
// `= ( function (…) {…} )()`. We only need to recognize the OPENING of the
|
|
45
|
+
// IIFE assignment (the immediately-invoked wrapper), which is the reliable,
|
|
46
|
+
// low-false-positive signal. Names are PascalCase (the class-like convention).
|
|
47
|
+
const iifeRe = /\b(?:const|let|var)\s+([A-Z]\w*)\s*=\s*\(\s*(?:function\b|async\s+function\b|\([^)]*\)\s*=>|[A-Za-z_$][\w$]*\s*=>)/g;
|
|
48
|
+
const classRe = /\bclass\s+([A-Z]\w*)/g;
|
|
49
|
+
const funcRe = /\bfunction\s+([A-Z]\w*)\s*\(/g;
|
|
50
|
+
for (const f of files) {
|
|
51
|
+
let m;
|
|
52
|
+
classRe.lastIndex = 0;
|
|
53
|
+
while ((m = classRe.exec(f.content)))
|
|
54
|
+
constructors.add(m[1]);
|
|
55
|
+
funcRe.lastIndex = 0;
|
|
56
|
+
while ((m = funcRe.exec(f.content)))
|
|
57
|
+
constructors.add(m[1]);
|
|
58
|
+
// Skip singleton classification for a file whose IIFE plausibly returns a
|
|
59
|
+
// constructor (anonymous/renamed class or function) — that symbol is new-able.
|
|
60
|
+
if (returnsCtor.test(f.content))
|
|
61
|
+
continue;
|
|
62
|
+
iifeRe.lastIndex = 0;
|
|
63
|
+
while ((m = iifeRe.exec(f.content)))
|
|
64
|
+
singletons.set(m[1], f.path);
|
|
65
|
+
}
|
|
66
|
+
const violations = [];
|
|
67
|
+
const seen = new Set();
|
|
68
|
+
const newRe = /\bnew\s+([A-Z]\w*)\s*\(/g;
|
|
69
|
+
for (const f of files) {
|
|
70
|
+
// Only attribute a violation to a `new`-site the CURRENT epic actually wrote
|
|
71
|
+
// (when the caller scopes it), so a locked/earlier file's mismatch never
|
|
72
|
+
// fails an innocent downstream epic.
|
|
73
|
+
if (changedFiles && !changedFiles.has(f.path))
|
|
74
|
+
continue;
|
|
75
|
+
let m;
|
|
76
|
+
newRe.lastIndex = 0;
|
|
77
|
+
while ((m = newRe.exec(f.content))) {
|
|
78
|
+
const name = m[1];
|
|
79
|
+
// Constructor wins if the symbol is ALSO a class/function anywhere —
|
|
80
|
+
// ambiguous, so don't flag (avoids false positives on dual definitions).
|
|
81
|
+
if (singletons.has(name) && !constructors.has(name)) {
|
|
82
|
+
const key = `${name}@${f.path}`;
|
|
83
|
+
if (seen.has(key))
|
|
84
|
+
continue;
|
|
85
|
+
seen.add(key);
|
|
86
|
+
violations.push(`${f.path}: \`new ${name}()\` but ${name} is a singleton object ` +
|
|
87
|
+
`(an IIFE in ${singletons.get(name)}), not a constructor — call ${name} directly, ` +
|
|
88
|
+
`or make ${name} a \`class\`. (structural contract mismatch — would crash at boot)`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return violations;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=contract-lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-lint.js","sourceRoot":"","sources":["../../src/delivery/contract-lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,6 +113,13 @@ export interface DeliveryResult {
|
|
|
113
113
|
* files attempt 1 had just written).
|
|
114
114
|
*/
|
|
115
115
|
changedTree?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Set when the loop aborted early because it was provably stuck rather than
|
|
118
|
+
* merely slow: consecutive turns that both failed to improve the gate score
|
|
119
|
+
* AND wrote nothing to the tree. Distinguishes "ran out of turns while making
|
|
120
|
+
* progress" (retry may help) from "spinning" (retrying the same way cannot).
|
|
121
|
+
*/
|
|
122
|
+
stallReason?: string;
|
|
116
123
|
}
|
|
117
124
|
export interface ExplorerSettings {
|
|
118
125
|
/** Candidates per turn (default 3) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convergence-loop.d.ts","sourceRoot":"","sources":["../../src/delivery/convergence-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,KAAK,EAAE,OAAO,EAA6B,MAAM,cAAc,CAAC;AAKvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE/D,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG,CACzB,KAAK,EAAE,QAAQ,EAAE,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,aAAa,KACpB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,2FAA2F;IAC3F,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACrC,wCAAwC;IACxC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;gFAC4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"convergence-loop.d.ts","sourceRoot":"","sources":["../../src/delivery/convergence-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,KAAK,EAAE,OAAO,EAA6B,MAAM,cAAc,CAAC;AAKvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE/D,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG,CACzB,KAAK,EAAE,QAAQ,EAAE,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,aAAa,KACpB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,2FAA2F;IAC3F,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACrC,wCAAwC;IACxC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;gFAC4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,OAAO,0BAA0B,EAAE,iBAAiB,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iDAAiD;IACjD,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,KAAK,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,GACvC,WAAW,CA+Bb;AAED,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;OAUG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IAC7C,gFAAgF;IAChF,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;wEAEoE;IACpE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,MAAM,CAAC;IACnD;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1E;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IACpD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACrF;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,qGAAqG;IACrG,WAAW,EAAE;QACX,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB;;;gFAG4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AA8FD,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,EAAE,aAoClC,CAAC;AAaF;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,wEAAwE;IACxE,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,0EAA0E;IAC1E,OAAO,CAAC,uBAAuB,CAAuB;gBAGpD,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,YAAY,EACtB,KAAK,GAAE;QACL,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;KAC5B;IAUR;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAsDvB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;;;;;OAQG;YACW,eAAe;IAoE7B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAW1B,uDAAuD;YACzC,aAAa;IAuC3B,wEAAwE;YAC1D,eAAe;IA4E7B;;;;OAIG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAmgB5D"}
|
|
@@ -72,6 +72,15 @@ const DEFAULT_MAX_TURNS = 5;
|
|
|
72
72
|
const DEFAULT_MAX_TURNS_CEILING = 50;
|
|
73
73
|
/** Consecutive non-improving turns after which untilDelivered stops extending. */
|
|
74
74
|
const STAGNATION_LIMIT = 4;
|
|
75
|
+
/**
|
|
76
|
+
* Consecutive turns that both made no gate progress AND left the working tree
|
|
77
|
+
* byte-identical, after which the loop aborts outright. Lower than
|
|
78
|
+
* STAGNATION_LIMIT because a turn that changes nothing carries strictly less
|
|
79
|
+
* information than one that does: once the executor is reading in circles,
|
|
80
|
+
* further turns are pure waste. Turns the executor never completed (transient
|
|
81
|
+
* API failures) are excluded — they are missing data, not evidence of a stall.
|
|
82
|
+
*/
|
|
83
|
+
const NO_APPLY_ABORT_LIMIT = 3;
|
|
75
84
|
const DEFAULT_PREVIOUS_OUTPUT_CHARS = 3_000;
|
|
76
85
|
const OUTPUT_CONTRACT = [
|
|
77
86
|
'You are an autonomous software delivery agent. Complete the task by emitting complete file contents.',
|
|
@@ -216,7 +225,18 @@ export class ConvergenceLoop {
|
|
|
216
225
|
// non-git projects (the fail-closed path is expected there).
|
|
217
226
|
stdio: ['ignore', 'pipe', 'ignore'],
|
|
218
227
|
};
|
|
219
|
-
const
|
|
228
|
+
const statusRaw = execSync('git status --porcelain=v1 --untracked-files=all', opts).toString();
|
|
229
|
+
// Drop harness-owned bookkeeping. `.uap/` is OUR state, never mission
|
|
230
|
+
// output: run-state rewrites state.json (fresh `updatedAt`) at every
|
|
231
|
+
// checkpoint and the visual gate rewrites screenshots on every ladder
|
|
232
|
+
// run. Counting those as "the tree moved" makes the fingerprint change
|
|
233
|
+
// on every single turn, which silently disables the no-progress breaker
|
|
234
|
+
// in exactly the fresh-scaffold repos it was written for.
|
|
235
|
+
const isHarnessOwned = (rel) => /(^|\/)\.uap\//.test(rel);
|
|
236
|
+
const status = statusRaw
|
|
237
|
+
.split('\n')
|
|
238
|
+
.filter((line) => line.trim() && !isHarnessOwned(line.slice(3).trim()))
|
|
239
|
+
.join('\n');
|
|
220
240
|
let diff;
|
|
221
241
|
try {
|
|
222
242
|
diff = execSync('git diff HEAD --stat', opts).toString();
|
|
@@ -480,6 +500,19 @@ export class ConvergenceLoop {
|
|
|
480
500
|
let bestSoFar = -1;
|
|
481
501
|
let bestAcceptance = -1;
|
|
482
502
|
let stagnantTurns = 0;
|
|
503
|
+
// Consecutive turns that both left the tree byte-identical AND failed to
|
|
504
|
+
// improve the best gate score. A flat score alone can still be real work (a
|
|
505
|
+
// turn that rewrites a file without moving the needle), so the tree
|
|
506
|
+
// fingerprint is what separates "working but not yet passing" from "reading
|
|
507
|
+
// in circles". Observed live: 4 turns / 2h20m of pure re-reading, because
|
|
508
|
+
// the gate feedback named a file that was not the defect.
|
|
509
|
+
let noProgressStreak = 0;
|
|
510
|
+
// Seeded AFTER the baseline ladder run (see below) for the same reason
|
|
511
|
+
// runStartTreeFingerprint is: files the gates themselves create on first
|
|
512
|
+
// run must not read as turn-1 movement.
|
|
513
|
+
let lastTurnFingerprint = null;
|
|
514
|
+
let bestScoreSeen = -1;
|
|
515
|
+
let stallReason;
|
|
483
516
|
let executor = this.executor;
|
|
484
517
|
let explorerSettings = this.config.explorer;
|
|
485
518
|
let critic = this.config.critic;
|
|
@@ -511,6 +544,9 @@ export class ConvergenceLoop {
|
|
|
511
544
|
// the baseline ladder run so files the gates themselves create on first
|
|
512
545
|
// run (e.g. snapshots, lockfiles) don't read as mission changes.
|
|
513
546
|
this.runStartTreeFingerprint = this.fingerprintTree();
|
|
547
|
+
// Same baseline for the no-progress breaker, so turn 1 is compared against
|
|
548
|
+
// a post-baseline tree rather than a pre-baseline one.
|
|
549
|
+
lastTurnFingerprint = this.runStartTreeFingerprint;
|
|
514
550
|
// Gate-integrity snapshot, taken AFTER the baseline ladder run so files
|
|
515
551
|
// the gates themselves create on first run (e.g. __snapshots__/*.snap)
|
|
516
552
|
// are included. Test files existing now are protected for the whole run;
|
|
@@ -790,6 +826,53 @@ export class ConvergenceLoop {
|
|
|
790
826
|
maxTurns += 1;
|
|
791
827
|
}
|
|
792
828
|
}
|
|
829
|
+
// Circuit-breaker: consecutive turns that made no gate progress AND left
|
|
830
|
+
// the tree untouched. Every remaining turn would re-run the same executor
|
|
831
|
+
// against the same tree and the same feedback, so it can only reproduce
|
|
832
|
+
// the same result — burning wall-clock and tokens.
|
|
833
|
+
//
|
|
834
|
+
// Deliberately does NOT key off `stagnantTurns`: that counter is only
|
|
835
|
+
// maintained inside the `untilDelivered` branch above, so borrowing it
|
|
836
|
+
// would make this breaker silently inert on a default bounded run.
|
|
837
|
+
//
|
|
838
|
+
// Deliberately does NOT key off `filesApplied` alone: the agentic
|
|
839
|
+
// executor writes through its own tools and installs a no-op applier, so
|
|
840
|
+
// `filesApplied` is ALWAYS empty there (see the `changedTree` doc above).
|
|
841
|
+
// Using it alone would abort productive agentic runs after two flat-score
|
|
842
|
+
// turns. The git fingerprint is the signal that survives both executors.
|
|
843
|
+
const treeNow = this.fingerprintTree();
|
|
844
|
+
const treeMoved = treeNow !== null && treeNow !== lastTurnFingerprint;
|
|
845
|
+
if (treeNow !== null)
|
|
846
|
+
lastTurnFingerprint = treeNow;
|
|
847
|
+
// Fail OPEN when the fingerprint is unavailable (non-git project, git
|
|
848
|
+
// failure): never abort a run we cannot prove is idle.
|
|
849
|
+
const provablyIdle = treeNow !== null && !treeMoved && outcome.filesApplied.length === 0;
|
|
850
|
+
const scoreMoved = record.score > bestScoreSeen;
|
|
851
|
+
if (scoreMoved)
|
|
852
|
+
bestScoreSeen = record.score;
|
|
853
|
+
// A turn the executor never completed (transient 429, proxy 5xx, restarted
|
|
854
|
+
// backend) produces no ladder verdict and no writes. That is missing
|
|
855
|
+
// information, not proof of a stuck loop — three flaky turns must not kill
|
|
856
|
+
// an otherwise healthy run.
|
|
857
|
+
const inconclusive = Boolean(outcome.executorError) || !outcome.ladder;
|
|
858
|
+
// An escalation directive applied above (model switch, critic, reseed)
|
|
859
|
+
// changes the configuration the NEXT turn runs under, and the escalation
|
|
860
|
+
// ladder exists precisely to break stagnation. Aborting now would kill the
|
|
861
|
+
// repair pass before it ever executes, so give the new configuration a
|
|
862
|
+
// turn to prove itself.
|
|
863
|
+
const escalated = Boolean(directive.switchExecutor || directive.enableCritic || directive.regenerateSeeds);
|
|
864
|
+
if (inconclusive || scoreMoved || !provablyIdle || escalated)
|
|
865
|
+
noProgressStreak = 0;
|
|
866
|
+
else
|
|
867
|
+
noProgressStreak++;
|
|
868
|
+
if (noProgressStreak >= NO_APPLY_ABORT_LIMIT) {
|
|
869
|
+
stallReason =
|
|
870
|
+
`stuck: ${noProgressStreak} consecutive turns left the working tree unchanged and made no gate ` +
|
|
871
|
+
`progress. The loop is spinning, not converging — the gate feedback is likely naming a file that ` +
|
|
872
|
+
`is not the defect, or stating a requirement that no edit can satisfy. Re-running as-is will ` +
|
|
873
|
+
`reproduce this result.`;
|
|
874
|
+
break;
|
|
875
|
+
}
|
|
793
876
|
// Phase 3: structured critique of the failed turn (fail-soft). Skipped
|
|
794
877
|
// on the last turn — prevContext is never consumed, so it would waste
|
|
795
878
|
// a model call.
|
|
@@ -857,6 +940,21 @@ export class ConvergenceLoop {
|
|
|
857
940
|
bestTurn = record.turn;
|
|
858
941
|
}
|
|
859
942
|
}
|
|
943
|
+
// Surface the stall through finalFeedback as well as the dedicated field.
|
|
944
|
+
// finalFeedback is what actually reaches the operator's terminal, the epic
|
|
945
|
+
// summary, the split planner and the recorded task outcome; a consumer that
|
|
946
|
+
// only reads it would otherwise see an early abort as indistinguishable
|
|
947
|
+
// from ordinary budget exhaustion — which defeats the point of detecting it.
|
|
948
|
+
// PREPEND, do not append. The epic summary truncates this to 400 chars
|
|
949
|
+
// (`epic-mission.ts`: `finalFeedback...slice(0, 400)`) before handing it to
|
|
950
|
+
// the split planner as `lastFailure`. Gate feedback with output tails
|
|
951
|
+
// routinely exceeds that, so an appended marker is sliced off exactly where
|
|
952
|
+
// it is needed most. Prepending also matches the house pattern for
|
|
953
|
+
// "why this failed" banners and puts the diagnosis above the gate wall in
|
|
954
|
+
// the operator's terminal.
|
|
955
|
+
if (stallReason) {
|
|
956
|
+
finalFeedback = finalFeedback ? `⛔ ${stallReason}\n\n${finalFeedback}` : `⛔ ${stallReason}`;
|
|
957
|
+
}
|
|
860
958
|
return {
|
|
861
959
|
success,
|
|
862
960
|
alreadyDelivered: false,
|
|
@@ -868,6 +966,7 @@ export class ConvergenceLoop {
|
|
|
868
966
|
finalOutput,
|
|
869
967
|
totalDurationMs: Date.now() - start,
|
|
870
968
|
changedTree: this.hasAppliedChanges(),
|
|
969
|
+
stallReason,
|
|
871
970
|
};
|
|
872
971
|
}
|
|
873
972
|
}
|