@telora/daemon 0.22.97 → 0.22.104
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/build-info.json +2 -2
- package/dist/cli/verify-setup-config.d.ts +4 -3
- package/dist/cli/verify-setup-config.d.ts.map +1 -1
- package/dist/cli/verify-setup-config.js.map +1 -1
- package/dist/git/exec.d.ts.map +1 -1
- package/dist/git/exec.js +2 -1
- package/dist/git/exec.js.map +1 -1
- package/dist/queries/delivery-gate-state.d.ts +8 -0
- package/dist/queries/delivery-gate-state.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state.js.map +1 -1
- package/dist/queries/verification.d.ts +15 -0
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +1 -0
- package/dist/queries/verification.js.map +1 -1
- package/dist/shell/config.d.ts.map +1 -1
- package/dist/shell/config.js +10 -9
- package/dist/shell/config.js.map +1 -1
- package/dist/shell/unified-shell-status.d.ts +6 -0
- package/dist/shell/unified-shell-status.d.ts.map +1 -1
- package/dist/shell/unified-shell-status.js +9 -2
- package/dist/shell/unified-shell-status.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/types/config.d.ts +9 -6
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/verification-baseline.d.ts +63 -16
- package/dist/verify/verification-baseline.d.ts.map +1 -1
- package/dist/verify/verification-baseline.js +74 -34
- package/dist/verify/verification-baseline.js.map +1 -1
- package/dist/verify/verification-checkout.d.ts +19 -6
- package/dist/verify/verification-checkout.d.ts.map +1 -1
- package/dist/verify/verification-checkout.js +95 -8
- package/dist/verify/verification-checkout.js.map +1 -1
- package/dist/verify/verification-config.d.ts +76 -0
- package/dist/verify/verification-config.d.ts.map +1 -1
- package/dist/verify/verification-config.js +100 -12
- package/dist/verify/verification-config.js.map +1 -1
- package/dist/verify/verification-default-on.d.ts +75 -8
- package/dist/verify/verification-default-on.d.ts.map +1 -1
- package/dist/verify/verification-default-on.js +155 -12
- package/dist/verify/verification-default-on.js.map +1 -1
- package/dist/verify/verification-deps-default.js +1 -1
- package/dist/verify/verification-deps-default.js.map +1 -1
- package/dist/verify/verification-deps.d.ts +17 -3
- package/dist/verify/verification-deps.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.d.ts +41 -0
- package/dist/verify/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.js +32 -22
- package/dist/verify/verification-deterministic.js.map +1 -1
- package/dist/verify/verification-engine.d.ts.map +1 -1
- package/dist/verify/verification-engine.js +10 -12
- package/dist/verify/verification-engine.js.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.js +6 -1
- package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
- package/dist/verify/verification-manifest.d.ts.map +1 -1
- package/dist/verify/verification-manifest.js +1 -0
- package/dist/verify/verification-manifest.js.map +1 -1
- package/dist/verify/verification-timeout-fault.d.ts +147 -0
- package/dist/verify/verification-timeout-fault.d.ts.map +1 -0
- package/dist/verify/verification-timeout-fault.js +211 -0
- package/dist/verify/verification-timeout-fault.js.map +1 -0
- package/dist/verify/verify-gate-stall.d.ts +5 -1
- package/dist/verify/verify-gate-stall.d.ts.map +1 -1
- package/dist/verify/verify-gate-stall.js +10 -1
- package/dist/verify/verify-gate-stall.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,25 +12,40 @@ export interface FailureClassification {
|
|
|
12
12
|
* Sorted for stable output / comparison.
|
|
13
13
|
*/
|
|
14
14
|
export declare function classifyFailures(headFailing: ReadonlySet<string>, baselineFailing: ReadonlySet<string>): FailureClassification;
|
|
15
|
-
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
/**
|
|
16
|
+
* The gate a baseline ran: the command + timeout the HEAD run applied. A failing
|
|
17
|
+
* set measured under one gate says nothing about another -- a different command
|
|
18
|
+
* runs different checks, and a longer timeout can let a suite finish that a
|
|
19
|
+
* shorter one killed -- so it is part of the cache identity, not just the SHA.
|
|
20
|
+
*/
|
|
21
|
+
export interface BaselineGate {
|
|
22
|
+
command: string;
|
|
23
|
+
timeoutMs: number;
|
|
24
|
+
}
|
|
25
|
+
/** Cache file path for a (product, base SHA, gate). Exported for tests. */
|
|
26
|
+
export declare function baselineCachePath(productId: string, baseSha: string, gate: BaselineGate): string;
|
|
27
|
+
/**
|
|
28
|
+
* Read the cached baseline failing-test set, or null on miss / unreadable. The
|
|
29
|
+
* file records the gate it was run with and is re-checked against the one asked
|
|
30
|
+
* for, so an entry only ever answers for its own gate.
|
|
31
|
+
*/
|
|
32
|
+
export declare function readBaselineCache(productId: string, baseSha: string, gate: BaselineGate): string[] | null;
|
|
33
|
+
/** Write the baseline failing-test set for a (product, base SHA, gate). Best-effort. */
|
|
34
|
+
export declare function writeBaselineCache(productId: string, baseSha: string, gate: BaselineGate, failingTests: string[]): void;
|
|
21
35
|
/** Injected seams for getBaselineFailingSet (cache + baseline runner). */
|
|
22
36
|
export interface BaselineDeps {
|
|
23
|
-
readCache: (productId: string, baseSha: string) => string[] | null;
|
|
24
|
-
writeCache: (productId: string, baseSha: string, failingTests: string[]) => void;
|
|
25
|
-
/** Run the
|
|
37
|
+
readCache: (productId: string, baseSha: string, gate: BaselineGate) => string[] | null;
|
|
38
|
+
writeCache: (productId: string, baseSha: string, gate: BaselineGate, failingTests: string[]) => void;
|
|
39
|
+
/** Run the gate's command at the base SHA; returns the raw combined output. */
|
|
26
40
|
runBaseline: (baseSha: string) => Promise<string>;
|
|
27
41
|
}
|
|
28
42
|
/**
|
|
29
|
-
* Resolve the baseline failing-test set for a (product, base SHA): a cache
|
|
30
|
-
* short-circuits (an unchanged SHA
|
|
31
|
-
* baseline once, parses, and caches.
|
|
43
|
+
* Resolve the baseline failing-test set for a (product, base SHA, gate): a cache
|
|
44
|
+
* hit short-circuits (an unchanged SHA under an unchanged gate never re-runs the
|
|
45
|
+
* suite); a miss runs the baseline once, parses, and caches. `gate` must be the
|
|
46
|
+
* one `runBaseline` runs.
|
|
32
47
|
*/
|
|
33
|
-
export declare function getBaselineFailingSet(productId: string, baseSha: string, deps: BaselineDeps): Promise<Set<string>>;
|
|
48
|
+
export declare function getBaselineFailingSet(productId: string, baseSha: string, gate: BaselineGate, deps: BaselineDeps): Promise<Set<string>>;
|
|
34
49
|
/** Resolve the focus base = merge-base(integrationBranch, HEAD) in a worktree. Null on failure. */
|
|
35
50
|
export declare function resolveFocusBaseSha(worktreePath: string, integrationBranch: string): string | null;
|
|
36
51
|
/** Resolve the worktree HEAD sha. Null on failure. */
|
|
@@ -47,6 +62,13 @@ export interface AttributionInputResult {
|
|
|
47
62
|
logPath?: string;
|
|
48
63
|
stdoutTail?: string;
|
|
49
64
|
stderrTail?: string;
|
|
65
|
+
/** The command + timeout the HEAD run applied (verify/verification-checkout.ts); the baseline runs the same. */
|
|
66
|
+
appliedConfig?: {
|
|
67
|
+
command: string;
|
|
68
|
+
timeoutMs: number;
|
|
69
|
+
};
|
|
70
|
+
/** True when no command ran (config unresolvable from the verified code): nothing to attribute. */
|
|
71
|
+
configUnresolved?: boolean;
|
|
50
72
|
}
|
|
51
73
|
/** Injected seams for attributeFailures. */
|
|
52
74
|
export interface AttributionDeps {
|
|
@@ -68,13 +90,38 @@ export interface AttributionDeps {
|
|
|
68
90
|
export declare function attributeFailures(v: PendingVerification, result: AttributionInputResult, deps: AttributionDeps): Promise<FailureClassification | null>;
|
|
69
91
|
/** Default HEAD-output reader: full log file when present, else the tails. */
|
|
70
92
|
export declare function readHeadOutputDefault(result: AttributionInputResult): string;
|
|
93
|
+
/**
|
|
94
|
+
* The command + timeout the baseline run applies: the HEAD run's applied config
|
|
95
|
+
* when the result carries one, else the verification row's. Both sides of the
|
|
96
|
+
* diff must run the SAME gate. A default-on HEAD run re-resolves its command +
|
|
97
|
+
* timeout from the verified checkout's manifest at dispatch, so sizing the
|
|
98
|
+
* baseline from the tick's provisional row config would kill a baseline the
|
|
99
|
+
* branch declared a longer timeout for -- and a killed baseline attributes
|
|
100
|
+
* nothing. Pure -- exported for testing.
|
|
101
|
+
*/
|
|
102
|
+
export declare function resolveBaselineRunConfig(v: Pick<PendingVerification, 'verificationConfig'>, result: AttributionInputResult): BaselineGate;
|
|
103
|
+
/**
|
|
104
|
+
* The I/O the default attribution closure is wired to. Overridable so a test
|
|
105
|
+
* drives the REAL closure -- its config-unresolved guard and the command +
|
|
106
|
+
* timeout it builds the baseline runner with -- rather than the pure helpers
|
|
107
|
+
* beside it, which stay green if the closure stops calling them.
|
|
108
|
+
*/
|
|
109
|
+
export interface DefaultAttributionSeams {
|
|
110
|
+
resolveWorktreePath: AttributionDeps['resolveWorktreePath'];
|
|
111
|
+
resolveHeadSha: AttributionDeps['resolveHeadSha'];
|
|
112
|
+
readCache: BaselineDeps['readCache'];
|
|
113
|
+
writeCache: BaselineDeps['writeCache'];
|
|
114
|
+
buildRunBaseline: typeof buildDefaultRunBaseline;
|
|
115
|
+
readHeadOutput: AttributionDeps['readHeadOutput'];
|
|
116
|
+
}
|
|
71
117
|
/**
|
|
72
118
|
* Build the default `attributeFailures` closure: reads the focus-worktree cwd,
|
|
73
119
|
* resolves the merge-base, runs (or reuses a cached) baseline at that SHA in a
|
|
74
|
-
* detached worktree
|
|
75
|
-
*
|
|
120
|
+
* detached worktree -- with the command + timeout the HEAD run applied -- and
|
|
121
|
+
* classifies HEAD failures against it. Returns null when no baseline is
|
|
122
|
+
* resolvable (caller gates all failures) or when no command ran at all.
|
|
76
123
|
*/
|
|
77
|
-
export declare function buildDefaultAttributeFailures(config: DaemonConfig): (v: PendingVerification, result: AttributionInputResult) => Promise<FailureClassification | null>;
|
|
124
|
+
export declare function buildDefaultAttributeFailures(config: DaemonConfig, overrides?: Partial<DefaultAttributionSeams>): (v: PendingVerification, result: AttributionInputResult) => Promise<FailureClassification | null>;
|
|
78
125
|
/**
|
|
79
126
|
* Build the default `resolveVerificationCwd`: the focus worktree (HEAD of the
|
|
80
127
|
* focus branch) so the deterministic run measures the focus's changes, falling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-baseline.d.ts","sourceRoot":"","sources":["../../src/verify/verification-baseline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification-baseline.d.ts","sourceRoot":"","sources":["../../src/verify/verification-baseline.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Replaces per-delivery LLM failure attribution with an exact mechanical diff:
|
|
8
8
|
* run the verification command ONCE against the focus base (the merge-base of
|
|
9
9
|
* the focus branch and integration), cache the parsed failing-test set per
|
|
10
|
-
* (product, base SHA), then classify each delivery-HEAD failure as NEW (in HEAD
|
|
10
|
+
* (product, base SHA, gate), then classify each delivery-HEAD failure as NEW (in HEAD
|
|
11
11
|
* not baseline -> gates) or PRE-EXISTING (in both -> recorded, non-blocking).
|
|
12
12
|
* The differential gate then measures only the delta the focus introduced.
|
|
13
13
|
*
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* @module verification-baseline
|
|
20
20
|
*/
|
|
21
21
|
import { spawn } from 'node:child_process';
|
|
22
|
+
import { createHash } from 'node:crypto';
|
|
22
23
|
import { mkdirSync, readFileSync, writeFileSync, existsSync, rmSync } from 'node:fs';
|
|
23
24
|
import { resolve } from 'node:path';
|
|
24
25
|
import { resolveGlobalStateDir } from '../shell/daemon-process.js';
|
|
@@ -51,26 +52,33 @@ export function classifyFailures(headFailing, baselineFailing) {
|
|
|
51
52
|
}
|
|
52
53
|
return { newFailures: newFailures.sort(), preExisting: preExisting.sort() };
|
|
53
54
|
}
|
|
54
|
-
// ---------------------------------------------------------------------------
|
|
55
|
-
// SHA-keyed baseline cache (under the global state dir)
|
|
56
|
-
// ---------------------------------------------------------------------------
|
|
57
55
|
function baselineCacheDir() {
|
|
58
56
|
return resolve(resolveGlobalStateDir(), 'verification-baseline');
|
|
59
57
|
}
|
|
60
|
-
/**
|
|
61
|
-
|
|
58
|
+
/** Short, filename-safe fingerprint of a gate. */
|
|
59
|
+
function gateFingerprint(gate) {
|
|
60
|
+
return createHash('sha256').update(JSON.stringify([gate.command, gate.timeoutMs])).digest('hex').slice(0, 16);
|
|
61
|
+
}
|
|
62
|
+
/** Cache file path for a (product, base SHA, gate). Exported for tests. */
|
|
63
|
+
export function baselineCachePath(productId, baseSha, gate) {
|
|
62
64
|
// Sanitize: productId is a uuid and baseSha a hex sha, both filename-safe, but
|
|
63
65
|
// guard against separators defensively.
|
|
64
|
-
const safe = `${productId}-${baseSha}`.replace(/[^a-zA-Z0-9._-]/g, '_');
|
|
66
|
+
const safe = `${productId}-${baseSha}-${gateFingerprint(gate)}`.replace(/[^a-zA-Z0-9._-]/g, '_');
|
|
65
67
|
return resolve(baselineCacheDir(), `${safe}.json`);
|
|
66
68
|
}
|
|
67
|
-
/**
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
/**
|
|
70
|
+
* Read the cached baseline failing-test set, or null on miss / unreadable. The
|
|
71
|
+
* file records the gate it was run with and is re-checked against the one asked
|
|
72
|
+
* for, so an entry only ever answers for its own gate.
|
|
73
|
+
*/
|
|
74
|
+
export function readBaselineCache(productId, baseSha, gate) {
|
|
75
|
+
const path = baselineCachePath(productId, baseSha, gate);
|
|
70
76
|
if (!existsSync(path))
|
|
71
77
|
return null;
|
|
72
78
|
try {
|
|
73
79
|
const parsed = JSON.parse(readFileSync(path, 'utf8'));
|
|
80
|
+
if (parsed.command !== gate.command || parsed.timeoutMs !== gate.timeoutMs)
|
|
81
|
+
return null;
|
|
74
82
|
if (!Array.isArray(parsed.failingTests))
|
|
75
83
|
return null;
|
|
76
84
|
return parsed.failingTests.filter((t) => typeof t === 'string');
|
|
@@ -79,28 +87,29 @@ export function readBaselineCache(productId, baseSha) {
|
|
|
79
87
|
return null;
|
|
80
88
|
}
|
|
81
89
|
}
|
|
82
|
-
/** Write the baseline failing-test set for a (product, base SHA). Best-effort. */
|
|
83
|
-
export function writeBaselineCache(productId, baseSha, failingTests) {
|
|
90
|
+
/** Write the baseline failing-test set for a (product, base SHA, gate). Best-effort. */
|
|
91
|
+
export function writeBaselineCache(productId, baseSha, gate, failingTests) {
|
|
84
92
|
try {
|
|
85
93
|
mkdirSync(baselineCacheDir(), { recursive: true });
|
|
86
|
-
writeFileSync(baselineCachePath(productId, baseSha), JSON.stringify({ productId, baseSha, failingTests }, null, 2), { mode: 0o600 });
|
|
94
|
+
writeFileSync(baselineCachePath(productId, baseSha, gate), JSON.stringify({ productId, baseSha, command: gate.command, timeoutMs: gate.timeoutMs, failingTests }, null, 2), { mode: 0o600 });
|
|
87
95
|
}
|
|
88
96
|
catch (err) {
|
|
89
97
|
log.warn(`failed to write baseline cache for ${productId}@${baseSha.slice(0, 8)}:`, err.message);
|
|
90
98
|
}
|
|
91
99
|
}
|
|
92
100
|
/**
|
|
93
|
-
* Resolve the baseline failing-test set for a (product, base SHA): a cache
|
|
94
|
-
* short-circuits (an unchanged SHA
|
|
95
|
-
* baseline once, parses, and caches.
|
|
101
|
+
* Resolve the baseline failing-test set for a (product, base SHA, gate): a cache
|
|
102
|
+
* hit short-circuits (an unchanged SHA under an unchanged gate never re-runs the
|
|
103
|
+
* suite); a miss runs the baseline once, parses, and caches. `gate` must be the
|
|
104
|
+
* one `runBaseline` runs.
|
|
96
105
|
*/
|
|
97
|
-
export async function getBaselineFailingSet(productId, baseSha, deps) {
|
|
98
|
-
const cached = deps.readCache(productId, baseSha);
|
|
106
|
+
export async function getBaselineFailingSet(productId, baseSha, gate, deps) {
|
|
107
|
+
const cached = deps.readCache(productId, baseSha, gate);
|
|
99
108
|
if (cached)
|
|
100
109
|
return new Set(cached);
|
|
101
110
|
const output = await deps.runBaseline(baseSha);
|
|
102
111
|
const failing = [...parseFailingTests(output)];
|
|
103
|
-
deps.writeCache(productId, baseSha, failing);
|
|
112
|
+
deps.writeCache(productId, baseSha, gate, failing);
|
|
104
113
|
return new Set(failing);
|
|
105
114
|
}
|
|
106
115
|
// ---------------------------------------------------------------------------
|
|
@@ -226,30 +235,61 @@ export function readHeadOutputDefault(result) {
|
|
|
226
235
|
// Default wiring consumed by verification-engine (kept here to keep that file
|
|
227
236
|
// under the daemon 800-line limit).
|
|
228
237
|
// ---------------------------------------------------------------------------
|
|
238
|
+
/**
|
|
239
|
+
* The command + timeout the baseline run applies: the HEAD run's applied config
|
|
240
|
+
* when the result carries one, else the verification row's. Both sides of the
|
|
241
|
+
* diff must run the SAME gate. A default-on HEAD run re-resolves its command +
|
|
242
|
+
* timeout from the verified checkout's manifest at dispatch, so sizing the
|
|
243
|
+
* baseline from the tick's provisional row config would kill a baseline the
|
|
244
|
+
* branch declared a longer timeout for -- and a killed baseline attributes
|
|
245
|
+
* nothing. Pure -- exported for testing.
|
|
246
|
+
*/
|
|
247
|
+
export function resolveBaselineRunConfig(v, result) {
|
|
248
|
+
if (result.appliedConfig) {
|
|
249
|
+
return { command: result.appliedConfig.command, timeoutMs: result.appliedConfig.timeoutMs };
|
|
250
|
+
}
|
|
251
|
+
const cfg = v.verificationConfig ?? {};
|
|
252
|
+
return {
|
|
253
|
+
command: typeof cfg.command === 'string' ? cfg.command : '',
|
|
254
|
+
timeoutMs: typeof cfg.timeoutMs === 'number' && cfg.timeoutMs > 0 ? cfg.timeoutMs : DEFAULT_BASELINE_TIMEOUT_MS,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
const DEFAULT_ATTRIBUTION_SEAMS = {
|
|
258
|
+
resolveWorktreePath: (pv) => (pv.focusId ? getFocusWorktree(pv.focusId)?.worktreePath ?? null : null),
|
|
259
|
+
resolveHeadSha,
|
|
260
|
+
readCache: readBaselineCache,
|
|
261
|
+
writeCache: writeBaselineCache,
|
|
262
|
+
buildRunBaseline: buildDefaultRunBaseline,
|
|
263
|
+
readHeadOutput: readHeadOutputDefault,
|
|
264
|
+
};
|
|
229
265
|
/**
|
|
230
266
|
* Build the default `attributeFailures` closure: reads the focus-worktree cwd,
|
|
231
267
|
* resolves the merge-base, runs (or reuses a cached) baseline at that SHA in a
|
|
232
|
-
* detached worktree
|
|
233
|
-
*
|
|
268
|
+
* detached worktree -- with the command + timeout the HEAD run applied -- and
|
|
269
|
+
* classifies HEAD failures against it. Returns null when no baseline is
|
|
270
|
+
* resolvable (caller gates all failures) or when no command ran at all.
|
|
234
271
|
*/
|
|
235
|
-
export function buildDefaultAttributeFailures(config) {
|
|
272
|
+
export function buildDefaultAttributeFailures(config, overrides = {}) {
|
|
273
|
+
const seams = { ...DEFAULT_ATTRIBUTION_SEAMS, ...overrides };
|
|
236
274
|
return (v, result) => {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
275
|
+
// No command ran (its config was unresolvable from the verified code): there
|
|
276
|
+
// is no HEAD output to attribute, and a baseline run would only cost a suite.
|
|
277
|
+
if (result.configUnresolved)
|
|
278
|
+
return Promise.resolve(null);
|
|
279
|
+
// One gate sizes the baseline run AND keys its cache entry, so a set cached
|
|
280
|
+
// under another command or timeout is never reused for this HEAD run.
|
|
281
|
+
const gate = resolveBaselineRunConfig(v, result);
|
|
282
|
+
const runBaseline = seams.buildRunBaseline(config, v.productId ?? config.productId, gate.command, gate.timeoutMs);
|
|
243
283
|
return attributeFailures(v, result, {
|
|
244
|
-
resolveWorktreePath:
|
|
245
|
-
resolveHeadSha,
|
|
284
|
+
resolveWorktreePath: seams.resolveWorktreePath,
|
|
285
|
+
resolveHeadSha: seams.resolveHeadSha,
|
|
246
286
|
integrationBranch: config.integrationBranch,
|
|
247
|
-
getBaselineFailingSet: (productId, baseSha) => getBaselineFailingSet(productId, baseSha, {
|
|
248
|
-
readCache:
|
|
249
|
-
writeCache:
|
|
287
|
+
getBaselineFailingSet: (productId, baseSha) => getBaselineFailingSet(productId, baseSha, gate, {
|
|
288
|
+
readCache: seams.readCache,
|
|
289
|
+
writeCache: seams.writeCache,
|
|
250
290
|
runBaseline,
|
|
251
291
|
}),
|
|
252
|
-
readHeadOutput:
|
|
292
|
+
readHeadOutput: seams.readHeadOutput,
|
|
253
293
|
});
|
|
254
294
|
};
|
|
255
295
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-baseline.js","sourceRoot":"","sources":["../../src/verify/verification-baseline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verification-baseline.js","sourceRoot":"","sources":["../../src/verify/verification-baseline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { PendingVerification } from '../queries/verification.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type StrategyResult } from './verification-deterministic.js';
|
|
3
3
|
import type { VerificationDeps } from './verification-deps.js';
|
|
4
|
+
import { type AppliedVerificationConfig } from './verification-config.js';
|
|
5
|
+
import { type VerifyManifestReader } from './verification-manifest.js';
|
|
4
6
|
/** A detached checkout of one commit, owned by the verify that made it. */
|
|
5
7
|
export interface VerifyCheckout {
|
|
6
8
|
/** Absolute checkout path the verify command runs in. */
|
|
@@ -39,19 +41,30 @@ export declare function listMirroredDirs(focusWorktreePath: string, runGit?: Git
|
|
|
39
41
|
*/
|
|
40
42
|
export declare function createVerifyCheckout(focusWorktreePath: string, checkoutKey: string, deps?: VerifyCheckoutDeps): VerifyCheckout | null;
|
|
41
43
|
/** The deps slice {@link runDeterministicAtFixedCommit} reads. */
|
|
42
|
-
export type FixedCommitVerifyDeps = Pick<VerificationDeps, 'runDeterministic' | 'resolveCwd' | 'resolveVerificationCwd' | 'resolveRecordedPreMergeRef' | 'resolveRecordedCommitShas'> & {
|
|
44
|
+
export type FixedCommitVerifyDeps = Pick<VerificationDeps, 'runDeterministic' | 'resolveCwd' | 'resolveVerificationCwd' | 'resolveRecordedPreMergeRef' | 'resolveRecordedCommitShas' | 'resolveRunVerificationConfig'> & {
|
|
43
45
|
/** The focus worktree a delivery's verify judges; null when the focus has none. */
|
|
44
46
|
resolveFocusWorktreePath?: (v: PendingVerification) => string | null;
|
|
45
47
|
createVerifyCheckout?: (focusWorktreePath: string, checkoutKey: string) => VerifyCheckout | null;
|
|
46
48
|
};
|
|
49
|
+
/** Resolves a default-on run's command + timeout from the code at `runPath`. */
|
|
50
|
+
export type RunVerificationConfigResolver = (v: PendingVerification, runPath: string) => AppliedVerificationConfig;
|
|
51
|
+
/**
|
|
52
|
+
* The real dispatch-time resolver (module doc): env > the candidate's operator
|
|
53
|
+
* block > the manifest at `runPath` > the repoPath manifest, a fallback that is
|
|
54
|
+
* recorded on the result and warned naming the delivery and both paths. `env` and
|
|
55
|
+
* `readManifest` are injectable so tests never touch process.env.
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildRunVerificationConfigResolver(env?: NodeJS.ProcessEnv, readManifest?: VerifyManifestReader): RunVerificationConfigResolver;
|
|
47
58
|
/**
|
|
48
59
|
* The deterministic strategy: resolve the verify boundary env, then run the
|
|
49
60
|
* configured command against a detached checkout of the focus HEAD (holding the
|
|
50
61
|
* FOCUS worktree's interlock for the judged delivery), stamping the verdict with
|
|
51
|
-
* the sha it judged
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
62
|
+
* the sha it judged and the config it applied -- for a default-on candidate,
|
|
63
|
+
* re-resolved from the checkout itself (module doc). A verdict rendered while an
|
|
64
|
+
* install moved the linked dependencies is discarded (pending, retried). A
|
|
65
|
+
* delivery with no focus worktree runs in place, as before, on the config it
|
|
66
|
+
* carries: no team works in the product repo path the fallback cwd names, and
|
|
67
|
+
* that is the path the tick resolved the config against.
|
|
55
68
|
*/
|
|
56
69
|
export declare function runDeterministicAtFixedCommit(deps: FixedCommitVerifyDeps, v: PendingVerification): Promise<StrategyResult>;
|
|
57
70
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-checkout.d.ts","sourceRoot":"","sources":["../../src/verify/verification-checkout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification-checkout.d.ts","sourceRoot":"","sources":["../../src/verify/verification-checkout.ts"],"names":[],"mappings":"AAkEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAiD,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMtH,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,0FAA0F;IAC1F,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,iGAAiG;IACjG,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wEAAwE;AACxE,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAOD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAE,MAAmB,GAAG,MAAM,EAAE,CASjG;AAgGD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,kBAAuB,GAC5B,cAAc,GAAG,IAAI,CAsCvB;AAED,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,gBAAgB,EACd,kBAAkB,GAAG,YAAY,GAAG,wBAAwB,GAAG,4BAA4B,GAAG,2BAA2B,GACzH,8BAA8B,CACjC,GAAG;IACF,mFAAmF;IACnF,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,MAAM,GAAG,IAAI,CAAC;IACrE,oBAAoB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC;CAClG,CAAC;AAKF,gFAAgF;AAChF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,KAAK,yBAAyB,CAAC;AAEnH;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,GAAE,oBAAyC,GACtD,6BAA6B,CAY/B;AAgDD;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,qBAAqB,EAC3B,CAAC,EAAE,mBAAmB,GACrB,OAAO,CAAC,cAAc,CAAC,CAkDzB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by: packages/daemon/src/verify/verification-checkout.test.ts
|
|
2
|
+
// Pinned by: packages/daemon/src/verify/verification-checkout.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/verification-run-config-source.test.ts
|
|
3
4
|
// PINNED-BY-END
|
|
4
5
|
/**
|
|
5
6
|
* A deterministic verify judges a FIXED commit, never the live focus worktree.
|
|
@@ -41,6 +42,19 @@
|
|
|
41
42
|
* Fail-closed: when no checkout can be made the run is NOT performed in the live
|
|
42
43
|
* worktree; it reports `pending` with checkoutUnavailable so the tick retries.
|
|
43
44
|
*
|
|
45
|
+
* The command + timeout come from the COMMIT BEING JUDGED. A default-on
|
|
46
|
+
* candidate's config is provisional: the tick resolved it against the product
|
|
47
|
+
* repoPath (the operator's checkout, which may lag the branch). Once the checkout
|
|
48
|
+
* exists, both are re-resolved from ITS telora.verify.json, so a command or
|
|
49
|
+
* timeout committed on the verified branch applies to that branch's next run
|
|
50
|
+
* with no daemon restart and no edit to the operator's checkout. A checkout that
|
|
51
|
+
* ships no manifest falls back to the repoPath manifest -- recorded on the result
|
|
52
|
+
* (appliedConfig.manifestFallback) and warned, never silent. A MALFORMED checkout
|
|
53
|
+
* manifest fails the run without running the command, and never falls back.
|
|
54
|
+
* Explicit-method rows carry their own config and are never re-resolved; an
|
|
55
|
+
* in-place run (no focus worktree) keeps the tick's values, which were resolved
|
|
56
|
+
* against the very repoPath it runs in.
|
|
57
|
+
*
|
|
44
58
|
* @module verify/verification-checkout
|
|
45
59
|
*/
|
|
46
60
|
import { existsSync, mkdirSync, readdirSync, rmSync, statSync, symlinkSync } from 'node:fs';
|
|
@@ -48,6 +62,9 @@ import { basename, dirname, join, resolve } from 'node:path';
|
|
|
48
62
|
import { resolveGlobalStateDir } from '../shell/daemon-process.js';
|
|
49
63
|
import { runGitSync } from '../git/exec.js';
|
|
50
64
|
import { getFocusWorktree } from '../focus/focus-worktree-state.js';
|
|
65
|
+
import { DEFAULT_VERIFICATION_TIMEOUT_MS } from './verification-deterministic.js';
|
|
66
|
+
import { formatVerifyConfigSource, resolveAppliedVerificationConfig, } from './verification-config.js';
|
|
67
|
+
import { readVerifyManifest, resolveVerifyManifestPath } from './verification-manifest.js';
|
|
51
68
|
import { resolveVerifyBoundaryEnv } from './verification-boundary-env.js';
|
|
52
69
|
import { createLogger } from '../shell/log.js';
|
|
53
70
|
const log = createLogger({ module: 'verification' });
|
|
@@ -218,14 +235,74 @@ export function createVerifyCheckout(focusWorktreePath, checkoutKey, deps = {})
|
|
|
218
235
|
};
|
|
219
236
|
}
|
|
220
237
|
const defaultResolveFocusWorktreePath = (v) => (v.focusId ? getFocusWorktree(v.focusId)?.worktreePath ?? null : null);
|
|
238
|
+
/**
|
|
239
|
+
* The real dispatch-time resolver (module doc): env > the candidate's operator
|
|
240
|
+
* block > the manifest at `runPath` > the repoPath manifest, a fallback that is
|
|
241
|
+
* recorded on the result and warned naming the delivery and both paths. `env` and
|
|
242
|
+
* `readManifest` are injectable so tests never touch process.env.
|
|
243
|
+
*/
|
|
244
|
+
export function buildRunVerificationConfigResolver(env = process.env, readManifest = readVerifyManifest) {
|
|
245
|
+
return (v, runPath) => {
|
|
246
|
+
const applied = resolveAppliedVerificationConfig(v.defaultOnSource ?? {}, runPath, env, readManifest);
|
|
247
|
+
if (applied.manifestFallback) {
|
|
248
|
+
log.warn(`verify config: delivery ${v.deliveryId}: the verified checkout ships no manifest at `
|
|
249
|
+
+ `${applied.verifiedManifestPath}; applying the product repoPath manifest at ${applied.manifestPath} `
|
|
250
|
+
+ 'as a recorded fallback');
|
|
251
|
+
}
|
|
252
|
+
return applied;
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
const defaultResolveRunVerificationConfig = buildRunVerificationConfigResolver();
|
|
256
|
+
/**
|
|
257
|
+
* A row's own command + timeout as a run applies them (the strategy default when
|
|
258
|
+
* no timeout is set). The timeout's source is the label stamped on the row at
|
|
259
|
+
* synthesis (a default-on candidate carries the tick's resolved layer); a row
|
|
260
|
+
* with no stamp is an explicit-method row, whose timeout is its own config -- or
|
|
261
|
+
* the typed default when it sets none.
|
|
262
|
+
*/
|
|
263
|
+
function appliedFromRow(cfg) {
|
|
264
|
+
const command = cfg?.command;
|
|
265
|
+
if (typeof command !== 'string' || !cfg)
|
|
266
|
+
return undefined;
|
|
267
|
+
const timeoutMs = typeof cfg.timeoutMs === 'number' && cfg.timeoutMs > 0 ? cfg.timeoutMs : DEFAULT_VERIFICATION_TIMEOUT_MS;
|
|
268
|
+
const timeoutSource = typeof cfg.timeoutSource === 'string'
|
|
269
|
+
? cfg.timeoutSource
|
|
270
|
+
: formatVerifyConfigSource(timeoutMs === cfg.timeoutMs ? { layer: 'delivery' } : { layer: 'default' });
|
|
271
|
+
return { command, timeoutMs, timeoutSource };
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Choose what a checkout run applies. A DEFAULT-ON candidate is re-resolved from
|
|
275
|
+
* the checkout's own manifest; an explicit-method row applies the config it
|
|
276
|
+
* carries, unchanged. A resolution that throws (a malformed manifest in the
|
|
277
|
+
* verified code) yields the rationale instead, logged at ERROR: no fallback.
|
|
278
|
+
* The re-resolved run config carries the timeout's source label so a timeout
|
|
279
|
+
* rationale can name the layer it was read from.
|
|
280
|
+
*/
|
|
281
|
+
function chooseCheckoutRunConfig(deps, v, checkoutPath) {
|
|
282
|
+
if (!v.defaultOnSource)
|
|
283
|
+
return { runConfig: v.verificationConfig, appliedConfig: appliedFromRow(v.verificationConfig) };
|
|
284
|
+
try {
|
|
285
|
+
const appliedConfig = (deps.resolveRunVerificationConfig ?? defaultResolveRunVerificationConfig)(v, checkoutPath);
|
|
286
|
+
const { command, timeoutMs, timeoutSource } = appliedConfig;
|
|
287
|
+
return { runConfig: { command, timeoutMs, timeoutSource }, appliedConfig };
|
|
288
|
+
}
|
|
289
|
+
catch (err) {
|
|
290
|
+
const unresolvable = `verify config unresolvable from the verified checkout (manifest ${resolveVerifyManifestPath(checkoutPath)}): `
|
|
291
|
+
+ `${err.message} -- the command was not run, and no other checkout's manifest is substituted`;
|
|
292
|
+
log.error(`verify config: delivery ${v.deliveryId}: ${unresolvable}`);
|
|
293
|
+
return { unresolvable };
|
|
294
|
+
}
|
|
295
|
+
}
|
|
221
296
|
/**
|
|
222
297
|
* The deterministic strategy: resolve the verify boundary env, then run the
|
|
223
298
|
* configured command against a detached checkout of the focus HEAD (holding the
|
|
224
299
|
* FOCUS worktree's interlock for the judged delivery), stamping the verdict with
|
|
225
|
-
* the sha it judged
|
|
226
|
-
*
|
|
227
|
-
*
|
|
228
|
-
*
|
|
300
|
+
* the sha it judged and the config it applied -- for a default-on candidate,
|
|
301
|
+
* re-resolved from the checkout itself (module doc). A verdict rendered while an
|
|
302
|
+
* install moved the linked dependencies is discarded (pending, retried). A
|
|
303
|
+
* delivery with no focus worktree runs in place, as before, on the config it
|
|
304
|
+
* carries: no team works in the product repo path the fallback cwd names, and
|
|
305
|
+
* that is the path the tick resolved the config against.
|
|
229
306
|
*/
|
|
230
307
|
export async function runDeterministicAtFixedCommit(deps, v) {
|
|
231
308
|
// Hoist the boundary resolution BEFORE the run so the command's targeted-test
|
|
@@ -235,7 +312,9 @@ export async function runDeterministicAtFixedCommit(deps, v) {
|
|
|
235
312
|
const focusWorktreePath = (deps.resolveFocusWorktreePath ?? defaultResolveFocusWorktreePath)(v);
|
|
236
313
|
if (focusWorktreePath === null) {
|
|
237
314
|
const cwd = (deps.resolveVerificationCwd ?? ((pv) => deps.resolveCwd(pv.productId)))(v);
|
|
238
|
-
|
|
315
|
+
const appliedConfig = appliedFromRow(v.verificationConfig);
|
|
316
|
+
const inPlace = await deps.runDeterministic(v.verificationConfig, cwd, logContext, extraEnv);
|
|
317
|
+
return appliedConfig ? { ...inPlace, appliedConfig } : inPlace;
|
|
239
318
|
}
|
|
240
319
|
const checkout = (deps.createVerifyCheckout ?? createVerifyCheckout)(focusWorktreePath, v.deliveryId);
|
|
241
320
|
if (!checkout) {
|
|
@@ -247,7 +326,11 @@ export async function runDeterministicAtFixedCommit(deps, v) {
|
|
|
247
326
|
};
|
|
248
327
|
}
|
|
249
328
|
try {
|
|
250
|
-
const
|
|
329
|
+
const chosen = chooseCheckoutRunConfig(deps, v, checkout.path);
|
|
330
|
+
if ('unresolvable' in chosen) {
|
|
331
|
+
return { outcome: 'failed', rationale: chosen.unresolvable, verifiedSha: checkout.sha, configUnresolved: true };
|
|
332
|
+
}
|
|
333
|
+
const result = await deps.runDeterministic(chosen.runConfig, checkout.path, logContext, extraEnv, { worktreePath: focusWorktreePath, deliveryId: v.deliveryId });
|
|
251
334
|
if (checkout.dependenciesMoved()) {
|
|
252
335
|
log.warn(`verify checkout: dependencies moved during the run for delivery ${v.deliveryId}; verdict discarded`);
|
|
253
336
|
return {
|
|
@@ -257,7 +340,11 @@ export async function runDeterministicAtFixedCommit(deps, v) {
|
|
|
257
340
|
checkoutUnavailable: true,
|
|
258
341
|
};
|
|
259
342
|
}
|
|
260
|
-
return {
|
|
343
|
+
return {
|
|
344
|
+
...result,
|
|
345
|
+
verifiedSha: checkout.sha,
|
|
346
|
+
...(chosen.appliedConfig ? { appliedConfig: chosen.appliedConfig } : {}),
|
|
347
|
+
};
|
|
261
348
|
}
|
|
262
349
|
finally {
|
|
263
350
|
checkout.dispose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-checkout.js","sourceRoot":"","sources":["../../src/verify/verification-checkout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verification-checkout.js","sourceRoot":"","sources":["../../src/verify/verification-checkout.ts"],"names":[],"mappings":"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"}
|