@telora/daemon 0.17.70 → 0.17.78
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 +6 -3
- package/dist/cascade-restatement.d.ts +15 -0
- package/dist/cascade-restatement.d.ts.map +1 -1
- package/dist/cascade-restatement.js +68 -4
- package/dist/cascade-restatement.js.map +1 -1
- package/dist/cli/backfill-frt-prose.d.ts +33 -13
- package/dist/cli/backfill-frt-prose.d.ts.map +1 -1
- package/dist/cli/backfill-frt-prose.js +53 -41
- package/dist/cli/backfill-frt-prose.js.map +1 -1
- package/dist/de-restatement.d.ts +2 -0
- package/dist/de-restatement.d.ts.map +1 -1
- package/dist/de-restatement.js +1 -1
- package/dist/de-restatement.js.map +1 -1
- package/dist/focus-executor.d.ts +9 -0
- package/dist/focus-executor.d.ts.map +1 -1
- package/dist/focus-executor.js +10 -1
- package/dist/focus-executor.js.map +1 -1
- package/dist/listener.d.ts.map +1 -1
- package/dist/listener.js +23 -3
- package/dist/listener.js.map +1 -1
- package/dist/queries/deliveries.d.ts +12 -0
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +9 -0
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/index.d.ts +1 -1
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +1 -1
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/schemas.d.ts +2 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +5 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/verification.d.ts +10 -1
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js.map +1 -1
- package/dist/resolvers/shared/reality-tree.d.ts +15 -0
- package/dist/resolvers/shared/reality-tree.d.ts.map +1 -1
- package/dist/resolvers/shared/reality-tree.js.map +1 -1
- package/dist/retire-aware-restatement.d.ts +92 -0
- package/dist/retire-aware-restatement.d.ts.map +1 -0
- package/dist/retire-aware-restatement.js +150 -0
- package/dist/retire-aware-restatement.js.map +1 -0
- package/dist/supabase.d.ts +1 -1
- package/dist/supabase.d.ts.map +1 -1
- package/dist/supabase.js +1 -1
- package/dist/supabase.js.map +1 -1
- package/dist/templates/claude-md.d.ts +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +6 -0
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/verification-engine.d.ts +21 -8
- package/dist/verification-engine.d.ts.map +1 -1
- package/dist/verification-engine.js +108 -14
- package/dist/verification-engine.js.map +1 -1
- package/dist/verify-reconciliation.d.ts +75 -0
- package/dist/verify-reconciliation.d.ts.map +1 -0
- package/dist/verify-reconciliation.js +164 -0
- package/dist/verify-reconciliation.js.map +1 -0
- package/dist/verify-restatement.d.ts +82 -28
- package/dist/verify-restatement.d.ts.map +1 -1
- package/dist/verify-restatement.js +98 -43
- package/dist/verify-restatement.js.map +1 -1
- package/package.json +2 -2
|
@@ -26,6 +26,9 @@ import { spawn } from 'node:child_process';
|
|
|
26
26
|
import { getPendingVerifications, recordDeliveryVerificationOutcome, verifyInjectionOnPass, } from './queries/verification.js';
|
|
27
27
|
import { configForProduct } from './config.js';
|
|
28
28
|
import { authorTargetRestatements as defaultAuthorTargetRestatements, } from './verify-restatement.js';
|
|
29
|
+
import { fileEscalation as defaultFileEscalation } from './escalations.js';
|
|
30
|
+
import { getGitDiff } from './assembly-resolvers.js';
|
|
31
|
+
import { ESCALATION_REASONS, ESCALATION_DISPOSITIONS } from '@telora/daemon-core';
|
|
29
32
|
import { resolveAiInspectionInputs as defaultResolveAiInspectionInputs, } from './ai-inspection-context.js';
|
|
30
33
|
import { runAiInspection as defaultRunAiInspection, } from './ai-inspection-runner.js';
|
|
31
34
|
import { buildDefaultSecurityFindingGateDeps, evaluateFindingNoLongerPresent, escalateOnGateFail, } from './security-finding-gate.js';
|
|
@@ -128,6 +131,7 @@ export async function runAiInspectionStrategy(deps, v) {
|
|
|
128
131
|
return {
|
|
129
132
|
outcome,
|
|
130
133
|
rationale: inspection.rationale,
|
|
134
|
+
deliveryDiff: inputs.deliveryDiff,
|
|
131
135
|
inspection,
|
|
132
136
|
};
|
|
133
137
|
}
|
|
@@ -154,7 +158,9 @@ const defaultDeps = (config) => {
|
|
|
154
158
|
getPendingVerifications,
|
|
155
159
|
recordOutcome: recordDeliveryVerificationOutcome,
|
|
156
160
|
verifyInjection: verifyInjectionOnPass,
|
|
157
|
-
authorTargetRestatements: (injectionNodeId, focusId) => defaultAuthorTargetRestatements(injectionNodeId, focusId),
|
|
161
|
+
authorTargetRestatements: (injectionNodeId, focusId, evidence) => defaultAuthorTargetRestatements(injectionNodeId, focusId, evidence),
|
|
162
|
+
fileEscalation: defaultFileEscalation,
|
|
163
|
+
organizationId: config.organizationId,
|
|
158
164
|
emitDriftProposal: defaultEmitDriftProposal,
|
|
159
165
|
runDeterministic: runDeterministicStrategy,
|
|
160
166
|
runAiInspection: defaultRunAiInspection,
|
|
@@ -173,6 +179,68 @@ const STRATEGIES = {
|
|
|
173
179
|
behavioral: () => runBehavioralStrategy(),
|
|
174
180
|
ai_inspection: (deps, v) => runAiInspectionStrategy(deps, v),
|
|
175
181
|
};
|
|
182
|
+
/**
|
|
183
|
+
* Build the cited-evidence bundle the achieved-DE authoring consumes. Sourced
|
|
184
|
+
* from the verification verdict (NOT the UDE problem text):
|
|
185
|
+
* - ai_inspection: the runner rationale + the delivery diff it inspected.
|
|
186
|
+
* - deterministic: the check exit code + stdout/stderr tails, plus the diff
|
|
187
|
+
* against integration (fetched best-effort; an empty diff just yields less
|
|
188
|
+
* evidence, it never blocks).
|
|
189
|
+
*/
|
|
190
|
+
function buildVerifyEvidence(result, v, deps) {
|
|
191
|
+
let diff = result.deliveryDiff ?? '';
|
|
192
|
+
if (diff === '') {
|
|
193
|
+
try {
|
|
194
|
+
diff = getGitDiff(deps.resolveCwd(v.productId), deps.integrationBranch);
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
// best-effort: no diff is fine, the other evidence slots still carry signal
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
diff: diff || undefined,
|
|
202
|
+
testStdout: result.stdoutTail,
|
|
203
|
+
testStderr: result.stderrTail,
|
|
204
|
+
exitCode: result.exitCode,
|
|
205
|
+
inspectionRationale: result.inspection?.rationale,
|
|
206
|
+
verdictRationale: result.rationale,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* File one human escalation carrying the declared-vs-achieved gap for the
|
|
211
|
+
* injection's shortfall target(s). Best-effort: a failure to escalate must not
|
|
212
|
+
* crash the tick (the gate is already held by the demoted 'failed' outcome).
|
|
213
|
+
*/
|
|
214
|
+
async function escalateShortfalls(v, shortfalls, deps) {
|
|
215
|
+
const lines = shortfalls.map((s) => `- node ${s.nodeId}\n declared: ${s.declaredStatement}\n achieved: ${s.achievedStatement}\n shortfall: ${s.reason}`);
|
|
216
|
+
try {
|
|
217
|
+
await deps.fileEscalation({
|
|
218
|
+
organizationId: deps.organizationId,
|
|
219
|
+
...(v.focusId ? { focusId: v.focusId } : {}),
|
|
220
|
+
...(v.productId ? { productId: v.productId } : {}),
|
|
221
|
+
reason: `Verify reconciliation: achieved outcome falls short of declared intent ` +
|
|
222
|
+
`for injection ${v.injectionNodeId} (delivery "${v.deliveryName}"). ` +
|
|
223
|
+
`The flip was withheld -- reality is not lowered to match a lesser intent. ` +
|
|
224
|
+
`Declared-vs-achieved gap(s):\n${lines.join('\n')}`,
|
|
225
|
+
reasonType: ESCALATION_REASONS.DECISION_NEEDED,
|
|
226
|
+
disposition: ESCALATION_DISPOSITIONS.NEEDS_INTENT,
|
|
227
|
+
kind: 'verify_shortfall',
|
|
228
|
+
details: {
|
|
229
|
+
injection_node_id: v.injectionNodeId,
|
|
230
|
+
delivery_id: v.deliveryId,
|
|
231
|
+
shortfalls: shortfalls.map((s) => ({
|
|
232
|
+
node_id: s.nodeId,
|
|
233
|
+
declared: s.declaredStatement,
|
|
234
|
+
achieved: s.achievedStatement,
|
|
235
|
+
reason: s.reason,
|
|
236
|
+
})),
|
|
237
|
+
},
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
catch (err) {
|
|
241
|
+
console.warn(`[verification] shortfall escalation failed for delivery ${v.deliveryId}:`, err.message);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
176
244
|
/**
|
|
177
245
|
* Run verification for a single delivery.
|
|
178
246
|
*
|
|
@@ -220,27 +288,53 @@ export async function runVerificationForDelivery(v, deps) {
|
|
|
220
288
|
// every passing delivery. The gate is best-effort defense in depth.
|
|
221
289
|
}
|
|
222
290
|
if (securityGatePassed) {
|
|
223
|
-
//
|
|
224
|
-
//
|
|
225
|
-
//
|
|
226
|
-
//
|
|
227
|
-
//
|
|
228
|
-
//
|
|
291
|
+
// Reconcile declared intent vs achieved outcome for this injection's UDE
|
|
292
|
+
// targets. The achieved desired effect is authored from the CITED worktree
|
|
293
|
+
// EVIDENCE (diff/tests/inspection), NOT the UDE problem text; each target is
|
|
294
|
+
// classified match / legitimate_divergence / shortfall.
|
|
295
|
+
//
|
|
296
|
+
// ASYMMETRY: a shortfall is NEVER carried into verify and NEVER softens the
|
|
297
|
+
// declared DE. If ANY target falls short, we hold the gate (demote to
|
|
298
|
+
// 'failed'), skip the flip, and escalate the gap to a human. Reality is
|
|
299
|
+
// moved toward intent, never the reverse.
|
|
229
300
|
let restatements = [];
|
|
301
|
+
let shortfalls = [];
|
|
230
302
|
if (deps.authorTargetRestatements) {
|
|
303
|
+
const evidence = buildVerifyEvidence(result, v, deps);
|
|
231
304
|
try {
|
|
232
|
-
|
|
305
|
+
const reconciled = await deps.authorTargetRestatements(v.injectionNodeId, v.focusId, evidence);
|
|
306
|
+
restatements = reconciled.restatements;
|
|
307
|
+
shortfalls = reconciled.shortfalls;
|
|
233
308
|
}
|
|
234
309
|
catch (err) {
|
|
235
|
-
|
|
310
|
+
// A reconciliation we could not run at all is asymmetric-unsafe: do not
|
|
311
|
+
// flip an injection whose achievement we could not verify. Treat the
|
|
312
|
+
// whole injection as a shortfall and hold the gate.
|
|
313
|
+
console.warn(`[verification] verify-time reconciliation failed for ${v.injectionNodeId}:`, err.message);
|
|
314
|
+
shortfalls = [{
|
|
315
|
+
nodeId: v.injectionNodeId,
|
|
316
|
+
declaredStatement: '(unknown -- reconciliation failed)',
|
|
317
|
+
achievedStatement: '(reconciliation failed)',
|
|
318
|
+
reason: `Reconciliation failed: ${err.message}`,
|
|
319
|
+
}];
|
|
236
320
|
}
|
|
237
321
|
}
|
|
238
|
-
|
|
239
|
-
|
|
322
|
+
if (shortfalls.length > 0) {
|
|
323
|
+
// Hold the gate, do NOT flip, escalate the declared-vs-achieved gap.
|
|
324
|
+
result.outcome = 'failed';
|
|
325
|
+
result.rationale =
|
|
326
|
+
`verify reconciliation found ${shortfalls.length} shortfall(s) vs declared intent; ` +
|
|
327
|
+
`injection ${v.injectionNodeId} not flipped (escalated to human)`;
|
|
328
|
+
await escalateShortfalls(v, shortfalls, deps);
|
|
240
329
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
330
|
+
else {
|
|
331
|
+
try {
|
|
332
|
+
await deps.verifyInjection(v.injectionNodeId, restatements);
|
|
333
|
+
}
|
|
334
|
+
catch (err) {
|
|
335
|
+
result.outcome = 'pending';
|
|
336
|
+
result.rationale = `verifyInjection failed for ${v.injectionNodeId}: ${err.message}`;
|
|
337
|
+
}
|
|
244
338
|
}
|
|
245
339
|
}
|
|
246
340
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-engine.js","sourceRoot":"","sources":["../src/verification-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verification-engine.js","sourceRoot":"","sources":["../src/verification-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify-time reconciliation: declared intent vs achieved outcome.
|
|
3
|
+
*
|
|
4
|
+
* Under the differential-focus model a flip is no longer a polarity rewrite of
|
|
5
|
+
* the UDE prose. At verify, the daemon must:
|
|
6
|
+
*
|
|
7
|
+
* 1. Re-derive the ACHIEVED desired effect from CITED worktree EVIDENCE
|
|
8
|
+
* (diff, test output, AI-inspection finding) -- NOT by re-reading the
|
|
9
|
+
* targeted UDE's problem statement. The achieved DE describes what the
|
|
10
|
+
* evidence shows was actually accomplished.
|
|
11
|
+
* 2. Compare the achieved DE against the DECLARED desired effect
|
|
12
|
+
* (node.frtStatement, preserved permanently) and classify the gap:
|
|
13
|
+
* - match -- the achieved outcome realizes the declared intent.
|
|
14
|
+
* - legitimate_divergence-- a valid but different outcome (carries a reason).
|
|
15
|
+
* - shortfall -- the achieved outcome falls short of the intent.
|
|
16
|
+
*
|
|
17
|
+
* Reality is asymmetric: it moves toward intent, never the reverse. So this
|
|
18
|
+
* module NEVER softens the declared DE to match a lesser achievement. On a
|
|
19
|
+
* shortfall the caller short-circuits the flip and escalates to a human.
|
|
20
|
+
*
|
|
21
|
+
* The judgment is a SINGLE model call producing {achievedStatement,
|
|
22
|
+
* classification, divergenceReason?}. It reuses the same `claude` CLI print-mode
|
|
23
|
+
* plumbing as the de-restatement helper -- no new client or secret wiring.
|
|
24
|
+
*
|
|
25
|
+
* @module verify-reconciliation
|
|
26
|
+
*/
|
|
27
|
+
import { type RestatementOptions } from './de-restatement.js';
|
|
28
|
+
/** How the achieved effect compares to the declared desired effect. */
|
|
29
|
+
export type VerifyClassification = 'match' | 'legitimate_divergence' | 'shortfall';
|
|
30
|
+
/** Cited worktree evidence the achieved desired effect is derived from. */
|
|
31
|
+
export interface VerifyEvidence {
|
|
32
|
+
/** Delivery diff against the integration branch, when available. */
|
|
33
|
+
diff?: string;
|
|
34
|
+
/** Captured stdout from a deterministic check (tests/lint/types). */
|
|
35
|
+
testStdout?: string;
|
|
36
|
+
/** Captured stderr from a deterministic check. */
|
|
37
|
+
testStderr?: string;
|
|
38
|
+
/** Exit code of a deterministic check, when run. */
|
|
39
|
+
exitCode?: number | null;
|
|
40
|
+
/** Rationale produced by an ai_inspection runner, when used. */
|
|
41
|
+
inspectionRationale?: string;
|
|
42
|
+
/** Free-form rationale string carried on the verification verdict. */
|
|
43
|
+
verdictRationale?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface ReconcileInputs {
|
|
46
|
+
/** The DECLARED desired effect (node.frtStatement, preserved). */
|
|
47
|
+
declaredStatement: string;
|
|
48
|
+
/** Cited worktree evidence; the achieved DE is derived from THIS, not the UDE. */
|
|
49
|
+
evidence: VerifyEvidence;
|
|
50
|
+
}
|
|
51
|
+
export interface ReconcileJudgment {
|
|
52
|
+
/** The ACHIEVED desired effect, authored from the cited evidence. */
|
|
53
|
+
achievedStatement: string;
|
|
54
|
+
classification: VerifyClassification;
|
|
55
|
+
/** Populated only on legitimate_divergence / shortfall: what the gap is. */
|
|
56
|
+
divergenceReason?: string;
|
|
57
|
+
}
|
|
58
|
+
export type ReconcileOptions = RestatementOptions;
|
|
59
|
+
export declare const RECONCILE_SYSTEM_PROMPT = "You reconcile a software delivery's DECLARED desired effect against what its worktree EVIDENCE actually shows was accomplished, for a Goldratt reality-tree flip.\n\nYou will be 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- EVIDENCE from the worktree: the code diff, test/lint/type output, and/or an inspection finding. This is the only ground truth for what was actually achieved.\n\nDo TWO things:\n1. Author the ACHIEVED desired effect: ONE concrete positive sentence describing what the EVIDENCE shows was accomplished. Derive it from the evidence, NOT from the declared sentence -- if the evidence accomplished something different from or narrower than the declaration, the achieved sentence must say what the evidence shows, not echo the declaration.\n2. Classify how the achieved outcome compares to the declared desired effect:\n - \"match\": the achieved outcome realizes the declared intent.\n - \"legitimate_divergence\": the achieved outcome differs from the declared intent but is a valid, defensible result (e.g. a better approach, an equivalent substitution). Give a one-sentence reason naming the gap.\n - \"shortfall\": the achieved outcome falls short of the declared intent -- it does less, is incomplete, or the evidence does not support the declaration. Give a one-sentence reason naming what is missing.\n\nRespond with ONE JSON object and nothing else:\n{\"achievedStatement\": \"<one sentence>\", \"classification\": \"match\" | \"legitimate_divergence\" | \"shortfall\", \"divergenceReason\": \"<one sentence, omit or empty when classification is match>\"}";
|
|
60
|
+
export declare function buildReconcileSystemPrompt(): string;
|
|
61
|
+
/** Render the cited evidence into the user message. Evidence-only -- the UDE text is never included. */
|
|
62
|
+
export declare function buildReconcileUserMessage(inputs: ReconcileInputs): string;
|
|
63
|
+
/** True when the evidence bundle carries no usable signal. */
|
|
64
|
+
export declare function evidenceIsEmpty(ev: VerifyEvidence): boolean;
|
|
65
|
+
/** Parse the model's JSON judgment. Tolerates code fences / surrounding prose. */
|
|
66
|
+
export declare function parseReconcileJson(raw: string): ReconcileJudgment | null;
|
|
67
|
+
/**
|
|
68
|
+
* Reconcile the declared desired effect against the cited evidence.
|
|
69
|
+
*
|
|
70
|
+
* Single model call. Throws on model-invocation or parse failure; the verify
|
|
71
|
+
* caller catches and treats a reconciliation failure conservatively (it does
|
|
72
|
+
* NOT flip an injection it could not reconcile).
|
|
73
|
+
*/
|
|
74
|
+
export declare function reconcileAchievedEffect(inputs: ReconcileInputs, opts?: ReconcileOptions): Promise<ReconcileJudgment>;
|
|
75
|
+
//# sourceMappingURL=verify-reconciliation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-reconciliation.d.ts","sourceRoot":"","sources":["../src/verify-reconciliation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,uEAAuE;AACvE,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,uBAAuB,GAAG,WAAW,CAAC;AAEnF,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,oBAAoB,CAAC;IACrC,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAElD,eAAO,MAAM,uBAAuB,gpDAcyJ,CAAC;AAE9L,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAED,wGAAwG;AACxG,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAkCzE;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAQ3D;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAgDxE;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAkB5B"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify-time reconciliation: declared intent vs achieved outcome.
|
|
3
|
+
*
|
|
4
|
+
* Under the differential-focus model a flip is no longer a polarity rewrite of
|
|
5
|
+
* the UDE prose. At verify, the daemon must:
|
|
6
|
+
*
|
|
7
|
+
* 1. Re-derive the ACHIEVED desired effect from CITED worktree EVIDENCE
|
|
8
|
+
* (diff, test output, AI-inspection finding) -- NOT by re-reading the
|
|
9
|
+
* targeted UDE's problem statement. The achieved DE describes what the
|
|
10
|
+
* evidence shows was actually accomplished.
|
|
11
|
+
* 2. Compare the achieved DE against the DECLARED desired effect
|
|
12
|
+
* (node.frtStatement, preserved permanently) and classify the gap:
|
|
13
|
+
* - match -- the achieved outcome realizes the declared intent.
|
|
14
|
+
* - legitimate_divergence-- a valid but different outcome (carries a reason).
|
|
15
|
+
* - shortfall -- the achieved outcome falls short of the intent.
|
|
16
|
+
*
|
|
17
|
+
* Reality is asymmetric: it moves toward intent, never the reverse. So this
|
|
18
|
+
* module NEVER softens the declared DE to match a lesser achievement. On a
|
|
19
|
+
* shortfall the caller short-circuits the flip and escalates to a human.
|
|
20
|
+
*
|
|
21
|
+
* The judgment is a SINGLE model call producing {achievedStatement,
|
|
22
|
+
* classification, divergenceReason?}. It reuses the same `claude` CLI print-mode
|
|
23
|
+
* plumbing as the de-restatement helper -- no new client or secret wiring.
|
|
24
|
+
*
|
|
25
|
+
* @module verify-reconciliation
|
|
26
|
+
*/
|
|
27
|
+
import { invokeClaudeCli, } from './de-restatement.js';
|
|
28
|
+
export const RECONCILE_SYSTEM_PROMPT = `You reconcile a software delivery's DECLARED desired effect against what its worktree EVIDENCE actually shows was accomplished, for a Goldratt reality-tree flip.
|
|
29
|
+
|
|
30
|
+
You will be given:
|
|
31
|
+
- The DECLARED desired effect: the outcome the work was supposed to realize. This is the intent of record. Do NOT lower it.
|
|
32
|
+
- EVIDENCE from the worktree: the code diff, test/lint/type output, and/or an inspection finding. This is the only ground truth for what was actually achieved.
|
|
33
|
+
|
|
34
|
+
Do TWO things:
|
|
35
|
+
1. Author the ACHIEVED desired effect: ONE concrete positive sentence describing what the EVIDENCE shows was accomplished. Derive it from the evidence, NOT from the declared sentence -- if the evidence accomplished something different from or narrower than the declaration, the achieved sentence must say what the evidence shows, not echo the declaration.
|
|
36
|
+
2. Classify how the achieved outcome compares to the declared desired effect:
|
|
37
|
+
- "match": the achieved outcome realizes the declared intent.
|
|
38
|
+
- "legitimate_divergence": the achieved outcome differs from the declared intent but is a valid, defensible result (e.g. a better approach, an equivalent substitution). Give a one-sentence reason naming the gap.
|
|
39
|
+
- "shortfall": the achieved outcome falls short of the declared intent -- it does less, is incomplete, or the evidence does not support the declaration. Give a one-sentence reason naming what is missing.
|
|
40
|
+
|
|
41
|
+
Respond with ONE JSON object and nothing else:
|
|
42
|
+
{"achievedStatement": "<one sentence>", "classification": "match" | "legitimate_divergence" | "shortfall", "divergenceReason": "<one sentence, omit or empty when classification is match>"}`;
|
|
43
|
+
export function buildReconcileSystemPrompt() {
|
|
44
|
+
return RECONCILE_SYSTEM_PROMPT;
|
|
45
|
+
}
|
|
46
|
+
/** Render the cited evidence into the user message. Evidence-only -- the UDE text is never included. */
|
|
47
|
+
export function buildReconcileUserMessage(inputs) {
|
|
48
|
+
const parts = [`Declared desired effect:\n${inputs.declaredStatement}`];
|
|
49
|
+
const ev = inputs.evidence;
|
|
50
|
+
const evidenceSections = [];
|
|
51
|
+
if (ev.diff && ev.diff.trim() !== '') {
|
|
52
|
+
evidenceSections.push(`Code diff (against integration):\n${ev.diff}`);
|
|
53
|
+
}
|
|
54
|
+
if (typeof ev.exitCode === 'number') {
|
|
55
|
+
evidenceSections.push(`Deterministic check exit code: ${ev.exitCode}`);
|
|
56
|
+
}
|
|
57
|
+
if (ev.testStdout && ev.testStdout.trim() !== '') {
|
|
58
|
+
evidenceSections.push(`Check stdout:\n${ev.testStdout}`);
|
|
59
|
+
}
|
|
60
|
+
if (ev.testStderr && ev.testStderr.trim() !== '') {
|
|
61
|
+
evidenceSections.push(`Check stderr:\n${ev.testStderr}`);
|
|
62
|
+
}
|
|
63
|
+
if (ev.inspectionRationale && ev.inspectionRationale.trim() !== '') {
|
|
64
|
+
evidenceSections.push(`Inspection finding:\n${ev.inspectionRationale}`);
|
|
65
|
+
}
|
|
66
|
+
if (ev.verdictRationale && ev.verdictRationale.trim() !== '') {
|
|
67
|
+
evidenceSections.push(`Verdict rationale:\n${ev.verdictRationale}`);
|
|
68
|
+
}
|
|
69
|
+
if (evidenceSections.length > 0) {
|
|
70
|
+
parts.push(`Evidence from the worktree:\n\n${evidenceSections.join('\n\n')}`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
parts.push('Evidence from the worktree:\n\n(no evidence captured)');
|
|
74
|
+
}
|
|
75
|
+
parts.push('Author the ACHIEVED desired-effect sentence from the EVIDENCE above (not from the declared sentence), then classify it against the declared desired effect. Respond with the JSON object only.');
|
|
76
|
+
return parts.join('\n\n');
|
|
77
|
+
}
|
|
78
|
+
/** True when the evidence bundle carries no usable signal. */
|
|
79
|
+
export function evidenceIsEmpty(ev) {
|
|
80
|
+
const hasText = (ev.diff && ev.diff.trim() !== '') ||
|
|
81
|
+
(ev.testStdout && ev.testStdout.trim() !== '') ||
|
|
82
|
+
(ev.testStderr && ev.testStderr.trim() !== '') ||
|
|
83
|
+
(ev.inspectionRationale && ev.inspectionRationale.trim() !== '') ||
|
|
84
|
+
(ev.verdictRationale && ev.verdictRationale.trim() !== '');
|
|
85
|
+
return !hasText && typeof ev.exitCode !== 'number';
|
|
86
|
+
}
|
|
87
|
+
/** Parse the model's JSON judgment. Tolerates code fences / surrounding prose. */
|
|
88
|
+
export function parseReconcileJson(raw) {
|
|
89
|
+
const stripped = raw.replace(/```(?:json)?\s*/g, '').replace(/```/g, '');
|
|
90
|
+
const firstBrace = stripped.indexOf('{');
|
|
91
|
+
if (firstBrace < 0)
|
|
92
|
+
return null;
|
|
93
|
+
let depth = 0;
|
|
94
|
+
let endIdx = -1;
|
|
95
|
+
for (let i = firstBrace; i < stripped.length; i += 1) {
|
|
96
|
+
const ch = stripped[i];
|
|
97
|
+
if (ch === '{')
|
|
98
|
+
depth += 1;
|
|
99
|
+
else if (ch === '}') {
|
|
100
|
+
depth -= 1;
|
|
101
|
+
if (depth === 0) {
|
|
102
|
+
endIdx = i;
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (endIdx < 0)
|
|
108
|
+
return null;
|
|
109
|
+
let parsed;
|
|
110
|
+
try {
|
|
111
|
+
parsed = JSON.parse(stripped.slice(firstBrace, endIdx + 1));
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
if (!parsed || typeof parsed !== 'object')
|
|
117
|
+
return null;
|
|
118
|
+
const obj = parsed;
|
|
119
|
+
const achieved = typeof obj.achievedStatement === 'string' ? obj.achievedStatement.trim() : '';
|
|
120
|
+
if (achieved === '')
|
|
121
|
+
return null;
|
|
122
|
+
const classification = obj.classification;
|
|
123
|
+
if (classification !== 'match' &&
|
|
124
|
+
classification !== 'legitimate_divergence' &&
|
|
125
|
+
classification !== 'shortfall') {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
const reasonRaw = typeof obj.divergenceReason === 'string' ? obj.divergenceReason.trim() : '';
|
|
129
|
+
const judgment = {
|
|
130
|
+
achievedStatement: achieved,
|
|
131
|
+
classification,
|
|
132
|
+
};
|
|
133
|
+
if (classification !== 'match' && reasonRaw !== '') {
|
|
134
|
+
judgment.divergenceReason = reasonRaw;
|
|
135
|
+
}
|
|
136
|
+
return judgment;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Reconcile the declared desired effect against the cited evidence.
|
|
140
|
+
*
|
|
141
|
+
* Single model call. Throws on model-invocation or parse failure; the verify
|
|
142
|
+
* caller catches and treats a reconciliation failure conservatively (it does
|
|
143
|
+
* NOT flip an injection it could not reconcile).
|
|
144
|
+
*/
|
|
145
|
+
export async function reconcileAchievedEffect(inputs, opts = {}) {
|
|
146
|
+
const systemPrompt = buildReconcileSystemPrompt();
|
|
147
|
+
const userMessage = buildReconcileUserMessage(inputs);
|
|
148
|
+
const invoke = opts.invokeModel ?? ((sys, msg) => invokeClaudeCli(sys, msg, opts));
|
|
149
|
+
const raw = await invoke(systemPrompt, userMessage);
|
|
150
|
+
const judgment = parseReconcileJson(raw);
|
|
151
|
+
if (!judgment) {
|
|
152
|
+
throw new Error('verify-reconciliation produced no parseable judgment');
|
|
153
|
+
}
|
|
154
|
+
// A divergence/shortfall with no reason still classifies; backfill a generic
|
|
155
|
+
// reason so the downstream record/escalation always carries one.
|
|
156
|
+
if (judgment.classification !== 'match' && !judgment.divergenceReason) {
|
|
157
|
+
judgment.divergenceReason =
|
|
158
|
+
judgment.classification === 'shortfall'
|
|
159
|
+
? 'Achieved outcome falls short of the declared desired effect.'
|
|
160
|
+
: 'Achieved outcome diverges from the declared desired effect.';
|
|
161
|
+
}
|
|
162
|
+
return judgment;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=verify-reconciliation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-reconciliation.js","sourceRoot":"","sources":["../src/verify-reconciliation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +1,99 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Verify-time desired-effect
|
|
2
|
+
* Verify-time desired-effect reconciliation.
|
|
3
3
|
*
|
|
4
4
|
* When the verification engine produces a 'passed' verdict for an injection,
|
|
5
|
-
* it
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* a per-tick reconciliation scan.
|
|
5
|
+
* it reconciles the DECLARED desired effect (the UDE's preserved frt_statement,
|
|
6
|
+
* authored at target time) against the ACHIEVED desired effect re-derived from
|
|
7
|
+
* the delivery's CITED worktree EVIDENCE (diff, test output, inspection finding)
|
|
8
|
+
* -- NOT from the targeted UDE's problem text. Each targeted UDE gets a
|
|
9
|
+
* classification:
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* - match -- the achieved outcome realizes the declared intent.
|
|
12
|
+
* - legitimate_divergence -- a valid but different outcome (carries a reason).
|
|
13
|
+
* - shortfall -- the achieved outcome falls short of the intent.
|
|
14
|
+
*
|
|
15
|
+
* match / legitimate_divergence are carried INTO the verify call as the UDE's
|
|
16
|
+
* new base statement (+ classification + reason). The edge applies the supplied
|
|
17
|
+
* prose; it never runs the LLM.
|
|
18
|
+
*
|
|
19
|
+
* ASYMMETRY: a shortfall is NEVER carried into verify and NEVER softens the
|
|
20
|
+
* declared DE. The caller short-circuits the flip and escalates to a human --
|
|
21
|
+
* reality is moved toward intent, never the reverse. Shortfalls are returned
|
|
22
|
+
* here so the caller can hold the gate and file the escalation.
|
|
23
|
+
*
|
|
24
|
+
* Reuses the de-restatement CLI plumbing via verify-reconciliation (no new
|
|
25
|
+
* client or secret wiring).
|
|
15
26
|
*
|
|
16
27
|
* @module verify-restatement
|
|
17
28
|
*/
|
|
18
|
-
import { type
|
|
19
|
-
|
|
29
|
+
import { type ReconcileInputs, type ReconcileJudgment, type ReconcileOptions, type VerifyEvidence } from './verify-reconciliation.js';
|
|
30
|
+
export type { VerifyEvidence } from './verify-reconciliation.js';
|
|
31
|
+
/**
|
|
32
|
+
* Per-target reconciled statement carried into the verify call. Only ever
|
|
33
|
+
* holds match / legitimate_divergence (shortfalls are excluded by construction
|
|
34
|
+
* -- they are returned separately as `shortfalls`).
|
|
35
|
+
*/
|
|
20
36
|
export interface TargetRestatement {
|
|
21
37
|
nodeId: string;
|
|
38
|
+
/** The ACHIEVED desired effect, authored from evidence. */
|
|
22
39
|
statement: string;
|
|
40
|
+
classification: 'match' | 'legitimate_divergence';
|
|
41
|
+
/** Populated on legitimate_divergence: what the gap is. */
|
|
42
|
+
divergenceReason?: string;
|
|
43
|
+
}
|
|
44
|
+
/** A targeted UDE whose achieved outcome fell short of the declared desired effect. */
|
|
45
|
+
export interface TargetShortfall {
|
|
46
|
+
nodeId: string;
|
|
47
|
+
/** The DECLARED desired effect (preserved, never softened). */
|
|
48
|
+
declaredStatement: string;
|
|
49
|
+
/** The ACHIEVED desired effect, authored from evidence. */
|
|
50
|
+
achievedStatement: string;
|
|
51
|
+
/** Why the achieved outcome falls short. */
|
|
52
|
+
reason: string;
|
|
23
53
|
}
|
|
24
|
-
export
|
|
54
|
+
export interface ReconcileTargetsResult {
|
|
55
|
+
/** match / legitimate_divergence -- safe to carry into verify. */
|
|
56
|
+
restatements: TargetRestatement[];
|
|
57
|
+
/** shortfalls -- the caller must hold the gate and escalate. */
|
|
58
|
+
shortfalls: TargetShortfall[];
|
|
59
|
+
}
|
|
60
|
+
export type ReconcileFn = (inputs: ReconcileInputs, opts?: ReconcileOptions) => Promise<ReconcileJudgment>;
|
|
25
61
|
export interface AuthorTargetRestatementsDeps {
|
|
26
62
|
callApi?: <T>(action: string, params?: Record<string, unknown>) => Promise<T>;
|
|
27
|
-
/**
|
|
28
|
-
|
|
63
|
+
/** Reconciles declared-vs-achieved and classifies. Defaults to the verify-reconciliation helper. */
|
|
64
|
+
reconcile?: ReconcileFn;
|
|
29
65
|
}
|
|
30
66
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
67
|
+
* Reconcile the achieved outcome against the declared desired effect for each
|
|
68
|
+
* UDE the injection targets.
|
|
69
|
+
*
|
|
70
|
+
* For each targeted UDE:
|
|
71
|
+
* - The DECLARED desired effect is the UDE's preserved `frtStatement` (intent
|
|
72
|
+
* of record). When absent, there is no declared intent to fall short of, so
|
|
73
|
+
* the achieved DE authored from evidence is treated as a match.
|
|
74
|
+
* - The ACHIEVED desired effect is authored from the supplied `evidence`
|
|
75
|
+
* (diff/tests/inspection), NOT from the UDE problem text.
|
|
76
|
+
* - The judgment classifies match / legitimate_divergence / shortfall.
|
|
77
|
+
*
|
|
78
|
+
* match / legitimate_divergence -> `restatements` (carried into verify).
|
|
79
|
+
* shortfall -> `shortfalls` (caller holds gate + escalates).
|
|
80
|
+
*
|
|
81
|
+
* Best-effort per target: a reconciliation FAILURE (model error / parse error)
|
|
82
|
+
* is treated as a SHORTFALL -- we cannot prove the achieved outcome realizes the
|
|
83
|
+
* declared intent, so we do not flip it and we surface it to a human. (This is
|
|
84
|
+
* the asymmetric-safe default: never flip what you could not reconcile.)
|
|
85
|
+
*
|
|
86
|
+
* SCOPE BOUNDARY (intentional): this reconciles ONLY the UDEs the injection
|
|
87
|
+
* DIRECTLY targets (its `targets` edges). Downstream consequences that resolve
|
|
88
|
+
* by causal PROPAGATION at verify are NOT reconciled here -- they have no
|
|
89
|
+
* declared DE to measure against, and their forward prose is authored by the
|
|
90
|
+
* injection-conditioned draft-assist loop (cascade-restatement.ts), not from raw
|
|
91
|
+
* code evidence. Verify flips their node_type but leaves verify_classification
|
|
92
|
+
* null; display falls back to the draft-assist frt_statement. See the matching
|
|
93
|
+
* note in graph-verification.ts (verifyInjectionImpl, Step 6).
|
|
94
|
+
*
|
|
95
|
+
* Returns empty result when focusId is null or the injection is not in the
|
|
96
|
+
* focus's active tree(s).
|
|
43
97
|
*/
|
|
44
|
-
export declare function authorTargetRestatements(injectionNodeId: string, focusId: string | null, deps?: AuthorTargetRestatementsDeps): Promise<
|
|
98
|
+
export declare function authorTargetRestatements(injectionNodeId: string, focusId: string | null, evidence: VerifyEvidence, deps?: AuthorTargetRestatementsDeps): Promise<ReconcileTargetsResult>;
|
|
45
99
|
//# sourceMappingURL=verify-restatement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-restatement.d.ts","sourceRoot":"","sources":["../src/verify-restatement.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"verify-restatement.d.ts","sourceRoot":"","sources":["../src/verify-restatement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AASpC,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAClD,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,gEAAgE;IAChE,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,MAAM,EAAE,eAAe,EACvB,IAAI,CAAC,EAAE,gBAAgB,KACpB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhC,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,oGAAoG;IACpG,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,wBAAwB,CAC5C,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,QAAQ,EAAE,cAAc,EACxB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC,sBAAsB,CAAC,CAiFjC"}
|