@telora/daemon 0.24.7 → 0.24.10
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 +12 -3
- package/dist/backends/agent-backend.d.ts +10 -0
- package/dist/backends/agent-backend.d.ts.map +1 -1
- package/dist/backends/claude/claude-backend.d.ts +19 -0
- package/dist/backends/claude/claude-backend.d.ts.map +1 -1
- package/dist/backends/claude/claude-backend.js +41 -1
- package/dist/backends/claude/claude-backend.js.map +1 -1
- package/dist/backends/codex/codex-backend.d.ts.map +1 -1
- package/dist/backends/codex/codex-backend.js +50 -20
- package/dist/backends/codex/codex-backend.js.map +1 -1
- package/dist/backends/index.js +1 -1
- package/dist/ci/candidate-ref.js +1 -1
- package/dist/ci/candidate-ref.js.map +1 -1
- package/dist/ci/gate-ref.d.ts +150 -0
- package/dist/ci/gate-ref.d.ts.map +1 -0
- package/dist/ci/gate-ref.js +348 -0
- package/dist/ci/gate-ref.js.map +1 -0
- package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-phase.js +11 -22
- package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
- package/dist/composition/execution-migrations-context.js +1 -1
- package/dist/composition/runtime-poll-context.d.ts +7 -1
- package/dist/composition/runtime-poll-context.d.ts.map +1 -1
- package/dist/composition/runtime-poll-context.js +14 -2
- package/dist/composition/runtime-poll-context.js.map +1 -1
- package/dist/composition/verification-context.d.ts.map +1 -1
- package/dist/composition/verification-context.js +56 -8
- package/dist/composition/verification-context.js.map +1 -1
- package/dist/delivery/delivery-reconciler.d.ts +10 -15
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler.js +17 -30
- package/dist/delivery/delivery-reconciler.js.map +1 -1
- package/dist/focus/focus-executor.d.ts.map +1 -1
- package/dist/focus/focus-executor.js +2 -6
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/verify-routing-passes.d.ts +5 -1
- package/dist/focus/verify-routing-passes.d.ts.map +1 -1
- package/dist/focus/verify-routing-passes.js +1 -0
- package/dist/focus/verify-routing-passes.js.map +1 -1
- package/dist/host-control/load.d.ts.map +1 -1
- package/dist/host-control/load.js +2 -1
- package/dist/host-control/load.js.map +1 -1
- package/dist/nexus/file-escalation.d.ts.map +1 -1
- package/dist/nexus/file-escalation.js +1 -0
- package/dist/nexus/file-escalation.js.map +1 -1
- package/dist/nexus/intake.d.ts +14 -2
- package/dist/nexus/intake.d.ts.map +1 -1
- package/dist/nexus/intake.js +11 -2
- package/dist/nexus/intake.js.map +1 -1
- package/dist/nexus/pending-returns.d.ts +1 -1
- package/dist/nexus/pending-returns.d.ts.map +1 -1
- package/dist/prompt/team-prompt-base.d.ts +31 -2
- package/dist/prompt/team-prompt-base.d.ts.map +1 -1
- package/dist/prompt/team-prompt-base.js +52 -2
- package/dist/prompt/team-prompt-base.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +7 -6
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +17 -13
- package/dist/prompt-sections/persona-sections.js.map +1 -1
- package/dist/prompt-sections/role-sections.d.ts +12 -1
- package/dist/prompt-sections/role-sections.d.ts.map +1 -1
- package/dist/prompt-sections/role-sections.js +42 -1
- package/dist/prompt-sections/role-sections.js.map +1 -1
- package/dist/prompt-sections/shared.js +1 -1
- package/dist/queries/deliveries/falsified-effect-reopens.d.ts +33 -0
- package/dist/queries/deliveries/falsified-effect-reopens.d.ts.map +1 -0
- package/dist/queries/deliveries/falsified-effect-reopens.js +36 -0
- package/dist/queries/deliveries/falsified-effect-reopens.js.map +1 -0
- package/dist/queries/verification/verification.js +1 -1
- package/dist/resolvers/assembly-engine.js +1 -1
- package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
- package/dist/resolvers/git-diff-against-base.js +2 -1
- package/dist/resolvers/git-diff-against-base.js.map +1 -1
- package/dist/session/session-lineage.d.ts +15 -6
- package/dist/session/session-lineage.d.ts.map +1 -1
- package/dist/session/session-lineage.js +17 -5
- package/dist/session/session-lineage.js.map +1 -1
- package/dist/spawn/model-routing.d.ts +1 -1
- package/dist/spawn/model-routing.d.ts.map +1 -1
- package/dist/spawn/model-routing.js +6 -4
- package/dist/spawn/model-routing.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts +0 -9
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +61 -65
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/spawn-decision.d.ts +8 -1
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +10 -3
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/verification-deps.d.ts +8 -67
- package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-deps.js +94 -1
- package/dist/testing/fixtures/verification-deps.js.map +1 -1
- package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -1
- package/dist/testing/fixtures/vitest-failure-log.js +1 -0
- package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts +93 -0
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts.map +1 -0
- package/dist/verify/ci-gate/ci-gate-dispatch.js +304 -0
- package/dist/verify/ci-gate/ci-gate-dispatch.js.map +1 -0
- package/dist/verify/ci-gate/ci-gate-reruns.d.ts +51 -0
- package/dist/verify/ci-gate/ci-gate-reruns.d.ts.map +1 -0
- package/dist/verify/ci-gate/ci-gate-reruns.js +189 -0
- package/dist/verify/ci-gate/ci-gate-reruns.js.map +1 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.d.ts +33 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.d.ts.map +1 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.js +89 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.js.map +1 -0
- package/dist/verify/deterministic-gate/verification-deterministic.d.ts +6 -0
- package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js +1 -20
- package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-gate-stages.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-gate-stages.js +1 -0
- package/dist/verify/deterministic-gate/verification-gate-stages.js.map +1 -1
- package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts +34 -5
- package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts.map +1 -1
- package/dist/verify/effect-reconciliation/verify-reconciliation.js +106 -27
- package/dist/verify/effect-reconciliation/verify-reconciliation.js.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.d.ts +24 -0
- package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.js +93 -1
- package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
- package/dist/verify/engine/verification-deps.d.ts +9 -0
- package/dist/verify/engine/verification-deps.d.ts.map +1 -1
- package/dist/verify/engine/verification-deps.js +1 -1
- package/dist/verify/engine/verification-engine.d.ts.map +1 -1
- package/dist/verify/engine/verification-engine.js +19 -5
- package/dist/verify/engine/verification-engine.js.map +1 -1
- package/dist/verify/failing-test-rerun/failing-test-retry.d.ts.map +1 -1
- package/dist/verify/failing-test-rerun/failing-test-retry.js +2 -1
- package/dist/verify/failing-test-rerun/failing-test-retry.js.map +1 -1
- package/dist/verify/gate-config/judged-commit-gate.d.ts +11 -3
- package/dist/verify/gate-config/judged-commit-gate.d.ts.map +1 -1
- package/dist/verify/gate-config/judged-commit-gate.js +16 -5
- package/dist/verify/gate-config/judged-commit-gate.js.map +1 -1
- package/dist/verify/gate-config/verification-config.js +1 -1
- package/dist/verify/gate-config/verification-manifest.d.ts +18 -1
- package/dist/verify/gate-config/verification-manifest.d.ts.map +1 -1
- package/dist/verify/gate-config/verification-manifest.js +21 -21
- package/dist/verify/gate-config/verification-manifest.js.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.d.ts +2 -0
- package/dist/verify/gate-verdicts/commit-verdict-record.d.ts.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +11 -4
- package/dist/verify/gate-verdicts/commit-verdict-record.js.map +1 -1
- package/dist/verify/gate-verdicts/gate-run-registry.js +1 -1
- package/dist/verify/outcome-routing/failing-output-excerpt.d.ts +8 -0
- package/dist/verify/outcome-routing/failing-output-excerpt.d.ts.map +1 -0
- package/dist/verify/outcome-routing/failing-output-excerpt.js +41 -0
- package/dist/verify/outcome-routing/failing-output-excerpt.js.map +1 -0
- package/dist/verify/outcome-routing/falsified-effect-reopen.d.ts +17 -0
- package/dist/verify/outcome-routing/falsified-effect-reopen.d.ts.map +1 -0
- package/dist/verify/outcome-routing/falsified-effect-reopen.js +76 -0
- package/dist/verify/outcome-routing/falsified-effect-reopen.js.map +1 -0
- package/dist/verify/outcome-routing/verification-feedback.d.ts +2 -0
- package/dist/verify/outcome-routing/verification-feedback.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-feedback.js +3 -0
- package/dist/verify/outcome-routing/verification-feedback.js.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.d.ts +7 -0
- package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.js +30 -2
- package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
- package/dist/verify/run-selection/default-on-guards.js +1 -1
- package/dist/verify/run-selection/explicit-rearm.d.ts.map +1 -1
- package/dist/verify/run-selection/explicit-rearm.js +1 -0
- package/dist/verify/run-selection/explicit-rearm.js.map +1 -1
- package/dist/verify/run-selection/verification-default-on.d.ts.map +1 -1
- package/dist/verify/run-selection/verification-default-on.js +1 -0
- package/dist/verify/run-selection/verification-default-on.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,189 @@
|
|
|
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/ci-gate/ci-gate-dispatch.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/ci-gate/ci-gate-reruns.test.ts
|
|
4
|
+
// PINNED-BY-END
|
|
5
|
+
/**
|
|
6
|
+
* The runs a CI-run gate's FAILURE HANDLING asks for, sent to a runner too.
|
|
7
|
+
*
|
|
8
|
+
* A red the gate renders is not the end of the gate's work: the same-commit
|
|
9
|
+
* flake retry re-runs the named failing test files
|
|
10
|
+
* (verify/failing-test-rerun/failing-test-retry.ts), a red the base shares has the
|
|
11
|
+
* stages it cut short run as a continuation, and attribution runs the gate --
|
|
12
|
+
* or just the failing files -- at the focus base
|
|
13
|
+
* (verify/attribution/verification-attribution.ts). Locally every one of those is
|
|
14
|
+
* a process on the daemon host. For a product whose gate runs on CI
|
|
15
|
+
* (verify/ci-gate/ci-gate-dispatch.ts ciGateRunOf), each is handed to CI exactly
|
|
16
|
+
* as the gate itself is -- its own spec pushed to the focus's gate branch, its own
|
|
17
|
+
* key -- and the verdict and log CI publishes are read back as the run's result.
|
|
18
|
+
* The three seams those paths already run through (runFailingTestRerun,
|
|
19
|
+
* runStageContinuation, and the base checkout attributeFailures opens) are
|
|
20
|
+
* wrapped here; a product whose gate runs locally gets the local seam, unchanged.
|
|
21
|
+
*
|
|
22
|
+
* Unlike the gate's own hand-over, a re-run is AWAITED: the failure handling that
|
|
23
|
+
* asked for it is a synchronous step of judging one red, as it is for a local
|
|
24
|
+
* re-run, so the verification tick waits for it the way it waits for a local run
|
|
25
|
+
* -- polling the published status, never spending CPU on the host. The wait is
|
|
26
|
+
* bounded (the run's timeout plus {@link CI_RERUN_QUEUE_MARGIN_MS}); a re-run that
|
|
27
|
+
* renders no verdict in that time is no verdict, which every caller already
|
|
28
|
+
* treats as "decide nothing from it" (the red goes on to attribution, a base that
|
|
29
|
+
* CI cannot run gates every red).
|
|
30
|
+
*
|
|
31
|
+
* Only a run CI published AFTER this hand-over is read: two attempts of one
|
|
32
|
+
* re-run share a commit and a key, so an older attempt's red must never answer a
|
|
33
|
+
* newer one.
|
|
34
|
+
*
|
|
35
|
+
* @module verify/ci-gate/ci-gate-reruns
|
|
36
|
+
*/
|
|
37
|
+
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
38
|
+
import { resolve } from 'node:path';
|
|
39
|
+
import { buildGateRunSpec, classifyGateStatus } from '../../ci/gate-ref.js';
|
|
40
|
+
import { continuationCommand } from '../deterministic-gate/verification-gate-stages.js';
|
|
41
|
+
import { renderRerunCommand } from '../failing-test-rerun/rerun-command.js';
|
|
42
|
+
import { createLogger } from '../../log/daemon-log.js';
|
|
43
|
+
const log = createLogger({ module: 'verification' });
|
|
44
|
+
/** Past a re-run's own timeout, how long it may wait for a runner before it is no verdict. */
|
|
45
|
+
export const CI_RERUN_QUEUE_MARGIN_MS = 15 * 60 * 1000;
|
|
46
|
+
/** How long an awaited re-run waits between reads of its published status (production). */
|
|
47
|
+
export const CI_GATE_POLL_INTERVAL_MS = 20_000;
|
|
48
|
+
/** Chars of a re-run's log kept inline on its result. */
|
|
49
|
+
const LOG_TAIL_CHARS = 4000;
|
|
50
|
+
/** The newest run number CI has published for (sha, key) so far (0: none). */
|
|
51
|
+
function newestRun(run, spec, deps) {
|
|
52
|
+
return Math.max(0, ...deps.ciGate.listStatus(run.repoPath, spec.sha, spec.key).map((p) => p.runNumber));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Hand `spec` to CI and wait for the verdict of a run published after the
|
|
56
|
+
* hand-over (module doc). Null when the push failed or no such verdict arrived
|
|
57
|
+
* within the bound.
|
|
58
|
+
*/
|
|
59
|
+
export async function awaitCiRun(run, spec, deps) {
|
|
60
|
+
const floor = newestRun(run, spec, deps);
|
|
61
|
+
// A run at another commit than the judged HEAD (the focus base) may predate the
|
|
62
|
+
// gate job and its script: it rides on a harness carrying the HEAD's.
|
|
63
|
+
const harnessFrom = spec.sha === run.sha ? undefined : run.sha;
|
|
64
|
+
if (run.repoPath === '' || !deps.ciGate.pushRun(run.repoPath, spec, harnessFrom)) {
|
|
65
|
+
log.warn(`[verification] ci-gate: could not hand the ${spec.purpose} run of ${spec.sha.slice(0, 8)} to CI; it renders no verdict`);
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const deadline = deps.ciGate.now() + spec.timeoutMs + CI_RERUN_QUEUE_MARGIN_MS;
|
|
69
|
+
log.info(`[verification] ci-gate: handed a ${spec.purpose} run of ${spec.sha.slice(0, 8)} to CI (\`${spec.command}\`); waiting for its verdict`);
|
|
70
|
+
while (deps.ciGate.now() < deadline) {
|
|
71
|
+
await deps.ciGate.sleep(deps.ciGate.pollIntervalMs);
|
|
72
|
+
const fresh = classifyGateStatus(deps.ciGate.listStatus(run.repoPath, spec.sha, spec.key).filter((p) => p.runNumber > floor));
|
|
73
|
+
if ((fresh.status === 'green' || fresh.status === 'red') && fresh.decidedBy !== null) {
|
|
74
|
+
return { status: fresh.status, published: fresh.decidedBy, fetched: deps.ciGate.readLog(run.repoPath, fresh.decidedBy) };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
log.warn(`[verification] ci-gate: CI published no verdict for the ${spec.purpose} run of ${spec.sha.slice(0, 8)} within its bound; it renders none`);
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
/** Keep a re-run's log where the log readers find it; null when it cannot be written. */
|
|
81
|
+
function keepRerunLog(run, spec, published, text, deps) {
|
|
82
|
+
try {
|
|
83
|
+
const dir = deps.ciGate.logDir();
|
|
84
|
+
mkdirSync(dir, { recursive: true });
|
|
85
|
+
const path = resolve(dir, `ci-gate-${run.focusId}-${spec.sha.slice(0, 12)}-${spec.purpose}-${spec.key}-run${published.runNumber}.log`);
|
|
86
|
+
writeFileSync(path, text, { mode: 0o600 });
|
|
87
|
+
return path;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** The StrategyResult a re-run CI rendered (or the no-verdict result when it rendered none). */
|
|
94
|
+
function rerunResult(run, spec, done, deps) {
|
|
95
|
+
if (done === null) {
|
|
96
|
+
return {
|
|
97
|
+
outcome: 'pending',
|
|
98
|
+
rationale: `CI rendered no verdict for the ${spec.purpose} run of ${spec.sha.slice(0, 8)} (\`${spec.command}\`) within its bound`,
|
|
99
|
+
checkoutUnavailable: true,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
const passed = done.status === 'green';
|
|
103
|
+
const exitCode = done.fetched?.result?.exitCode ?? (passed ? 0 : 1);
|
|
104
|
+
const logPath = done.fetched ? keepRerunLog(run, spec, done.published, done.fetched.log, deps) : null;
|
|
105
|
+
return {
|
|
106
|
+
outcome: passed ? 'passed' : 'failed',
|
|
107
|
+
rationale: `CI ${spec.purpose} run #${done.published.runNumber} of ${spec.sha.slice(0, 8)} ${passed ? 'passed' : `failed (exit ${exitCode})`}`,
|
|
108
|
+
exitCode,
|
|
109
|
+
verifiedSha: spec.sha,
|
|
110
|
+
...(done.fetched?.result?.timedOut ? { timedOut: true } : {}),
|
|
111
|
+
...(done.fetched ? { stdoutTail: done.fetched.log.slice(-LOG_TAIL_CHARS) } : {}),
|
|
112
|
+
...(logPath !== null ? { logPath } : {}),
|
|
113
|
+
publishedLogRef: done.published.ref,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function specFor(run, purpose, sha, command, timeoutMs) {
|
|
117
|
+
return buildGateRunSpec({ purpose, focusId: run.focusId, sha, command, timeoutMs });
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The same-commit re-run of named failing test files: on CI for a CI-run gate
|
|
121
|
+
* (the gate's declared `rerunCommand`, rendered over `files`, at `sha`), else the
|
|
122
|
+
* local runner. A commit that is no longer the one the CI gate judges, or a gate
|
|
123
|
+
* that declares no re-run command, renders no verdict, as locally.
|
|
124
|
+
*/
|
|
125
|
+
export function ciAwareFailingTestRerun(local, ciRunOf, deps) {
|
|
126
|
+
return async (v, files, sha) => {
|
|
127
|
+
const run = ciRunOf(v);
|
|
128
|
+
if (run === null)
|
|
129
|
+
return local(v, files, sha);
|
|
130
|
+
const declared = run.applied.rerun;
|
|
131
|
+
if (run.sha !== sha || !declared) {
|
|
132
|
+
return {
|
|
133
|
+
outcome: 'pending',
|
|
134
|
+
rationale: declared ? `not re-run: the CI gate now judges ${run.sha.slice(0, 8)}, not ${sha.slice(0, 8)}` : 'not re-run: the judged commit declares no rerunCommand',
|
|
135
|
+
checkoutUnavailable: true,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const command = renderRerunCommand(declared.command, files);
|
|
139
|
+
const spec = specFor(run, 'rerun', sha, command, run.applied.timeoutMs);
|
|
140
|
+
const result = rerunResult(run, spec, await awaitCiRun(run, spec, deps), deps);
|
|
141
|
+
return result.verifiedSha === undefined ? result : { ...result, appliedConfig: run.applied, rerunOf: { command, files: [...files] } };
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* The continuation of gate stages a red cut short, at the commit the red was
|
|
146
|
+
* rendered at: on CI for a CI-run gate, else the local runner. Its applied config
|
|
147
|
+
* names the continuation itself, as the local continuation's row does.
|
|
148
|
+
*/
|
|
149
|
+
export function ciAwareStageContinuation(local, ciRunOf, deps) {
|
|
150
|
+
return async (v, segments, head) => {
|
|
151
|
+
const run = ciRunOf(v);
|
|
152
|
+
if (run === null)
|
|
153
|
+
return local(v, segments, head);
|
|
154
|
+
const sha = head.verifiedSha;
|
|
155
|
+
if (!sha)
|
|
156
|
+
return { outcome: 'pending', rationale: 'no judged commit to continue the gate at', checkoutUnavailable: true };
|
|
157
|
+
const command = continuationCommand(segments);
|
|
158
|
+
const timeoutMs = head.appliedConfig?.timeoutMs ?? run.applied.timeoutMs;
|
|
159
|
+
const spec = specFor(run, 'rerun', sha, command, timeoutMs);
|
|
160
|
+
const result = rerunResult(run, spec, await awaitCiRun(run, spec, deps), deps);
|
|
161
|
+
return result.verifiedSha === undefined
|
|
162
|
+
? result
|
|
163
|
+
: { ...result, appliedConfig: { command, timeoutMs, timeoutSource: head.appliedConfig?.timeoutSource ?? 'ci' } };
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* The base checkout attribution opens, for a CI-run gate: no checkout on the
|
|
168
|
+
* host -- each command the measurement runs at the base (the gate, a continuation
|
|
169
|
+
* of it, or the failing files alone) is a CI run at the base commit, its log the
|
|
170
|
+
* run's output. A base CI cannot run renders no output: the run THROWS, which the
|
|
171
|
+
* measurement reports as an unavailable base and attribution as no baseline, so
|
|
172
|
+
* every red gates and nothing is cached for that base.
|
|
173
|
+
*/
|
|
174
|
+
export function ciOpenBaselineBuilder(run, deps) {
|
|
175
|
+
return (_worktreePath, _checkoutKey, gate) => (baseSha) => ({
|
|
176
|
+
run: async (command) => {
|
|
177
|
+
const spec = specFor(run, 'base', baseSha, command, gate.timeoutMs);
|
|
178
|
+
const done = await awaitCiRun(run, spec, deps);
|
|
179
|
+
if (done === null)
|
|
180
|
+
throw new Error(`CI rendered no verdict for the base run of ${baseSha.slice(0, 8)} (\`${command}\`)`);
|
|
181
|
+
if (done.fetched === null)
|
|
182
|
+
throw new Error(`the log of ${done.published.ref} could not be fetched`);
|
|
183
|
+
return { output: done.fetched.log, exitCode: done.fetched.result?.exitCode ?? (done.status === 'green' ? 0 : 1), timedOut: done.fetched.result?.timedOut === true };
|
|
184
|
+
},
|
|
185
|
+
dependenciesMoved: () => false,
|
|
186
|
+
dispose: () => { },
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=ci-gate-reruns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-gate-reruns.js","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-reruns.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** One focus's CI-run gate wait. Instants are epoch ms. */
|
|
2
|
+
export interface CiGateWait {
|
|
3
|
+
productId: string;
|
|
4
|
+
focusId: string;
|
|
5
|
+
/** The judged commit handed to CI. */
|
|
6
|
+
sha: string;
|
|
7
|
+
/** The gate's key (ci/gate-ref.ts gateRunKey). */
|
|
8
|
+
key: string;
|
|
9
|
+
/** The delivery whose dispatch handed it over (provenance only). */
|
|
10
|
+
deliveryId: string;
|
|
11
|
+
pushedAt: number;
|
|
12
|
+
/** Set when the run was re-pushed once for a missing verdict. */
|
|
13
|
+
repushedAt?: number;
|
|
14
|
+
/** Set when the hold after the re-push was surfaced (once). */
|
|
15
|
+
surfacedAt?: number;
|
|
16
|
+
}
|
|
17
|
+
/** The record's IO as the dispatch uses it (a seam: tests keep it in memory). */
|
|
18
|
+
export interface CiGateWaitStore {
|
|
19
|
+
read: (productId: string, focusId: string) => CiGateWait | null;
|
|
20
|
+
/** Best-effort: false (logged) when the write did not land. */
|
|
21
|
+
write: (wait: CiGateWait) => boolean;
|
|
22
|
+
}
|
|
23
|
+
/** The directory the records live in, resolved per call so TELORA_STATE_DIR is honoured. */
|
|
24
|
+
export declare function ciGateWaitDir(): string;
|
|
25
|
+
/** Validate a parsed record; null when it is not one. Pure. */
|
|
26
|
+
export declare function parseCiGateWait(raw: unknown): CiGateWait | null;
|
|
27
|
+
/** The durable store under `dir()` (production binds {@link ciGateWaitDir}). */
|
|
28
|
+
export declare function durableCiGateWaitStore(dir: () => string): CiGateWaitStore;
|
|
29
|
+
/** An in-memory store (tests). */
|
|
30
|
+
export declare function memoryCiGateWaitStore(): CiGateWaitStore & {
|
|
31
|
+
all: () => CiGateWait[];
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=ci-gate-wait-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-gate-wait-record.d.ts","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-wait-record.ts"],"names":[],"mappings":"AA2BA,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,CAAC;IAChE,+DAA+D;IAC/D,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;CACtC;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAQD,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAU/D;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,MAAM,GAAG,eAAe,CAuBzE;AAED,kCAAkC;AAClC,wBAAgB,qBAAqB,IAAI,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,UAAU,EAAE,CAAA;CAAE,CAarF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
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/ci-gate/ci-gate-dispatch.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/ci-gate/ci-gate-reruns.test.ts
|
|
4
|
+
// PINNED-BY-END
|
|
5
|
+
/**
|
|
6
|
+
* The durable record of a focus's CI-run gate WAIT: which run the daemon handed
|
|
7
|
+
* to CI (the commit and the gate key), when, whether it was re-pushed once, and
|
|
8
|
+
* whether the hold that follows was surfaced. One file per (product, focus) under
|
|
9
|
+
* the global state dir, written atomically, so a daemon restart neither restarts
|
|
10
|
+
* nor forgets the wait window -- the stance merge/completion-hold-record.ts takes
|
|
11
|
+
* for a candidate's.
|
|
12
|
+
*
|
|
13
|
+
* Only the focus's latest handed-over run is kept: a new commit or a new gate
|
|
14
|
+
* replaces the record, because a verdict for the older one is no longer the one
|
|
15
|
+
* the dispatch waits on.
|
|
16
|
+
*
|
|
17
|
+
* @module verify/ci-gate/ci-gate-wait-record
|
|
18
|
+
*/
|
|
19
|
+
import { mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
|
|
20
|
+
import { resolve } from 'node:path';
|
|
21
|
+
import { resolveGlobalStateDir } from '../../daemon-state/daemon-process.js';
|
|
22
|
+
import { createLogger } from '../../log/daemon-log.js';
|
|
23
|
+
const log = createLogger({ module: 'verification' });
|
|
24
|
+
/** The directory the records live in, resolved per call so TELORA_STATE_DIR is honoured. */
|
|
25
|
+
export function ciGateWaitDir() {
|
|
26
|
+
return resolve(resolveGlobalStateDir(), 'ci-gate-waits');
|
|
27
|
+
}
|
|
28
|
+
function recordPath(dir, productId, focusId) {
|
|
29
|
+
return resolve(dir, `${productId}-${focusId}.json`.replace(/[^a-zA-Z0-9._-]/g, '_'));
|
|
30
|
+
}
|
|
31
|
+
const isNum = (v) => typeof v === 'number' && Number.isFinite(v);
|
|
32
|
+
/** Validate a parsed record; null when it is not one. Pure. */
|
|
33
|
+
export function parseCiGateWait(raw) {
|
|
34
|
+
if (typeof raw !== 'object' || raw === null)
|
|
35
|
+
return null;
|
|
36
|
+
const r = raw;
|
|
37
|
+
if (typeof r.productId !== 'string' || typeof r.focusId !== 'string' || typeof r.sha !== 'string')
|
|
38
|
+
return null;
|
|
39
|
+
if (typeof r.key !== 'string' || typeof r.deliveryId !== 'string' || !isNum(r.pushedAt))
|
|
40
|
+
return null;
|
|
41
|
+
return {
|
|
42
|
+
productId: r.productId, focusId: r.focusId, sha: r.sha, key: r.key, deliveryId: r.deliveryId, pushedAt: r.pushedAt,
|
|
43
|
+
...(isNum(r.repushedAt) ? { repushedAt: r.repushedAt } : {}),
|
|
44
|
+
...(isNum(r.surfacedAt) ? { surfacedAt: r.surfacedAt } : {}),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/** The durable store under `dir()` (production binds {@link ciGateWaitDir}). */
|
|
48
|
+
export function durableCiGateWaitStore(dir) {
|
|
49
|
+
return {
|
|
50
|
+
read: (productId, focusId) => {
|
|
51
|
+
try {
|
|
52
|
+
return parseCiGateWait(JSON.parse(readFileSync(recordPath(dir(), productId, focusId), 'utf8')));
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
write: (wait) => {
|
|
59
|
+
const path = recordPath(dir(), wait.productId, wait.focusId);
|
|
60
|
+
const tmp = `${path}.${process.pid}.tmp`;
|
|
61
|
+
try {
|
|
62
|
+
mkdirSync(dir(), { recursive: true });
|
|
63
|
+
writeFileSync(tmp, JSON.stringify(wait, null, 2), { mode: 0o600 });
|
|
64
|
+
renameSync(tmp, path);
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
log.warn(`[verification] failed to record the CI gate wait for ${wait.focusId}@${wait.sha.slice(0, 8)}:`, err.message);
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/** An in-memory store (tests). */
|
|
75
|
+
export function memoryCiGateWaitStore() {
|
|
76
|
+
const rows = new Map();
|
|
77
|
+
return {
|
|
78
|
+
read: (productId, focusId) => {
|
|
79
|
+
const row = rows.get(`${productId}:${focusId}`);
|
|
80
|
+
return row ? { ...row } : null;
|
|
81
|
+
},
|
|
82
|
+
write: (wait) => {
|
|
83
|
+
rows.set(`${wait.productId}:${wait.focusId}`, { ...wait });
|
|
84
|
+
return true;
|
|
85
|
+
},
|
|
86
|
+
all: () => [...rows.values()],
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=ci-gate-wait-record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-gate-wait-record.js","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-wait-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,12 @@ export interface StrategyResult {
|
|
|
69
69
|
* (gate_state) can point at it.
|
|
70
70
|
*/
|
|
71
71
|
logPath?: string;
|
|
72
|
+
/**
|
|
73
|
+
* For a run CI rendered (verify/ci-gate/): the status ref CI published it under,
|
|
74
|
+
* whose commit holds the run's whole log (ci/gate-ref.ts). `logPath` is then only
|
|
75
|
+
* this host's fetched copy; the ref is where anyone reads the log.
|
|
76
|
+
*/
|
|
77
|
+
publishedLogRef?: string;
|
|
72
78
|
/** Delivery diff against integration, when the strategy resolved one (ai_inspection). */
|
|
73
79
|
deliveryDiff?: string;
|
|
74
80
|
/** Baseline-diff attribution: NEW failures the focus introduced (these gate). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-deterministic.d.ts","sourceRoot":"","sources":["../../../src/verify/deterministic-gate/verification-deterministic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification-deterministic.d.ts","sourceRoot":"","sources":["../../../src/verify/deterministic-gate/verification-deterministic.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AAMzG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAQtF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,QAAiB,CAAC;AAE9D,kHAAkH;AAClH,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,oHAAoH;IACpH,YAAY,CAAC,EAAE,wBAAwB,CAAC;IACxC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACzC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB;;;;WAIG;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,iEAAiE;QACjE,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,6FAA6F;QAC7F,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,sEAAsE;QACtE,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B;;;;;WAKG;QACH,KAAK,CAAC,EAAE,aAAa,CAAC;KACvB,CAAC;IACF;;;;;OAKG;IACH,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/C;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,uBAAuB,EACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,cAAc,CAAC,CA+HzB"}
|
|
@@ -1,24 +1,5 @@
|
|
|
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/
|
|
3
|
-
// packages/daemon/src/integration/explicit-verdict-departure-during-removal.test.ts,
|
|
4
|
-
// packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts,
|
|
5
|
-
// packages/daemon/src/integration/explicit-verdict-reuse.test.ts,
|
|
6
|
-
// packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
|
|
7
|
-
// packages/daemon/src/integration/fully-merged-focus-sibling-red-scenario.test.ts,
|
|
8
|
-
// packages/daemon/src/merge/completion-local-judge.test.ts,
|
|
9
|
-
// packages/daemon/src/verify/attribution/verification-attribution.test.ts,
|
|
10
|
-
// packages/daemon/src/verify/deterministic-gate/verification-checkout.test.ts,
|
|
11
|
-
// packages/daemon/src/verify/deterministic-gate/verification-deterministic.test.ts,
|
|
12
|
-
// packages/daemon/src/verify/deterministic-gate/verify-checkout-judged-installs.test.ts,
|
|
13
|
-
// packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
|
|
14
|
-
// packages/daemon/src/verify/engine/verification-engine-real-paths.test.ts,
|
|
15
|
-
// packages/daemon/src/verify/engine/verification-engine.test.ts,
|
|
16
|
-
// packages/daemon/src/verify/failing-test-rerun/failing-test-retry.test.ts,
|
|
17
|
-
// packages/daemon/src/verify/failing-test-rerun/rework-recheck.test.ts,
|
|
18
|
-
// packages/daemon/src/verify/gate-verdicts/commit-verdict-record.test.ts,
|
|
19
|
-
// packages/daemon/src/verify/gate-verdicts/gate-run-activity.test.ts,
|
|
20
|
-
// packages/daemon/src/verify/run-selection/verification-default-on.test.ts,
|
|
21
|
-
// packages/daemon/src/worktree/verify-interlock.test.ts
|
|
2
|
+
// Pinned by: 22 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/verify/deterministic-gate/verification-deterministic.ts
|
|
22
3
|
// PINNED-BY-END
|
|
23
4
|
import { killGateGroup, spawnGateGroup } from './gate-process-group.js';
|
|
24
5
|
import { createWriteStream, mkdirSync } from 'node:fs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-deterministic.js","sourceRoot":"","sources":["../../../src/verify/deterministic-gate/verification-deterministic.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"verification-deterministic.js","sourceRoot":"","sources":["../../../src/verify/deterministic-gate/verification-deterministic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-gate-stages.d.ts","sourceRoot":"","sources":["../../../src/verify/deterministic-gate/verification-gate-stages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification-gate-stages.d.ts","sourceRoot":"","sources":["../../../src/verify/deterministic-gate/verification-gate-stages.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kFAAkF;IAClF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,wEAAwE;IACxE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6EAA6E;IAC7E,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAWnC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,IAAI,CAoB7F;AAsHD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAU9H;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,IAAI,CAItB;AAED,iGAAiG;AACjG,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAE5E;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,OAAO,CAEpF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
2
|
// Pinned by: packages/daemon/src/verify/attribution/verification-attribution.test.ts,
|
|
3
3
|
// packages/daemon/src/verify/attribution/verification-baseline-files.test.ts,
|
|
4
|
+
// packages/daemon/src/verify/ci-gate/ci-gate-reruns.test.ts,
|
|
4
5
|
// packages/daemon/src/verify/deterministic-gate/verification-gate-stages.test.ts
|
|
5
6
|
// PINNED-BY-END
|
|
6
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-gate-stages.js","sourceRoot":"","sources":["../../../src/verify/deterministic-gate/verification-gate-stages.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,sFAAsF;AACtF,gFAAgF;AAChF,mFAAmF;AACnF,gBAAgB;AAyFhB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,qBAAqB,EAAE,GAAG,CAAC,CAAC;AAC7D,mFAAmF;AACnF,MAAM,aAAa,GAAG,yCAAyC,CAAC;AAChE,MAAM,WAAW,GAAG,6BAA6B,CAAC;AAClD,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,aAAa,WAAW,qCAAqC,CAAC,CAAC;AACrG,MAAM,mBAAmB,GAAG,+CAA+C,CAAC;AAC5E,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,aAAa,WAAW,IAAI,CAAC,CAAC;AAEjE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,WAAmB;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9H,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrG,SAAS;QACX,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAUD,kFAAkF;AAClF,SAAS,iBAAiB,CAAC,KAAwB;IACjD,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,IAAI,OAAO,KAAK,IAAI;YAAE,KAAK,IAAI,CAAC,CAAC,CAAC,mCAAmC;QACrE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAYD,MAAM,eAAe,GAAG,CAAC,KAAY,EAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClH,MAAM,aAAa,GAAG,CAAC,KAAY,EAAW,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AAEpH;;;GAGG;AACH,SAAS,aAAa,CAAC,OAAgC,EAAE,CAAe,EAAE,QAAgB;IACxF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC;AAC3E,CAAC;AAED,qFAAqF;AACrF,SAAS,WAAW,CAAC,KAAc,EAAE,GAAa,EAAE,CAAe;IACjE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QAAE,EAAE,EAAE,CAAC;IAC/F,gFAAgF;IAChF,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC7D,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,0CAA0C;QAC1F,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM,OAAO,GAAI,MAAM,CAAC,QAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IACjB,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrH,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0FAA0F;AAC1F,SAAS,SAAS,CAChB,KAAwB,EACxB,KAAc,EACd,GAAa,EACb,QAAmC,EACnC,YAA4B;IAE5B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACzB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,YAAY,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC;QACvE,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACnF,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACjH,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvE,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,IAAI,WAAmB,CAAC;IACxB,IAAI,YAA2B,CAAC;IAChC,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC1B,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,YAAY,GAAG,EAAE,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrD,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,iEAAiE;IACjE,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE;QAAE,YAAY,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5G,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzG,4FAA4F;IAC5F,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;AACjH,CAAC;AAED,mFAAmF;AACnF,SAAS,SAAS,CAAC,KAAwB,EAAE,OAAgC,EAAE,IAAW,EAAE,QAAmC;IAC7H,MAAM,KAAK,GAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC/F,MAAM,YAAY,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC/F,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAChH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,QAAmC,EAAE,WAAmB;IACtG,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;AAClI,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAW,EACX,QAAmC,EACnC,QAAgC,EAChC,WAAmB;IAEnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/I,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,mBAAmB,CAAC,QAAgC;IAClE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,kBAAkB,CAAC,GAAwC;IACzE,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AACrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"verification-gate-stages.js","sourceRoot":"","sources":["../../../src/verify/deterministic-gate/verification-gate-stages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { type JudgeCheckout, type JudgeCitationResolver, type JudgeScope } from './judge-workspace.js';
|
|
2
2
|
import type { UnresolvedEvidenceRef } from '../shortfalls/ruling-evidence-resolution.js';
|
|
3
3
|
import type { UnjudgedShortfallKind } from '../../queries/delivery-gate-state/shortfall-judgment-record.js';
|
|
4
|
+
/** How much of an unparseable answer is kept: its TAIL, where a broken or cut-off object ends. */
|
|
5
|
+
export declare const RAW_ANSWER_TAIL_CHARS = 1000;
|
|
6
|
+
/** The bounded tail of a judge's raw answer. Pure. */
|
|
7
|
+
export declare function rawAnswerTail(raw: string): string;
|
|
4
8
|
/**
|
|
5
|
-
* The judge answered, but nothing in its answer parsed as a judgment
|
|
9
|
+
* The judge answered, but nothing in its answer parsed as a judgment -- not its
|
|
10
|
+
* first answer and not the correction turn's (module header). Thrown by
|
|
6
11
|
* reconcileAchievedEffect; the shortfall it is signed as carries `unjudged:
|
|
7
12
|
* 'no_parseable_judgment'` (unjudgedShortfallKindOf).
|
|
8
13
|
*/
|
|
9
14
|
export declare class UnparseableJudgment extends Error {
|
|
10
|
-
|
|
15
|
+
/** Why the last answer did not parse: the JSON.parse error, or what the parsed value lacks. */
|
|
16
|
+
readonly parseError: string;
|
|
17
|
+
/** A bounded tail of the last answer's raw text (rawAnswerTail). */
|
|
18
|
+
readonly rawTail: string;
|
|
19
|
+
constructor(parseError: string, rawTail: string);
|
|
11
20
|
}
|
|
12
21
|
/**
|
|
13
22
|
* Which kind of NO judgment a non-ModelUnavailable reconciliation throw leaves on
|
|
@@ -89,7 +98,7 @@ export interface ReconcileJudgment {
|
|
|
89
98
|
/** 'tree' when the declared future is a claim about the whole tree (it must rest on a tree check); unset when the judge declared none. */
|
|
90
99
|
scope?: JudgeScope;
|
|
91
100
|
}
|
|
92
|
-
export declare const RECONCILE_SYSTEM_PROMPT = "You reconcile a software delivery's DECLARED desired effect against what the delivered code actually accomplishes, for a Goldratt reality-tree flip.\n\nYou are working in a read-only export of the tree of the commit being judged (your working directory), with an export of the BASE tree -- the state before the delivery's change -- beside it when there is one. Both are plain files: there is no git and no shell. You will NOT be given the diff. You are given:\n- The DECLARED desired effect: the outcome the work was supposed to realize. This is the intent of record. Do NOT lower it.\n- The commit range the delivery's change spans, the changed-file list and the diff stat. Read the change yourself with the Read, Grep and Glob tools: a changed file in the judged tree, and the same path in the base tree to see what it was. Read only what the question needs; you do not need to read every changed file.\n- Check output (tests / lint / types) and inspection findings, when there are any: corroborating evidence only. Never conclude a shortfall from test output alone.\n- The approving review's citations, when there are any: starting points you READ AND WEIGH YOURSELF, never a verdict to copy.\n\nState the SCOPE of the declared effect:\n- \"change\": a claim about what this change does -- judge it from the change.\n- \"tree\": a claim about the whole tree (e.g. \"no module in X does Y\", \"every Z has W\", \"X is free of Y\", \"only Z can do W\"). No slice of the diff can establish it: establish it with a TREE-WIDE CHECK over the judged tree and cite that check.\n\nDo THREE things:\n1. Author the ACHIEVED desired effect: ONE concrete positive sentence describing what the code you read shows was accomplished. Derive it from what you read, NOT from the declared sentence.\n2. Classify how the achieved outcome compares to the declared desired effect:\n - \"match\": the achieved outcome realizes the declared intent.\n - \"legitimate_divergence\": a valid, defensible different result. Give a one-sentence reason naming the gap.\n - \"shortfall\": the achieved outcome falls short -- it does less, is incomplete, or the code does not support the declaration. Give a one-sentence reason naming what is missing, and name the changed file/hunk you inspected in diffCitation when there is one (OMIT the field otherwise -- never write absence prose into it).\n3. CITE what your verdict rests on, in \"citations\" (at least one). Every citation is checked against the judged commit, and a verdict whose citations do not resolve is DISCARDED. Use exactly these forms:\n - \"path/to/file.ts\" -- a file that exists at the judged commit;\n - \"path/to/file.ts:LINE\" -- a line (hunk) you read; the file must have at least LINE lines;\n - \"path/to/file.test.ts::test name\" -- a test whose name appears in that file;\n - \"grep:<count>:<extended regex>\" -- a tree-wide check the daemon RUNS: `git grep -E` over every file of the judged tree, hidden ones included, must find exactly <count> matching lines (e.g. \"grep:0
|
|
101
|
+
export declare const RECONCILE_SYSTEM_PROMPT = "You reconcile a software delivery's DECLARED desired effect against what the delivered code actually accomplishes, for a Goldratt reality-tree flip.\n\nYou are working in a read-only export of the tree of the commit being judged (your working directory), with an export of the BASE tree -- the state before the delivery's change -- beside it when there is one. Both are plain files: there is no git and no shell. You will NOT be given the diff. You are given:\n- The DECLARED desired effect: the outcome the work was supposed to realize. This is the intent of record. Do NOT lower it.\n- The commit range the delivery's change spans, the changed-file list and the diff stat. Read the change yourself with the Read, Grep and Glob tools: a changed file in the judged tree, and the same path in the base tree to see what it was. Read only what the question needs; you do not need to read every changed file.\n- Check output (tests / lint / types) and inspection findings, when there are any: corroborating evidence only. Never conclude a shortfall from test output alone.\n- The approving review's citations, when there are any: starting points you READ AND WEIGH YOURSELF, never a verdict to copy.\n\nState the SCOPE of the declared effect:\n- \"change\": a claim about what this change does -- judge it from the change.\n- \"tree\": a claim about the whole tree (e.g. \"no module in X does Y\", \"every Z has W\", \"X is free of Y\", \"only Z can do W\"). No slice of the diff can establish it: establish it with a TREE-WIDE CHECK over the judged tree and cite that check.\n\nDo THREE things:\n1. Author the ACHIEVED desired effect: ONE concrete positive sentence describing what the code you read shows was accomplished. Derive it from what you read, NOT from the declared sentence.\n2. Classify how the achieved outcome compares to the declared desired effect:\n - \"match\": the achieved outcome realizes the declared intent.\n - \"legitimate_divergence\": a valid, defensible different result. Give a one-sentence reason naming the gap.\n - \"shortfall\": the achieved outcome falls short -- it does less, is incomplete, or the code does not support the declaration. Give a one-sentence reason naming what is missing, and name the changed file/hunk you inspected in diffCitation when there is one (OMIT the field otherwise -- never write absence prose into it).\n3. CITE what your verdict rests on, in \"citations\" (at least one). Every citation is checked against the judged commit, and a verdict whose citations do not resolve is DISCARDED. Use exactly these forms:\n - \"path/to/file.ts\" -- a file that exists at the judged commit;\n - \"path/to/file.ts:LINE\" -- a line (hunk) you read; the file must have at least LINE lines;\n - \"path/to/file.test.ts::test name\" -- a test whose name appears in that file;\n - \"grep:<count>:<extended regex>\" -- a tree-wide check the daemon RUNS: `git grep -E` over every file of the judged tree, hidden ones included, must find exactly <count> matching lines (e.g. \"grep:0:\\\\?\\\\? *default\" for a claim that no line has the pattern). The citation is a JSON string, so a backslash in the regex is written DOUBLED inside it: the regex \\?\\? *default is cited as \"grep:0:\\\\?\\\\? *default\". A single backslash is not a JSON escape, and it makes your whole answer unparseable. Count it yourself first with the Grep tool (output_mode \"count\", summed over files) so the count you cite is the count you observed.\n EVERY verdict MUST cite at least one grep: check, or it is discarded: for a claim about the whole tree, the check that establishes it; for a claim about the change, a count that locates what you judged (e.g. \"grep:1:export function handleRetry\").\n Whether the checks you cite establish the claim is YOUR judgement: the daemon confirms only that each resolves. Cite the check that bears on the claim -- one whose count the delivery's change moved and whose pattern names what the claim asserts -- and if what you observed disproves the claim, say so in a shortfall.\n\nRespond with ONE JSON object and nothing else:\n{\"achievedStatement\": \"<one sentence>\", \"classification\": \"match\" | \"legitimate_divergence\" | \"shortfall\", \"divergenceReason\": \"<one sentence; omit on match>\", \"diffCitation\": \"<OPTIONAL, shortfall only>\", \"scope\": \"change\" | \"tree\", \"citations\": [\"<citation>\", \"...\"]}";
|
|
93
102
|
export declare function buildReconcileSystemPrompt(): string;
|
|
94
103
|
/**
|
|
95
104
|
* Render the judge's question into the user message: the declared future, the
|
|
@@ -125,7 +134,21 @@ export declare function judgeEvidenceIsEmpty(ev: VerifyEvidence): boolean;
|
|
|
125
134
|
* diffCitation rather than a sentence asserting absence.
|
|
126
135
|
*/
|
|
127
136
|
export declare function citationReferencesEvidence(citation: string, ev: VerifyEvidence): boolean;
|
|
128
|
-
/**
|
|
137
|
+
/** A judge answer read as a verdict: the judgment, or why it is not one. */
|
|
138
|
+
export type ReconcileParse = {
|
|
139
|
+
ok: true;
|
|
140
|
+
judgment: ReconcileJudgment;
|
|
141
|
+
} | {
|
|
142
|
+
ok: false;
|
|
143
|
+
error: string;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Read the model's answer as a JSON judgment, naming why when it is not one (the
|
|
147
|
+
* JSON.parse error, or the field the object lacks). Tolerates code fences /
|
|
148
|
+
* surrounding prose; never rewrites the JSON itself (module header).
|
|
149
|
+
*/
|
|
150
|
+
export declare function parseReconcileAnswer(raw: string): ReconcileParse;
|
|
151
|
+
/** Parse the model's JSON judgment, or null when it is not one (parseReconcileAnswer names why). */
|
|
129
152
|
export declare function parseReconcileJson(raw: string): ReconcileJudgment | null;
|
|
130
153
|
/**
|
|
131
154
|
* The correction turn's user message: each unresolved citation with the
|
|
@@ -133,13 +156,19 @@ export declare function parseReconcileJson(raw: string): ReconcileJudgment | nul
|
|
|
133
156
|
* holds the question and its own first answer (module header). Pure.
|
|
134
157
|
*/
|
|
135
158
|
export declare function buildCitationCorrectionMessage(sha: string, unresolved: readonly UnresolvedEvidenceRef[]): string;
|
|
159
|
+
/**
|
|
160
|
+
* The parse correction turn's user message: the parse error, and the ask for the
|
|
161
|
+
* verdict again as valid JSON. Sent as the next turn of the SAME session. Pure.
|
|
162
|
+
*/
|
|
163
|
+
export declare function buildParseCorrectionMessage(parseError: string): string;
|
|
136
164
|
/**
|
|
137
165
|
* Reconcile the declared desired effect against the delivered code.
|
|
138
166
|
*
|
|
139
167
|
* One bounded judge session (at most one correction turn within it) in the pinned checkout. Throws ModelUnavailable when
|
|
140
168
|
* the judge cannot run (no pinned checkout, or the session itself could not) or
|
|
141
169
|
* its verdict cannot be vouched for (unresolved citations); throws
|
|
142
|
-
* UnparseableJudgment
|
|
170
|
+
* UnparseableJudgment when neither the first answer nor its correction turn
|
|
171
|
+
* parses. The verify caller never
|
|
143
172
|
* flips an injection it could not reconcile.
|
|
144
173
|
*/
|
|
145
174
|
export declare function reconcileAchievedEffect(inputs: ReconcileInputs, openJudge: JudgeSessionOpener, resolveCitations: JudgeCitationResolver): Promise<ReconcileJudgment>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-reconciliation.d.ts","sourceRoot":"","sources":["../../../src/verify/effect-reconciliation/verify-reconciliation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify-reconciliation.d.ts","sourceRoot":"","sources":["../../../src/verify/effect-reconciliation/verify-reconciliation.ts"],"names":[],"mappings":"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"}
|