@yagni-app/code-staging 1.2.3-staging.1661.1 → 1.2.3-staging.1686.1
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/extension/pipeline/budget.d.ts +8 -3
- package/dist/extension/pipeline/budget.js +9 -4
- package/dist/extension/pipeline/types.d.ts +4 -3
- package/dist/extension/pipeline/types.js +5 -4
- package/dist/extension/pipeline/verify.d.ts +6 -2
- package/dist/extension/pipeline/verify.js +8 -4
- package/package.json +2 -2
|
@@ -94,12 +94,17 @@ export declare function stageWontFit(budget: RunBudget, kind: TimedStageKind, ex
|
|
|
94
94
|
* than the time actually left, since the host stops the run at the deadline.
|
|
95
95
|
*/
|
|
96
96
|
export declare const STAGE_WALL_FLOOR_MS: number;
|
|
97
|
-
/**
|
|
97
|
+
/**
|
|
98
|
+
* Time the verify gate is allowed after the last write, on top of the stage
|
|
99
|
+
* estimates: the verify run's own ceiling (`VERIFY_TIMEOUT_MS`, twenty
|
|
100
|
+
* minutes). Five until 2026-10-09, when verify could run ten, so a long stage
|
|
101
|
+
* could leave the gate less time than it may take.
|
|
102
|
+
*/
|
|
98
103
|
export declare const VERIFY_ALLOWANCE_MS: number;
|
|
99
104
|
/**
|
|
100
105
|
* What must still run after a stage stops: a review round, one fix, and the
|
|
101
|
-
* verify gate. Held back from the stage's wall clock
|
|
102
|
-
* leaves the run time to review what it wrote.
|
|
106
|
+
* verify gate (4 + 6 + 20 = 30 minutes). Held back from the stage's wall clock
|
|
107
|
+
* so a long stage still leaves the run time to review and verify what it wrote.
|
|
103
108
|
*/
|
|
104
109
|
export declare const STAGE_WALL_RESERVE_MS: number;
|
|
105
110
|
/**
|
|
@@ -126,12 +126,17 @@ export function stageWontFit(budget, kind, expectedMs, nowMs = Date.now()) {
|
|
|
126
126
|
* than the time actually left, since the host stops the run at the deadline.
|
|
127
127
|
*/
|
|
128
128
|
export const STAGE_WALL_FLOOR_MS = 20 * 60_000;
|
|
129
|
-
/**
|
|
130
|
-
|
|
129
|
+
/**
|
|
130
|
+
* Time the verify gate is allowed after the last write, on top of the stage
|
|
131
|
+
* estimates: the verify run's own ceiling (`VERIFY_TIMEOUT_MS`, twenty
|
|
132
|
+
* minutes). Five until 2026-10-09, when verify could run ten, so a long stage
|
|
133
|
+
* could leave the gate less time than it may take.
|
|
134
|
+
*/
|
|
135
|
+
export const VERIFY_ALLOWANCE_MS = 20 * 60_000;
|
|
131
136
|
/**
|
|
132
137
|
* What must still run after a stage stops: a review round, one fix, and the
|
|
133
|
-
* verify gate. Held back from the stage's wall clock
|
|
134
|
-
* leaves the run time to review what it wrote.
|
|
138
|
+
* verify gate (4 + 6 + 20 = 30 minutes). Held back from the stage's wall clock
|
|
139
|
+
* so a long stage still leaves the run time to review and verify what it wrote.
|
|
135
140
|
*/
|
|
136
141
|
export const STAGE_WALL_RESERVE_MS = DEFAULT_STAGE_ESTIMATE_MS.review + DEFAULT_STAGE_ESTIMATE_MS.fix + VERIFY_ALLOWANCE_MS;
|
|
137
142
|
/**
|
|
@@ -544,9 +544,10 @@ export interface ResiliencePolicy {
|
|
|
544
544
|
}
|
|
545
545
|
/**
|
|
546
546
|
* Default resilience policy. Generous timeouts so a legitimately long but live
|
|
547
|
-
* stage is never killed: the idle window
|
|
548
|
-
*
|
|
549
|
-
*
|
|
547
|
+
* stage is never killed: the idle window is the check for a stuck model (four
|
|
548
|
+
* minutes until 2026-10-09; fifteen now, since a long test run or a slow
|
|
549
|
+
* model turn emits nothing for minutes and is not stuck), and the wall window
|
|
550
|
+
* only bounds a runaway that keeps emitting events. The wall is 60 minutes for an interactive /go, where a
|
|
550
551
|
* person can abort; a run with a deadline replaces it per stage with the time
|
|
551
552
|
* left (budget.ts#stageWall). Three attempts with short, jittered
|
|
552
553
|
* backoff so a single transient blip across the up-to-8 child spawns no longer
|
|
@@ -21,16 +21,17 @@ export const MAX_REVIEW_ROUNDS = 2;
|
|
|
21
21
|
export const MAX_FIX_TURNS = 3;
|
|
22
22
|
/**
|
|
23
23
|
* Default resilience policy. Generous timeouts so a legitimately long but live
|
|
24
|
-
* stage is never killed: the idle window
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* stage is never killed: the idle window is the check for a stuck model (four
|
|
25
|
+
* minutes until 2026-10-09; fifteen now, since a long test run or a slow
|
|
26
|
+
* model turn emits nothing for minutes and is not stuck), and the wall window
|
|
27
|
+
* only bounds a runaway that keeps emitting events. The wall is 60 minutes for an interactive /go, where a
|
|
27
28
|
* person can abort; a run with a deadline replaces it per stage with the time
|
|
28
29
|
* left (budget.ts#stageWall). Three attempts with short, jittered
|
|
29
30
|
* backoff so a single transient blip across the up-to-8 child spawns no longer
|
|
30
31
|
* terminates the whole run.
|
|
31
32
|
*/
|
|
32
33
|
export const DEFAULT_RESILIENCE_POLICY = {
|
|
33
|
-
idleTimeoutMs:
|
|
34
|
+
idleTimeoutMs: 15 * 60_000,
|
|
34
35
|
wallTimeoutMs: 60 * 60_000,
|
|
35
36
|
maxAttempts: 3,
|
|
36
37
|
backoffBaseMs: 1_000,
|
|
@@ -47,9 +47,13 @@
|
|
|
47
47
|
* findings, handoffs, or run records (§0.9).
|
|
48
48
|
*/
|
|
49
49
|
import type { Finding } from "./types.js";
|
|
50
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Total wall-clock budget for a single verify run before it is abandoned
|
|
52
|
+
* (fail-open). Ten minutes until 2026-10-09; twenty now, matching the run
|
|
53
|
+
* budget's `VERIFY_ALLOWANCE_MS`.
|
|
54
|
+
*/
|
|
51
55
|
export declare const VERIFY_TIMEOUT_MS: number;
|
|
52
|
-
/** Per-PACKAGE wall-clock budget for the test half (spec §3d); overrun fails open. */
|
|
56
|
+
/** Per-PACKAGE wall-clock budget for the test half (spec §3d); overrun fails open. Ten minutes until 2026-10-09. */
|
|
53
57
|
export declare const VERIFY_TEST_TIMEOUT_MS: number;
|
|
54
58
|
/** A resolved verify command plus how it was found. */
|
|
55
59
|
export interface VerifyCommand {
|
|
@@ -59,10 +59,14 @@ import { claimCovers } from "./fanout.js";
|
|
|
59
59
|
import { composeAbortSignal } from "./resilience.js";
|
|
60
60
|
import { scrubSecrets } from "./scrubSecrets.js";
|
|
61
61
|
import { snapshotWorkspace } from "./workspace.js";
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Total wall-clock budget for a single verify run before it is abandoned
|
|
64
|
+
* (fail-open). Ten minutes until 2026-10-09; twenty now, matching the run
|
|
65
|
+
* budget's `VERIFY_ALLOWANCE_MS`.
|
|
66
|
+
*/
|
|
67
|
+
export const VERIFY_TIMEOUT_MS = 20 * 60_000;
|
|
68
|
+
/** Per-PACKAGE wall-clock budget for the test half (spec §3d); overrun fails open. Ten minutes until 2026-10-09. */
|
|
69
|
+
export const VERIFY_TEST_TIMEOUT_MS = 20 * 60_000;
|
|
66
70
|
/** Cap on located findings parsed from one failing run, and on the opaque-tail message. */
|
|
67
71
|
const MAX_LOCATED_FINDINGS = 25;
|
|
68
72
|
const MAX_TAIL_CHARS = 1000;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yagni-app/code-staging",
|
|
3
|
-
"version": "1.2.3-staging.
|
|
3
|
+
"version": "1.2.3-staging.1686.1",
|
|
4
4
|
"description": "YAGNI Code: a terminal coding agent that already knows your company. One YAGNI login routes the model and grounds the agent in your team's context.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "YAGNI, Inc. <jack@yagni.app> (https://yagni.app)",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"turndown": "^7.2.4",
|
|
59
59
|
"typebox": "^1.3.15"
|
|
60
60
|
},
|
|
61
|
-
"yagniSourceSha": "
|
|
61
|
+
"yagniSourceSha": "44055f7635d957d2f2f19a547cb945a6e942de62"
|
|
62
62
|
}
|