loopforge 3.7.0 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +171 -157
- package/dist/audit.d.ts +53 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +106 -22
- package/dist/audit.js.map +1 -1
- package/dist/canonical-state.d.ts +75 -69
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +276 -168
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +111 -12
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-facts.d.ts +13 -0
- package/dist/cognitive-facts.d.ts.map +1 -1
- package/dist/cognitive-facts.js +30 -16
- package/dist/cognitive-facts.js.map +1 -1
- package/dist/cognitive-governance.d.ts +30 -6
- package/dist/cognitive-governance.d.ts.map +1 -1
- package/dist/cognitive-governance.js +74 -18
- package/dist/cognitive-governance.js.map +1 -1
- package/dist/committed-round.d.ts +109 -24
- package/dist/committed-round.d.ts.map +1 -1
- package/dist/committed-round.js +235 -52
- package/dist/committed-round.js.map +1 -1
- package/dist/contract-items.d.ts +55 -0
- package/dist/contract-items.d.ts.map +1 -0
- package/dist/contract-items.js +180 -0
- package/dist/contract-items.js.map +1 -0
- package/dist/enforcement-gate.d.ts +43 -20
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +269 -378
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +11 -6
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +102 -67
- package/dist/engine.js.map +1 -1
- package/dist/evidence-claims.d.ts +4 -4
- package/dist/evidence-claims.d.ts.map +1 -1
- package/dist/evidence-claims.js +16 -14
- package/dist/evidence-claims.js.map +1 -1
- package/dist/evidence-provider.d.ts +91 -90
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +349 -160
- package/dist/evidence-provider.js.map +1 -1
- package/dist/explain.d.ts +76 -0
- package/dist/explain.d.ts.map +1 -0
- package/dist/explain.js +127 -0
- package/dist/explain.js.map +1 -0
- package/dist/generate-schema.js +250 -53
- package/dist/generate-schema.js.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +41 -40
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +275 -515
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-extras-parser.d.ts +0 -1
- package/dist/loop-extras-parser.d.ts.map +1 -1
- package/dist/loop-extras-parser.js +0 -4
- package/dist/loop-extras-parser.js.map +1 -1
- package/dist/loop-projection.d.ts.map +1 -1
- package/dist/loop-projection.js +3 -1
- package/dist/loop-projection.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +40 -21
- package/dist/mcp/round-lifecycle.d.ts.map +1 -1
- package/dist/mcp/round-lifecycle.js +173 -120
- package/dist/mcp/round-lifecycle.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +63 -10
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +53 -7
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +240 -139
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/submission-boundary.d.ts +89 -0
- package/dist/mcp/submission-boundary.d.ts.map +1 -0
- package/dist/mcp/submission-boundary.js +203 -0
- package/dist/mcp/submission-boundary.js.map +1 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +377 -125
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.js +2 -2
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +65 -95
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +151 -39
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts +7 -33
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +313 -473
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/prompt-policy.d.ts +1 -4
- package/dist/prompt-policy.d.ts.map +1 -1
- package/dist/prompt-policy.js +6 -7
- package/dist/prompt-policy.js.map +1 -1
- package/dist/protocol.d.ts +411 -168
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +23 -69
- package/dist/protocol.js.map +1 -1
- package/dist/replay.js +2 -2
- package/dist/replay.js.map +1 -1
- package/dist/round-contract.d.ts +69 -57
- package/dist/round-contract.d.ts.map +1 -1
- package/dist/round-contract.js +104 -64
- package/dist/round-contract.js.map +1 -1
- package/dist/round-coordinator.d.ts +55 -16
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +179 -57
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +7 -5
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +2 -1
- package/dist/round-driver.js.map +1 -1
- package/dist/round-facts.d.ts +96 -0
- package/dist/round-facts.d.ts.map +1 -0
- package/dist/round-facts.js +216 -0
- package/dist/round-facts.js.map +1 -0
- package/dist/round-transaction.d.ts +23 -9
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +99 -22
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +127 -11
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +517 -36
- package/dist/self-eval.js.map +1 -1
- package/dist/subgoal-state.d.ts +77 -0
- package/dist/subgoal-state.d.ts.map +1 -0
- package/dist/subgoal-state.js +198 -0
- package/dist/subgoal-state.js.map +1 -0
- package/dist/token-utils.d.ts +52 -19
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +83 -72
- package/dist/token-utils.js.map +1 -1
- package/dist/verification-gate.d.ts +27 -46
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +308 -557
- package/dist/verification-gate.js.map +1 -1
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/dist/workspace.d.ts +9 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +17 -0
- package/dist/workspace.js.map +1 -1
- package/loop_policy.json +17 -25
- package/package.json +7 -7
- package/skills/perception/SKILL.md +266 -64
package/dist/committed-round.js
CHANGED
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* place that interprets their transaction envelope or the compiler's merged
|
|
5
5
|
* lineage representation. Consumers receive one stable, read-only view.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { PROMPT_ARTIFACT_SCHEMA_VERSION } from "./protocol.js";
|
|
8
|
+
import { ROUND_TRANSACTION_SCHEMA_VERSION, deriveRoundObservationDelta, parseRoundTransactionSnapshot, transactionSchemaVersionOf, } from "./round-transaction.js";
|
|
9
|
+
import { claimedMetCriteria, claimedRemainingCriteria, effectiveOutcome, parseRoundContract } from "./self-eval.js";
|
|
9
10
|
import { entryRound, isRecord } from "./token-utils.js";
|
|
10
11
|
function committedAction(value) {
|
|
11
12
|
return value === "continue" || value === "stop" || value === "backtrack"
|
|
@@ -29,6 +30,72 @@ function strings(value) {
|
|
|
29
30
|
? value.filter((item) => typeof item === "string")
|
|
30
31
|
: [];
|
|
31
32
|
}
|
|
33
|
+
function numbers(value) {
|
|
34
|
+
return Array.isArray(value)
|
|
35
|
+
? value.filter((item) => typeof item === "number")
|
|
36
|
+
: [];
|
|
37
|
+
}
|
|
38
|
+
function stringMap(value) {
|
|
39
|
+
if (!isRecord(value))
|
|
40
|
+
return {};
|
|
41
|
+
const out = {};
|
|
42
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
43
|
+
if (typeof entry === "string")
|
|
44
|
+
out[key] = entry;
|
|
45
|
+
}
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
/** v3.8.1: decode a rollback directive's facts from either carrier —
|
|
49
|
+
* `result.*` on a durable :feedback entry, `lineage.*` on a hydrated merged
|
|
50
|
+
* entry. Returns null when no restore point is recorded, which is also the
|
|
51
|
+
* signal that the record cannot serve as recovery guidance. */
|
|
52
|
+
export function decodeBacktrackRecord(source) {
|
|
53
|
+
const value = isRecord(source) ? source : {};
|
|
54
|
+
const target = typeof value.backtrackTarget === "number" ? value.backtrackTarget : null;
|
|
55
|
+
if (target === null)
|
|
56
|
+
return null;
|
|
57
|
+
return {
|
|
58
|
+
target,
|
|
59
|
+
triggerRule: typeof value.backtrackTriggerRule === "string"
|
|
60
|
+
? value.backtrackTriggerRule
|
|
61
|
+
: "",
|
|
62
|
+
failedRounds: numbers(value.backtrackFailedRounds),
|
|
63
|
+
approaches: strings(value.backtrackApproaches),
|
|
64
|
+
wrongAssumptions: strings(value.backtrackWrongAssumptions),
|
|
65
|
+
skippedFiles: strings(value.backtrackSkippedFiles),
|
|
66
|
+
skippedFingerprints: stringMap(value.backtrackSkippedFingerprints),
|
|
67
|
+
targetGitHead: typeof value.backtrackTargetGitHead === "string"
|
|
68
|
+
? value.backtrackTargetGitHead
|
|
69
|
+
: undefined,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/** Normalize a raw subgoal_updates value into typed entries. Decode stays
|
|
73
|
+
* tolerant of any shape (parser caps apply at ingestion; this is the
|
|
74
|
+
* read-model view of what was committed). */
|
|
75
|
+
function subGoalUpdates(value) {
|
|
76
|
+
if (!Array.isArray(value))
|
|
77
|
+
return [];
|
|
78
|
+
const out = [];
|
|
79
|
+
for (const item of value) {
|
|
80
|
+
if (typeof item !== "object" || item === null)
|
|
81
|
+
continue;
|
|
82
|
+
const u = item;
|
|
83
|
+
if (typeof u.id !== "string")
|
|
84
|
+
continue;
|
|
85
|
+
const status = u.status;
|
|
86
|
+
if (status !== "in_progress" && status !== "done" &&
|
|
87
|
+
status !== "blocked" && status !== "canceled")
|
|
88
|
+
continue;
|
|
89
|
+
out.push({
|
|
90
|
+
id: u.id,
|
|
91
|
+
status,
|
|
92
|
+
note: typeof u.note === "string" ? u.note : undefined,
|
|
93
|
+
});
|
|
94
|
+
if (out.length >= 20)
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
return out;
|
|
98
|
+
}
|
|
32
99
|
/** Decode a durable :feedback entry. Reject/terminate/in-flight envelopes are
|
|
33
100
|
* not committed history and therefore do not produce a view. */
|
|
34
101
|
export function decodeCommittedRound(entry) {
|
|
@@ -40,12 +107,18 @@ export function decodeCommittedRound(entry) {
|
|
|
40
107
|
: null;
|
|
41
108
|
if (!transaction)
|
|
42
109
|
return null;
|
|
110
|
+
// v3.8: the transaction schema is a HARD break — an envelope that does not
|
|
111
|
+
// parse (legacy version, malformed observations) is not committed history.
|
|
112
|
+
// legacyTransactionRounds() reports the loss explicitly; it is never
|
|
113
|
+
// silently decoded into a partial view.
|
|
43
114
|
const snapshot = parseRoundTransactionSnapshot(transaction.snapshot);
|
|
44
|
-
if (snapshot
|
|
115
|
+
if (!snapshot)
|
|
116
|
+
return null;
|
|
117
|
+
if (snapshot.phase !== "committed")
|
|
45
118
|
return null;
|
|
46
119
|
const resultValue = isRecord(transaction.result)
|
|
47
120
|
? transaction.result
|
|
48
|
-
: snapshot
|
|
121
|
+
: snapshot.result;
|
|
49
122
|
if (!isRecord(resultValue))
|
|
50
123
|
return null;
|
|
51
124
|
const action = committedAction(resultValue.action);
|
|
@@ -69,7 +142,7 @@ export function decodeCommittedRound(entry) {
|
|
|
69
142
|
attempt: snapshot?.attempt ?? 1,
|
|
70
143
|
promptArtifact: snapshot?.promptArtifact ?? null,
|
|
71
144
|
evaluation,
|
|
72
|
-
|
|
145
|
+
executionReport: evaluation?.execution_report ?? null,
|
|
73
146
|
verificationFlags: flags(result.verificationFlags),
|
|
74
147
|
result,
|
|
75
148
|
action,
|
|
@@ -78,18 +151,19 @@ export function decodeCommittedRound(entry) {
|
|
|
78
151
|
contractProposal: evaluation?.round_contract
|
|
79
152
|
? parseRoundContract(evaluation.round_contract) ?? null
|
|
80
153
|
: null,
|
|
154
|
+
contractBinding: snapshot?.contractBinding ?? null,
|
|
81
155
|
beforeEvidence: snapshots(snapshot?.beforeEvidence),
|
|
82
156
|
afterEvidence: snapshots(snapshot?.afterEvidence),
|
|
83
|
-
|
|
157
|
+
observationDelta: deriveRoundObservationDelta(snapshots(snapshot?.beforeEvidence), snapshots(snapshot?.afterEvidence)),
|
|
158
|
+
evidenceIncomplete: (snapshot?.afterEvidence?.length ?? 0) === 0,
|
|
84
159
|
outputSummary: evaluation?.output_summary,
|
|
85
160
|
constraintViolations: strings(evaluation?.constraint_violations),
|
|
86
161
|
discoveredConstraints: strings(evaluation?.discovered_constraints),
|
|
87
162
|
activeConstraints: strings(lineage?.constraints_active),
|
|
88
163
|
retractedConstraints: strings(evaluation?.retracted_constraints),
|
|
89
164
|
emergedSubtasks: strings(evaluation?.emerged_subtasks),
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
canceledSubtasks: strings(evaluation?.canceled_subtasks),
|
|
165
|
+
subgoalUpdates: subGoalUpdates(evaluation?.subgoal_updates),
|
|
166
|
+
backtrack: action === "backtrack" ? decodeBacktrackRecord(resultValue) : null,
|
|
93
167
|
};
|
|
94
168
|
}
|
|
95
169
|
/** Decode an in-memory lineage entry after the engine merged its committed
|
|
@@ -118,11 +192,11 @@ export function decodeMergedRound(entry) {
|
|
|
118
192
|
const evaluationKeys = [
|
|
119
193
|
"success", "output_summary", "constraint_violations", "should_continue",
|
|
120
194
|
"discovered_constraints", "objective_refinement", "emerged_subtasks",
|
|
121
|
-
"
|
|
195
|
+
"execution_report", "retracted_constraints", "revised_success_criteria",
|
|
122
196
|
"wrong_assumptions", "worker_results", "compression_checkpoint",
|
|
123
|
-
"checkpoint_label", "
|
|
124
|
-
"
|
|
125
|
-
"retroactiveClaims", "no_change_reason",
|
|
197
|
+
"checkpoint_label", "subgoal_updates", "stop_reason",
|
|
198
|
+
"outcome", "blocker", "gate_ids",
|
|
199
|
+
"retroactiveClaims", "no_change_reason",
|
|
126
200
|
"prompt_requests", "round_contract",
|
|
127
201
|
];
|
|
128
202
|
let hasEvaluation = false;
|
|
@@ -143,8 +217,8 @@ export function decodeMergedRound(entry) {
|
|
|
143
217
|
? evaluationRaw.success ? "success" : "failed"
|
|
144
218
|
: null);
|
|
145
219
|
const proposal = parseRoundContract(evaluationRaw.round_contract) ?? null;
|
|
146
|
-
const
|
|
147
|
-
? evaluationRaw.
|
|
220
|
+
const executionReport = isRecord(evaluationRaw.execution_report)
|
|
221
|
+
? evaluationRaw.execution_report
|
|
148
222
|
: null;
|
|
149
223
|
return {
|
|
150
224
|
source: "merged",
|
|
@@ -158,7 +232,7 @@ export function decodeMergedRound(entry) {
|
|
|
158
232
|
? lineage.prompt_artifact
|
|
159
233
|
: null,
|
|
160
234
|
evaluation,
|
|
161
|
-
|
|
235
|
+
executionReport,
|
|
162
236
|
verificationFlags: flags(raw.verification_flags ?? lineage.verification_flags),
|
|
163
237
|
result,
|
|
164
238
|
action,
|
|
@@ -167,9 +241,13 @@ export function decodeMergedRound(entry) {
|
|
|
167
241
|
: typeof lineage.success === "boolean" ? lineage.success : false,
|
|
168
242
|
outcome,
|
|
169
243
|
contractProposal: proposal,
|
|
244
|
+
contractBinding: isRecord(lineage.contract_binding)
|
|
245
|
+
? lineage.contract_binding
|
|
246
|
+
: null,
|
|
170
247
|
beforeEvidence: snapshots(lineage.before_evidence),
|
|
171
248
|
afterEvidence: snapshots(lineage.after_evidence),
|
|
172
|
-
|
|
249
|
+
observationDelta: deriveRoundObservationDelta(snapshots(lineage.before_evidence), snapshots(lineage.after_evidence)),
|
|
250
|
+
evidenceIncomplete: snapshots(lineage.after_evidence).length === 0,
|
|
173
251
|
outputSummary: typeof evaluationRaw.output_summary === "string"
|
|
174
252
|
? evaluationRaw.output_summary
|
|
175
253
|
: undefined,
|
|
@@ -178,9 +256,8 @@ export function decodeMergedRound(entry) {
|
|
|
178
256
|
activeConstraints: strings(raw.constraints_active ?? lineage.constraints_active),
|
|
179
257
|
retractedConstraints: strings(evaluationRaw.retracted_constraints),
|
|
180
258
|
emergedSubtasks: strings(evaluationRaw.emerged_subtasks),
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
canceledSubtasks: strings(evaluationRaw.canceled_subtasks),
|
|
259
|
+
subgoalUpdates: subGoalUpdates(evaluationRaw.subgoal_updates),
|
|
260
|
+
backtrack: action === "backtrack" ? decodeBacktrackRecord(lineage) : null,
|
|
184
261
|
};
|
|
185
262
|
}
|
|
186
263
|
/** Normalize committed history: rollback directives disappear, later records
|
|
@@ -200,44 +277,51 @@ export function entryLineage(entry) {
|
|
|
200
277
|
const value = entry.loop_lineage;
|
|
201
278
|
return isRecord(value) ? value : {};
|
|
202
279
|
}
|
|
203
|
-
/** Extract
|
|
280
|
+
/** Extract execution_report from an entry, handling both direct-field and
|
|
204
281
|
* lineage-nested shapes. The decoded committed view wins when the entry is
|
|
205
282
|
* a committed round. Returns null when absent. Moved from loop-compiler so
|
|
206
283
|
* field-shape interpretation lives in this module only. */
|
|
207
|
-
export function
|
|
284
|
+
export function entryExecutionReport(entry) {
|
|
208
285
|
const view = decodeRound(entry);
|
|
209
286
|
if (view)
|
|
210
|
-
return view.
|
|
287
|
+
return view.executionReport;
|
|
211
288
|
const record = isRecord(entry) ? entry : {};
|
|
212
|
-
const direct = record.
|
|
289
|
+
const direct = record.execution_report;
|
|
213
290
|
if (isRecord(direct))
|
|
214
291
|
return direct;
|
|
215
|
-
const nested = entryLineage(entry).
|
|
292
|
+
const nested = entryLineage(entry).execution_report;
|
|
216
293
|
return isRecord(nested) ? nested : null;
|
|
217
294
|
}
|
|
218
|
-
/** Read
|
|
295
|
+
/** Read the criteria the agent claimed met from an entry's execution_report. */
|
|
219
296
|
export function entryCriteriaMet(entry) {
|
|
220
297
|
const view = decodeRound(entry);
|
|
221
298
|
if (view)
|
|
222
|
-
return view.
|
|
223
|
-
|
|
224
|
-
const ev = entryExecutionEvidence(entry);
|
|
299
|
+
return claimedMetCriteria(view.executionReport);
|
|
300
|
+
const ev = entryExecutionReport(entry);
|
|
225
301
|
if (!ev)
|
|
226
302
|
return [];
|
|
227
|
-
|
|
228
|
-
return Array.isArray(arr) ? arr.filter((v) => typeof v === "string") : [];
|
|
303
|
+
return rawCriterionClaims(ev, "met");
|
|
229
304
|
}
|
|
230
|
-
/** Read
|
|
305
|
+
/** Read the criteria the agent declared outstanding from an entry. */
|
|
231
306
|
export function entryCriteriaRemaining(entry) {
|
|
232
307
|
const view = decodeRound(entry);
|
|
233
308
|
if (view)
|
|
234
|
-
return view.
|
|
235
|
-
|
|
236
|
-
const ev = entryExecutionEvidence(entry);
|
|
309
|
+
return claimedRemainingCriteria(view.executionReport);
|
|
310
|
+
const ev = entryExecutionReport(entry);
|
|
237
311
|
if (!ev)
|
|
238
312
|
return [];
|
|
239
|
-
|
|
240
|
-
|
|
313
|
+
return rawCriterionClaims(ev, "remaining");
|
|
314
|
+
}
|
|
315
|
+
/** Shape-tolerant reader for a raw entry's criterion claims (the durable
|
|
316
|
+
* shape, before the typed parse). */
|
|
317
|
+
function rawCriterionClaims(report, outcome) {
|
|
318
|
+
const claims = report.criterion_claims;
|
|
319
|
+
if (!Array.isArray(claims))
|
|
320
|
+
return [];
|
|
321
|
+
return claims
|
|
322
|
+
.filter(isRecord)
|
|
323
|
+
.filter((claim) => claim.outcome === outcome && typeof claim.criterion_id === "string")
|
|
324
|
+
.map((claim) => claim.criterion_id);
|
|
241
325
|
}
|
|
242
326
|
/** Read constraints_active from an entry's lineage. */
|
|
243
327
|
export function entryActiveConstraints(entry) {
|
|
@@ -262,10 +346,10 @@ export function entryRetractedConstraints(entry) {
|
|
|
262
346
|
return nested.filter((v) => typeof v === "string");
|
|
263
347
|
return [];
|
|
264
348
|
}
|
|
265
|
-
/** Read progress_estimate from an entry's
|
|
349
|
+
/** Read progress_estimate from an entry's execution_report (0 when
|
|
266
350
|
* absent). */
|
|
267
351
|
export function entryProgressEstimate(entry) {
|
|
268
|
-
const ev =
|
|
352
|
+
const ev = entryExecutionReport(entry);
|
|
269
353
|
if (!ev)
|
|
270
354
|
return 0;
|
|
271
355
|
const pe = ev.progress_estimate;
|
|
@@ -285,6 +369,23 @@ export function entryEmergedSubtasks(entry) {
|
|
|
285
369
|
return nested.filter((v) => typeof v === "string");
|
|
286
370
|
return [];
|
|
287
371
|
}
|
|
372
|
+
/** Read subgoal_updates from an entry (handles direct + lineage nesting).
|
|
373
|
+
* v3.7.1: committed status transitions are replayed in round order by the
|
|
374
|
+
* compiler — every derivation replays ALL committed rounds, not just the
|
|
375
|
+
* last one. */
|
|
376
|
+
export function entrySubGoalUpdates(entry) {
|
|
377
|
+
const view = decodeRound(entry);
|
|
378
|
+
if (view)
|
|
379
|
+
return view.subgoalUpdates ?? [];
|
|
380
|
+
const record = isRecord(entry) ? entry : {};
|
|
381
|
+
const direct = record.subgoal_updates;
|
|
382
|
+
if (Array.isArray(direct))
|
|
383
|
+
return subGoalUpdates(direct);
|
|
384
|
+
const nested = entryLineage(entry).subgoal_updates;
|
|
385
|
+
if (Array.isArray(nested))
|
|
386
|
+
return subGoalUpdates(nested);
|
|
387
|
+
return [];
|
|
388
|
+
}
|
|
288
389
|
/** Read constraint_violations from an entry (entry-level, stored from the
|
|
289
390
|
* previous round's last_round_result at persist time — distinct from the
|
|
290
391
|
* evaluation-level violations on the committed view). Moved from
|
|
@@ -305,26 +406,108 @@ export function historyRounds(views, beforeRound = Number.POSITIVE_INFINITY) {
|
|
|
305
406
|
}
|
|
306
407
|
return [...byRound.values()].sort((a, b) => a.round - b.round);
|
|
307
408
|
}
|
|
308
|
-
|
|
309
|
-
|
|
409
|
+
/** v3.8.1: the ONE committed-history window every derivation reads.
|
|
410
|
+
*
|
|
411
|
+
* `decodeRound` (hydrated merged lineage first, then the durable feedback
|
|
412
|
+
* entry) plus the rollback handling in `historyRounds` — so the compile path,
|
|
413
|
+
* the projection, the live coordinator, audit and explain can no longer
|
|
414
|
+
* disagree about which rounds are this branch's history, nor about how their
|
|
415
|
+
* envelope was interpreted.
|
|
416
|
+
*
|
|
417
|
+
* `currentRound` bounds the window exactly as before (default: unbounded). It
|
|
418
|
+
* is NOT a rollback fence: the redo re-commits the round numbers the abandoned
|
|
419
|
+
* rounds occupied, so abandonment is temporal, not numeric, and cannot be
|
|
420
|
+
* expressed as a bound here. */
|
|
421
|
+
export function derivationRounds(entries, currentRound = Number.POSITIVE_INFINITY) {
|
|
422
|
+
return historyRounds(entries.map(decodeRound), currentRound);
|
|
423
|
+
}
|
|
424
|
+
/** v3.8.1: the loop's durable round frontier — the session document's
|
|
425
|
+
* `current_round`. Null when no session document is in the entry set, so
|
|
426
|
+
* callers fail OPEN rather than inventing a bound. */
|
|
427
|
+
export function persistedFrontier(entries) {
|
|
428
|
+
for (const entry of entries) {
|
|
429
|
+
if (!isRecord(entry) || entry.task_type !== "session_state")
|
|
430
|
+
continue;
|
|
431
|
+
const round = entryLineage(entry).current_round;
|
|
432
|
+
return typeof round === "number" && Number.isFinite(round) && round >= 1
|
|
433
|
+
? round
|
|
434
|
+
: null;
|
|
435
|
+
}
|
|
436
|
+
return null;
|
|
437
|
+
}
|
|
438
|
+
/** v3.8.1: THE window for a READ-ONLY view of a loop — audit, explain, replay,
|
|
439
|
+
* the projection, the metrics replay. Same decoder and same rollback handling
|
|
440
|
+
* as `derivationRounds`, plus the bound those callers cannot compute
|
|
441
|
+
* themselves.
|
|
442
|
+
*
|
|
443
|
+
* The live paths bound their window at the round being compiled, and that
|
|
444
|
+
* bound is what keeps a backtracked branch out of this branch's history. A
|
|
445
|
+
* read-only view has no compile round, so it reads the SAME frontier from the
|
|
446
|
+
* durable session document and applies it only while a committed rollback
|
|
447
|
+
* directive is still in effect — a directive stops being history the moment
|
|
448
|
+
* the redo commit replaces its round's record, which is exactly when the
|
|
449
|
+
* abandoned rounds have been re-committed and must count again.
|
|
450
|
+
*
|
|
451
|
+
* With no directive in effect the window stays UNBOUNDED on purpose: after a
|
|
452
|
+
* stop, terminate or max_rounds the session's `current_round` sits ON the
|
|
453
|
+
* round it just committed, so bounding there would silently drop the loop's
|
|
454
|
+
* final round. An unobservable frontier fails open the same way — a read-only
|
|
455
|
+
* view never invents a fence, it only applies the one the runtime recorded. */
|
|
456
|
+
export function readOnlyRounds(entries) {
|
|
457
|
+
const views = entries.map(decodeRound);
|
|
458
|
+
const rollbackPending = views.some((view) => view?.action === "backtrack");
|
|
459
|
+
if (!rollbackPending)
|
|
460
|
+
return historyRounds(views);
|
|
461
|
+
return historyRounds(views, persistedFrontier(entries) ?? Number.POSITIVE_INFINITY);
|
|
310
462
|
}
|
|
311
463
|
/** The machine-evidence set that best represents a committed round: the
|
|
312
|
-
* after-phase
|
|
313
|
-
*
|
|
464
|
+
* after-phase observations (captured post-execution), else the derived round
|
|
465
|
+
* delta, else the pre-round baseline. Shared selector for the
|
|
314
466
|
* evidence-fallback chains that audit, claims, and backtrack-restore each
|
|
315
|
-
* used to inline with subtly different tiers
|
|
316
|
-
*
|
|
317
|
-
*
|
|
318
|
-
* the diffed motion signal. */
|
|
467
|
+
* used to inline with subtly different tiers. Distinct from
|
|
468
|
+
* machineGitMotionSeries, which deliberately reads the delta alone for the
|
|
469
|
+
* motion signal. */
|
|
319
470
|
export function machineEvidenceForRound(view) {
|
|
320
471
|
if (view.afterEvidence.length > 0)
|
|
321
472
|
return view.afterEvidence;
|
|
322
|
-
if (view.
|
|
323
|
-
return view.
|
|
473
|
+
if (view.observationDelta.length > 0)
|
|
474
|
+
return view.observationDelta;
|
|
324
475
|
return view.beforeEvidence;
|
|
325
476
|
}
|
|
326
|
-
export function
|
|
327
|
-
|
|
477
|
+
export function legacyTransactionRounds(entries) {
|
|
478
|
+
const out = [];
|
|
479
|
+
for (const entry of entries) {
|
|
480
|
+
if (!isRecord(entry))
|
|
481
|
+
continue;
|
|
482
|
+
const lineage = entryLineage(entry);
|
|
483
|
+
const envelope = isRecord(lineage.round_transaction)
|
|
484
|
+
? lineage.round_transaction
|
|
485
|
+
: isRecord(entry.round_transaction) ? entry.round_transaction : null;
|
|
486
|
+
if (!envelope || !isRecord(envelope.snapshot))
|
|
487
|
+
continue;
|
|
488
|
+
const round = entryRound(entry);
|
|
489
|
+
if (round < 1)
|
|
490
|
+
continue;
|
|
491
|
+
const version = transactionSchemaVersionOf(envelope.snapshot);
|
|
492
|
+
if (version !== null && version !== ROUND_TRANSACTION_SCHEMA_VERSION) {
|
|
493
|
+
out.push({ round, schemaVersion: version, envelope: "transaction" });
|
|
494
|
+
continue;
|
|
495
|
+
}
|
|
496
|
+
// v3.8.1: the PromptArtifact schema is versioned separately, and the
|
|
497
|
+
// transaction parser rejects a snapshot whose artifact version it does
|
|
498
|
+
// not know — dropping the whole round. Reporting only the transaction
|
|
499
|
+
// version would let an artifact-version break delete committed history
|
|
500
|
+
// silently, which is the one thing this function exists to prevent.
|
|
501
|
+
const snapshot = envelope.snapshot;
|
|
502
|
+
if (isRecord(snapshot.promptArtifact)) {
|
|
503
|
+
const artifactVersion = snapshot.promptArtifact.schemaVersion;
|
|
504
|
+
if (typeof artifactVersion === "number" &&
|
|
505
|
+
artifactVersion !== PROMPT_ARTIFACT_SCHEMA_VERSION) {
|
|
506
|
+
out.push({ round, schemaVersion: artifactVersion, envelope: "prompt_artifact" });
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
return out.sort((a, b) => a.round - b.round);
|
|
328
511
|
}
|
|
329
512
|
/** Machine-observed git motion for the most recent contiguous window.
|
|
330
513
|
* Consumers must decode durable or hydrated entries before calling this;
|
|
@@ -334,7 +517,7 @@ export function machineGitMotionSeries(rounds, currentRound, lookback) {
|
|
|
334
517
|
for (const round of rounds) {
|
|
335
518
|
if (round.round < 1 || round.round >= currentRound)
|
|
336
519
|
continue;
|
|
337
|
-
const git = round.
|
|
520
|
+
const git = round.observationDelta.find((snapshot) => snapshot.providerId === "git");
|
|
338
521
|
if (!git)
|
|
339
522
|
continue;
|
|
340
523
|
byRound.set(round.round, Array.isArray(git.files) && git.files.length > 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"committed-round.js","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"committed-round.js","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** Round Contract item status — the v3.8 verification skeleton.
|
|
2
|
+
*
|
|
3
|
+
* A contract declares ITEMS; each item binds evidence commands. The agent
|
|
4
|
+
* may only CLAIM `met` / `remaining`; whether an item is `verified`,
|
|
5
|
+
* `contradicted`, or `insufficient` is derived here from committed
|
|
6
|
+
* observations and the in-flight round. Nothing in this module writes state:
|
|
7
|
+
* it is a pure function of the committed round views, the current report,
|
|
8
|
+
* the current observations, and policy.
|
|
9
|
+
*/
|
|
10
|
+
import type { ContractItemStatus, ExecutionReport, MachineObservation } from "./protocol.js";
|
|
11
|
+
import type { ActiveContractView } from "./round-contract.js";
|
|
12
|
+
import type { CommittedRoundView } from "./committed-round.js";
|
|
13
|
+
import type { CommandEvidencePolicy } from "./policy.js";
|
|
14
|
+
export interface ItemStatusHistoryEntry {
|
|
15
|
+
round: number;
|
|
16
|
+
status: ContractItemStatus;
|
|
17
|
+
refs: string[];
|
|
18
|
+
}
|
|
19
|
+
export interface ItemStatusRecord {
|
|
20
|
+
itemId: string;
|
|
21
|
+
description: string;
|
|
22
|
+
status: ContractItemStatus;
|
|
23
|
+
/** Round the current status was first reached. */
|
|
24
|
+
status_at_round: number | null;
|
|
25
|
+
history: ItemStatusHistoryEntry[];
|
|
26
|
+
reasons: string[];
|
|
27
|
+
}
|
|
28
|
+
export interface ContractItemStatusView {
|
|
29
|
+
contractId: string;
|
|
30
|
+
closure: "open" | "verified" | "blocked";
|
|
31
|
+
closed_at_round: number | null;
|
|
32
|
+
items: ItemStatusRecord[];
|
|
33
|
+
verifiedCount: number;
|
|
34
|
+
contradictedCount: number;
|
|
35
|
+
insufficientCount: number;
|
|
36
|
+
}
|
|
37
|
+
export interface ContractItemInput {
|
|
38
|
+
contract: ActiveContractView | null;
|
|
39
|
+
/** Committed rounds below `currentRound`, ascending, rollback-excluded. */
|
|
40
|
+
rounds: ReadonlyArray<CommittedRoundView>;
|
|
41
|
+
currentRound: number;
|
|
42
|
+
currentReport: ExecutionReport | null;
|
|
43
|
+
currentObservations: ReadonlyArray<MachineObservation>;
|
|
44
|
+
/** The in-flight round's own effective outcome. A `blocked` round CLOSES its
|
|
45
|
+
* contract, so the closure cannot be derived from the committed slices
|
|
46
|
+
* alone — the round being decided is not committed yet. Leave null where no
|
|
47
|
+
* in-flight round exists (a pure committed-history replay). */
|
|
48
|
+
currentOutcome?: string | null;
|
|
49
|
+
commands: ReadonlyArray<CommandEvidencePolicy>;
|
|
50
|
+
}
|
|
51
|
+
/** v3.8: Derive every item's status plus the contract's closure. */
|
|
52
|
+
export declare function deriveContractItemStatuses(input: ContractItemInput): ContractItemStatusView;
|
|
53
|
+
/** v3.8: The round-level verification posture. */
|
|
54
|
+
export declare function roundVerificationStatus(view: ContractItemStatusView, report: ExecutionReport | null): "trusted" | "insufficient" | "contradicted";
|
|
55
|
+
//# sourceMappingURL=contract-items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-items.d.ts","sourceRoot":"","sources":["../src/contract-items.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAUzD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kDAAkD;IAClD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,2EAA2E;IAC3E,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,eAAe,GAAG,IAAI,CAAC;IACtC,mBAAmB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACvD;;;oEAGgE;IAChE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CAChD;AAyGD,oEAAoE;AACpE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,GAAG,sBAAsB,CAkF3F;AAED,kDAAkD;AAClD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,sBAAsB,EAC5B,MAAM,EAAE,eAAe,GAAG,IAAI,GAC7B,SAAS,GAAG,cAAc,GAAG,cAAc,CAS7C"}
|