loopforge 3.7.1 → 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.
Files changed (144) hide show
  1. package/README.md +171 -169
  2. package/dist/audit.d.ts +53 -1
  3. package/dist/audit.d.ts.map +1 -1
  4. package/dist/audit.js +106 -22
  5. package/dist/audit.js.map +1 -1
  6. package/dist/canonical-state.d.ts +52 -67
  7. package/dist/canonical-state.d.ts.map +1 -1
  8. package/dist/canonical-state.js +134 -147
  9. package/dist/canonical-state.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +103 -4
  12. package/dist/cli.js.map +1 -1
  13. package/dist/cognitive-facts.d.ts +13 -0
  14. package/dist/cognitive-facts.d.ts.map +1 -1
  15. package/dist/cognitive-facts.js +28 -13
  16. package/dist/cognitive-facts.js.map +1 -1
  17. package/dist/committed-round.d.ts +103 -21
  18. package/dist/committed-round.d.ts.map +1 -1
  19. package/dist/committed-round.js +188 -45
  20. package/dist/committed-round.js.map +1 -1
  21. package/dist/contract-items.d.ts +55 -0
  22. package/dist/contract-items.d.ts.map +1 -0
  23. package/dist/contract-items.js +180 -0
  24. package/dist/contract-items.js.map +1 -0
  25. package/dist/enforcement-gate.d.ts +20 -2
  26. package/dist/enforcement-gate.d.ts.map +1 -1
  27. package/dist/enforcement-gate.js +197 -386
  28. package/dist/enforcement-gate.js.map +1 -1
  29. package/dist/engine.d.ts +1 -1
  30. package/dist/engine.d.ts.map +1 -1
  31. package/dist/engine.js +53 -38
  32. package/dist/engine.js.map +1 -1
  33. package/dist/evidence-claims.d.ts +4 -4
  34. package/dist/evidence-claims.d.ts.map +1 -1
  35. package/dist/evidence-claims.js +16 -14
  36. package/dist/evidence-claims.js.map +1 -1
  37. package/dist/evidence-provider.d.ts +85 -89
  38. package/dist/evidence-provider.d.ts.map +1 -1
  39. package/dist/evidence-provider.js +328 -184
  40. package/dist/evidence-provider.js.map +1 -1
  41. package/dist/explain.d.ts +76 -0
  42. package/dist/explain.d.ts.map +1 -0
  43. package/dist/explain.js +127 -0
  44. package/dist/explain.js.map +1 -0
  45. package/dist/generate-schema.js +152 -16
  46. package/dist/generate-schema.js.map +1 -1
  47. package/dist/index.d.ts +6 -6
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +5 -5
  50. package/dist/index.js.map +1 -1
  51. package/dist/loop-compiler.d.ts +40 -53
  52. package/dist/loop-compiler.d.ts.map +1 -1
  53. package/dist/loop-compiler.js +229 -553
  54. package/dist/loop-compiler.js.map +1 -1
  55. package/dist/loop-extras-parser.d.ts +0 -1
  56. package/dist/loop-extras-parser.d.ts.map +1 -1
  57. package/dist/loop-extras-parser.js +0 -4
  58. package/dist/loop-extras-parser.js.map +1 -1
  59. package/dist/loop-projection.d.ts.map +1 -1
  60. package/dist/loop-projection.js +3 -1
  61. package/dist/loop-projection.js.map +1 -1
  62. package/dist/mcp/round-lifecycle.d.ts +30 -21
  63. package/dist/mcp/round-lifecycle.d.ts.map +1 -1
  64. package/dist/mcp/round-lifecycle.js +47 -103
  65. package/dist/mcp/round-lifecycle.js.map +1 -1
  66. package/dist/mcp/server.d.ts.map +1 -1
  67. package/dist/mcp/server.js +51 -7
  68. package/dist/mcp/server.js.map +1 -1
  69. package/dist/mcp/session.d.ts +39 -23
  70. package/dist/mcp/session.d.ts.map +1 -1
  71. package/dist/mcp/session.js +148 -163
  72. package/dist/mcp/session.js.map +1 -1
  73. package/dist/mcp/submission-boundary.d.ts +89 -0
  74. package/dist/mcp/submission-boundary.d.ts.map +1 -0
  75. package/dist/mcp/submission-boundary.js +203 -0
  76. package/dist/mcp/submission-boundary.js.map +1 -0
  77. package/dist/mcp/tools.d.ts.map +1 -1
  78. package/dist/mcp/tools.js +249 -128
  79. package/dist/mcp/tools.js.map +1 -1
  80. package/dist/policy-metrics.js +2 -2
  81. package/dist/policy-metrics.js.map +1 -1
  82. package/dist/policy.d.ts +55 -93
  83. package/dist/policy.d.ts.map +1 -1
  84. package/dist/policy.js +149 -38
  85. package/dist/policy.js.map +1 -1
  86. package/dist/prompt-assembler.d.ts +1 -32
  87. package/dist/prompt-assembler.d.ts.map +1 -1
  88. package/dist/prompt-assembler.js +282 -435
  89. package/dist/prompt-assembler.js.map +1 -1
  90. package/dist/prompt-policy.d.ts +1 -4
  91. package/dist/prompt-policy.d.ts.map +1 -1
  92. package/dist/prompt-policy.js +6 -7
  93. package/dist/prompt-policy.js.map +1 -1
  94. package/dist/protocol.d.ts +365 -142
  95. package/dist/protocol.d.ts.map +1 -1
  96. package/dist/protocol.js +21 -66
  97. package/dist/protocol.js.map +1 -1
  98. package/dist/replay.js +2 -2
  99. package/dist/replay.js.map +1 -1
  100. package/dist/round-contract.d.ts +69 -57
  101. package/dist/round-contract.d.ts.map +1 -1
  102. package/dist/round-contract.js +104 -64
  103. package/dist/round-contract.js.map +1 -1
  104. package/dist/round-coordinator.d.ts +36 -16
  105. package/dist/round-coordinator.d.ts.map +1 -1
  106. package/dist/round-coordinator.js +166 -102
  107. package/dist/round-coordinator.js.map +1 -1
  108. package/dist/round-driver.d.ts +3 -5
  109. package/dist/round-driver.d.ts.map +1 -1
  110. package/dist/round-driver.js +0 -1
  111. package/dist/round-driver.js.map +1 -1
  112. package/dist/round-facts.d.ts +96 -0
  113. package/dist/round-facts.d.ts.map +1 -0
  114. package/dist/round-facts.js +216 -0
  115. package/dist/round-facts.js.map +1 -0
  116. package/dist/round-transaction.d.ts +19 -9
  117. package/dist/round-transaction.d.ts.map +1 -1
  118. package/dist/round-transaction.js +90 -22
  119. package/dist/round-transaction.js.map +1 -1
  120. package/dist/self-eval.d.ts +87 -9
  121. package/dist/self-eval.d.ts.map +1 -1
  122. package/dist/self-eval.js +396 -27
  123. package/dist/self-eval.js.map +1 -1
  124. package/dist/subgoal-state.d.ts +77 -0
  125. package/dist/subgoal-state.d.ts.map +1 -0
  126. package/dist/subgoal-state.js +198 -0
  127. package/dist/subgoal-state.js.map +1 -0
  128. package/dist/token-utils.d.ts +52 -19
  129. package/dist/token-utils.d.ts.map +1 -1
  130. package/dist/token-utils.js +83 -72
  131. package/dist/token-utils.js.map +1 -1
  132. package/dist/verification-gate.d.ts +14 -31
  133. package/dist/verification-gate.d.ts.map +1 -1
  134. package/dist/verification-gate.js +178 -496
  135. package/dist/verification-gate.js.map +1 -1
  136. package/dist/version.d.ts +1 -1
  137. package/dist/version.js +1 -1
  138. package/dist/workspace.d.ts +9 -0
  139. package/dist/workspace.d.ts.map +1 -1
  140. package/dist/workspace.js +17 -0
  141. package/dist/workspace.js.map +1 -1
  142. package/loop_policy.json +6 -30
  143. package/package.json +1 -1
  144. package/skills/perception/SKILL.md +243 -79
@@ -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 { parseRoundTransactionSnapshot } from "./round-transaction.js";
8
- import { effectiveOutcome, parseRoundContract } from "./self-eval.js";
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,45 @@ 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
+ }
32
72
  /** Normalize a raw subgoal_updates value into typed entries. Decode stays
33
73
  * tolerant of any shape (parser caps apply at ingestion; this is the
34
74
  * read-model view of what was committed). */
@@ -67,12 +107,18 @@ export function decodeCommittedRound(entry) {
67
107
  : null;
68
108
  if (!transaction)
69
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.
70
114
  const snapshot = parseRoundTransactionSnapshot(transaction.snapshot);
71
- if (snapshot && snapshot.phase !== "committed")
115
+ if (!snapshot)
116
+ return null;
117
+ if (snapshot.phase !== "committed")
72
118
  return null;
73
119
  const resultValue = isRecord(transaction.result)
74
120
  ? transaction.result
75
- : snapshot?.result;
121
+ : snapshot.result;
76
122
  if (!isRecord(resultValue))
77
123
  return null;
78
124
  const action = committedAction(resultValue.action);
@@ -96,7 +142,7 @@ export function decodeCommittedRound(entry) {
96
142
  attempt: snapshot?.attempt ?? 1,
97
143
  promptArtifact: snapshot?.promptArtifact ?? null,
98
144
  evaluation,
99
- executionEvidence: evaluation?.execution_evidence ?? null,
145
+ executionReport: evaluation?.execution_report ?? null,
100
146
  verificationFlags: flags(result.verificationFlags),
101
147
  result,
102
148
  action,
@@ -105,9 +151,11 @@ export function decodeCommittedRound(entry) {
105
151
  contractProposal: evaluation?.round_contract
106
152
  ? parseRoundContract(evaluation.round_contract) ?? null
107
153
  : null,
154
+ contractBinding: snapshot?.contractBinding ?? null,
108
155
  beforeEvidence: snapshots(snapshot?.beforeEvidence),
109
156
  afterEvidence: snapshots(snapshot?.afterEvidence),
110
- roundEvidence: snapshots(snapshot?.roundEvidence),
157
+ observationDelta: deriveRoundObservationDelta(snapshots(snapshot?.beforeEvidence), snapshots(snapshot?.afterEvidence)),
158
+ evidenceIncomplete: (snapshot?.afterEvidence?.length ?? 0) === 0,
111
159
  outputSummary: evaluation?.output_summary,
112
160
  constraintViolations: strings(evaluation?.constraint_violations),
113
161
  discoveredConstraints: strings(evaluation?.discovered_constraints),
@@ -115,6 +163,7 @@ export function decodeCommittedRound(entry) {
115
163
  retractedConstraints: strings(evaluation?.retracted_constraints),
116
164
  emergedSubtasks: strings(evaluation?.emerged_subtasks),
117
165
  subgoalUpdates: subGoalUpdates(evaluation?.subgoal_updates),
166
+ backtrack: action === "backtrack" ? decodeBacktrackRecord(resultValue) : null,
118
167
  };
119
168
  }
120
169
  /** Decode an in-memory lineage entry after the engine merged its committed
@@ -143,11 +192,11 @@ export function decodeMergedRound(entry) {
143
192
  const evaluationKeys = [
144
193
  "success", "output_summary", "constraint_violations", "should_continue",
145
194
  "discovered_constraints", "objective_refinement", "emerged_subtasks",
146
- "execution_evidence", "retracted_constraints", "revised_success_criteria",
195
+ "execution_report", "retracted_constraints", "revised_success_criteria",
147
196
  "wrong_assumptions", "worker_results", "compression_checkpoint",
148
- "checkpoint_label", "next_action", "subgoal_updates", "stop_reason",
197
+ "checkpoint_label", "subgoal_updates", "stop_reason",
149
198
  "outcome", "blocker", "gate_ids",
150
- "retroactiveClaims", "no_change_reason", "drift_clarification",
199
+ "retroactiveClaims", "no_change_reason",
151
200
  "prompt_requests", "round_contract",
152
201
  ];
153
202
  let hasEvaluation = false;
@@ -168,8 +217,8 @@ export function decodeMergedRound(entry) {
168
217
  ? evaluationRaw.success ? "success" : "failed"
169
218
  : null);
170
219
  const proposal = parseRoundContract(evaluationRaw.round_contract) ?? null;
171
- const executionEvidence = isRecord(evaluationRaw.execution_evidence)
172
- ? evaluationRaw.execution_evidence
220
+ const executionReport = isRecord(evaluationRaw.execution_report)
221
+ ? evaluationRaw.execution_report
173
222
  : null;
174
223
  return {
175
224
  source: "merged",
@@ -183,7 +232,7 @@ export function decodeMergedRound(entry) {
183
232
  ? lineage.prompt_artifact
184
233
  : null,
185
234
  evaluation,
186
- executionEvidence,
235
+ executionReport,
187
236
  verificationFlags: flags(raw.verification_flags ?? lineage.verification_flags),
188
237
  result,
189
238
  action,
@@ -192,9 +241,13 @@ export function decodeMergedRound(entry) {
192
241
  : typeof lineage.success === "boolean" ? lineage.success : false,
193
242
  outcome,
194
243
  contractProposal: proposal,
244
+ contractBinding: isRecord(lineage.contract_binding)
245
+ ? lineage.contract_binding
246
+ : null,
195
247
  beforeEvidence: snapshots(lineage.before_evidence),
196
248
  afterEvidence: snapshots(lineage.after_evidence),
197
- roundEvidence: snapshots(lineage.round_evidence),
249
+ observationDelta: deriveRoundObservationDelta(snapshots(lineage.before_evidence), snapshots(lineage.after_evidence)),
250
+ evidenceIncomplete: snapshots(lineage.after_evidence).length === 0,
198
251
  outputSummary: typeof evaluationRaw.output_summary === "string"
199
252
  ? evaluationRaw.output_summary
200
253
  : undefined,
@@ -204,6 +257,7 @@ export function decodeMergedRound(entry) {
204
257
  retractedConstraints: strings(evaluationRaw.retracted_constraints),
205
258
  emergedSubtasks: strings(evaluationRaw.emerged_subtasks),
206
259
  subgoalUpdates: subGoalUpdates(evaluationRaw.subgoal_updates),
260
+ backtrack: action === "backtrack" ? decodeBacktrackRecord(lineage) : null,
207
261
  };
208
262
  }
209
263
  /** Normalize committed history: rollback directives disappear, later records
@@ -223,44 +277,51 @@ export function entryLineage(entry) {
223
277
  const value = entry.loop_lineage;
224
278
  return isRecord(value) ? value : {};
225
279
  }
226
- /** Extract execution_evidence from an entry, handling both direct-field and
280
+ /** Extract execution_report from an entry, handling both direct-field and
227
281
  * lineage-nested shapes. The decoded committed view wins when the entry is
228
282
  * a committed round. Returns null when absent. Moved from loop-compiler so
229
283
  * field-shape interpretation lives in this module only. */
230
- export function entryExecutionEvidence(entry) {
284
+ export function entryExecutionReport(entry) {
231
285
  const view = decodeRound(entry);
232
286
  if (view)
233
- return view.executionEvidence;
287
+ return view.executionReport;
234
288
  const record = isRecord(entry) ? entry : {};
235
- const direct = record.execution_evidence;
289
+ const direct = record.execution_report;
236
290
  if (isRecord(direct))
237
291
  return direct;
238
- const nested = entryLineage(entry).execution_evidence;
292
+ const nested = entryLineage(entry).execution_report;
239
293
  return isRecord(nested) ? nested : null;
240
294
  }
241
- /** Read success_criteria_met from an entry's execution_evidence. */
295
+ /** Read the criteria the agent claimed met from an entry's execution_report. */
242
296
  export function entryCriteriaMet(entry) {
243
297
  const view = decodeRound(entry);
244
298
  if (view)
245
- return view.executionEvidence?.success_criteria_met
246
- ?.filter((value) => typeof value === "string") ?? [];
247
- const ev = entryExecutionEvidence(entry);
299
+ return claimedMetCriteria(view.executionReport);
300
+ const ev = entryExecutionReport(entry);
248
301
  if (!ev)
249
302
  return [];
250
- const arr = ev.success_criteria_met;
251
- return Array.isArray(arr) ? arr.filter((v) => typeof v === "string") : [];
303
+ return rawCriterionClaims(ev, "met");
252
304
  }
253
- /** Read success_criteria_remaining from an entry's execution_evidence. */
305
+ /** Read the criteria the agent declared outstanding from an entry. */
254
306
  export function entryCriteriaRemaining(entry) {
255
307
  const view = decodeRound(entry);
256
308
  if (view)
257
- return view.executionEvidence?.success_criteria_remaining
258
- ?.filter((value) => typeof value === "string") ?? [];
259
- const ev = entryExecutionEvidence(entry);
309
+ return claimedRemainingCriteria(view.executionReport);
310
+ const ev = entryExecutionReport(entry);
260
311
  if (!ev)
261
312
  return [];
262
- const arr = ev.success_criteria_remaining;
263
- return Array.isArray(arr) ? arr.filter((v) => typeof v === "string") : [];
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);
264
325
  }
265
326
  /** Read constraints_active from an entry's lineage. */
266
327
  export function entryActiveConstraints(entry) {
@@ -285,10 +346,10 @@ export function entryRetractedConstraints(entry) {
285
346
  return nested.filter((v) => typeof v === "string");
286
347
  return [];
287
348
  }
288
- /** Read progress_estimate from an entry's execution_evidence (0 when
349
+ /** Read progress_estimate from an entry's execution_report (0 when
289
350
  * absent). */
290
351
  export function entryProgressEstimate(entry) {
291
- const ev = entryExecutionEvidence(entry);
352
+ const ev = entryExecutionReport(entry);
292
353
  if (!ev)
293
354
  return 0;
294
355
  const pe = ev.progress_estimate;
@@ -345,26 +406,108 @@ export function historyRounds(views, beforeRound = Number.POSITIVE_INFINITY) {
345
406
  }
346
407
  return [...byRound.values()].sort((a, b) => a.round - b.round);
347
408
  }
348
- export function committedRoundsFromEntries(entries, beforeRound = Number.POSITIVE_INFINITY) {
349
- return historyRounds(entries.map(decodeCommittedRound), beforeRound);
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);
350
462
  }
351
463
  /** The machine-evidence set that best represents a committed round: the
352
- * after-phase evidence (captured post-execution), else the round's committed
353
- * diff evidence, else the pre-round baseline. Shared selector for the
464
+ * after-phase observations (captured post-execution), else the derived round
465
+ * delta, else the pre-round baseline. Shared selector for the
354
466
  * evidence-fallback chains that audit, claims, and backtrack-restore each
355
- * used to inline with subtly different tiers — the enforcement-gate variant
356
- * previously skipped roundEvidence entirely. Distinct from
357
- * machineGitMotionSeries, which deliberately reads roundEvidence alone for
358
- * 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. */
359
470
  export function machineEvidenceForRound(view) {
360
471
  if (view.afterEvidence.length > 0)
361
472
  return view.afterEvidence;
362
- if (view.roundEvidence.length > 0)
363
- return view.roundEvidence;
473
+ if (view.observationDelta.length > 0)
474
+ return view.observationDelta;
364
475
  return view.beforeEvidence;
365
476
  }
366
- export function mergedRoundsFromEntries(entries, beforeRound = Number.POSITIVE_INFINITY) {
367
- return historyRounds(entries.map(decodeMergedRound), beforeRound);
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);
368
511
  }
369
512
  /** Machine-observed git motion for the most recent contiguous window.
370
513
  * Consumers must decode durable or hydrated entries before calling this;
@@ -374,7 +517,7 @@ export function machineGitMotionSeries(rounds, currentRound, lookback) {
374
517
  for (const round of rounds) {
375
518
  if (round.round < 1 || round.round >= currentRound)
376
519
  continue;
377
- const git = round.roundEvidence.find((snapshot) => snapshot.provider === "git");
520
+ const git = round.observationDelta.find((snapshot) => snapshot.providerId === "git");
378
521
  if (!git)
379
522
  continue;
380
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":"AAAA;;;;;GAKG;AAcH,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAkCxD,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,WAAW;QACtE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAC/C,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS;QACzC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAClE,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;8CAE8C;AAC9C,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QACxD,MAAM,CAAC,GAAG,IAA+B,CAAC;QAC1C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;YAAE,SAAS;QACvC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,MAAM;YAC7C,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU;YAAE,SAAS;QAC5D,GAAG,CAAC,IAAI,CAAC;YACP,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SACtD,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM;IAC9B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;gEACgE;AAChE,MAAM,UAAU,oBAAoB,CAAC,KAAiB;IACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,WAAW,GAAG,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAChE,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC3B,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,QAAQ,GAAG,6BAA6B,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrE,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;QAC9C,CAAC,CAAC,WAAW,CAAC,MAAM;QACpB,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,MAAM,GAAG,WAA4C,CAAC;IAC5D,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,UAAU,CAAC,KAA2C,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACnF,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,UAAU,GAAG,QAAQ,EAAE,UAAU,IAAI,IAAI,CAAC;IAChD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,KAAK;QAClB,MAAM;QACN,KAAK;QACL,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,IAAI,QAAQ,MAAM,UAAU,KAAK,EAAE,CAAC;QAC7F,QAAQ;QACR,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,CAAC;QAC/B,cAAc,EAAE,QAAQ,EAAE,cAAc,IAAI,IAAI;QAChD,UAAU;QACV,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,IAAI,IAAI;QACzD,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAClD,MAAM;QACN,MAAM;QACN,OAAO,EAAE,MAAM,CAAC,YAAY,KAAK,IAAI;QACrC,OAAO;QACP,gBAAgB,EAAE,UAAU,EAAE,cAAc;YAC1C,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,IAAI;YACvD,CAAC,CAAC,IAAI;QACR,cAAc,EAAE,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;QACnD,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;QACjD,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;QACjD,aAAa,EAAE,UAAU,EAAE,cAAc;QACzC,oBAAoB,EAAE,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC;QAChE,qBAAqB,EAAE,OAAO,CAAC,UAAU,EAAE,sBAAsB,CAAC;QAClE,iBAAiB,EAAE,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACvD,oBAAoB,EAAE,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC;QAChE,eAAe,EAAE,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC;QACtD,cAAc,EAAE,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;4BAE4B;AAC5B,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,qEAAqE;IACrE,uCAAuC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC5C,CAAC,CAAC,GAAG,CAAC,OAAO;QACb,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAClD,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,QAAQ,MAAM,UAAU,KAAK,EAAE,CAAC;IACpC,MAAM,aAAa,GAA4B,EAAE,CAAC;IAClD,MAAM,cAAc,GAAG;QACrB,SAAS,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,iBAAiB;QACvE,wBAAwB,EAAE,sBAAsB,EAAE,kBAAkB;QACpE,oBAAoB,EAAE,uBAAuB,EAAE,0BAA0B;QACzE,mBAAmB,EAAE,gBAAgB,EAAE,wBAAwB;QAC/D,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa;QACnE,SAAS,EAAE,SAAS,EAAE,UAAU;QAChC,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB;QAC9D,iBAAiB,EAAE,gBAAgB;KACpC,CAAC;IACF,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,aAAa;QAC9B,CAAC,CAAC,aAA0C;QAC5C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAA0C,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC;QACjD,CAAC,OAAO,aAAa,CAAC,OAAO,KAAK,SAAS;YACzC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAC9C,CAAC,CAAC,IAAI,CAAC,CAAC;IACZ,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;IAC1E,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;QAClE,CAAC,CAAC,aAAa,CAAC,kBAAkD;QAClE,CAAC,CAAC,IAAI,CAAC;IACT,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,GAAG;QAChB,MAAM;QACN,KAAK;QACL,OAAO;QACP,QAAQ,EAAE,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC7E,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClE,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;YAC/C,CAAC,CAAC,OAAO,CAAC,eAA4C;YACtD,CAAC,CAAC,IAAI;QACR,UAAU;QACV,iBAAiB;QACjB,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC;QAC9E,MAAM;QACN,MAAM;QACN,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS;YACvC,CAAC,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QAClE,OAAO;QACP,gBAAgB,EAAE,QAAQ;QAC1B,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;QAClD,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC;QAChD,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC;QAChD,aAAa,EAAE,OAAO,aAAa,CAAC,cAAc,KAAK,QAAQ;YAC7D,CAAC,CAAC,aAAa,CAAC,cAAc;YAC9B,CAAC,CAAC,SAAS;QACb,oBAAoB,EAAE,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC;QAClE,qBAAqB,EAAE,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC;QACpE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC;QAChF,oBAAoB,EAAE,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC;QAClE,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC;QACxD,cAAc,EAAE,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED;kFACkF;AAClF;;;8BAG8B;AAC9B,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAmB,CAAC,CAAC;AAC/E,CAAC;AAED;iEACiE;AACjE,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;IACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED;;;4DAG4D;AAC5D,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,iBAAmD,CAAC;IAC1E,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC;IACtD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,iBAAiB,EAAE,oBAAoB;YAC3D,EAAE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxE,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,iBAAiB,EAAE,0BAA0B;YACjE,EAAE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxE,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,EAAE,CAAC,0BAA0B,CAAC;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC;AAED;oBACoB;AACpB,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC3F,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;eACe;AACf,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAChC,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC3F,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;gBAGgB;AAChB,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;yEAGyE;AACzE,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACrF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAA0C,EAC1C,WAAW,GAAG,MAAM,CAAC,iBAAiB;IAEtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,WAAW;YAAE,SAAS;QAChF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAqB,EACrB,WAAW,GAAG,MAAM,CAAC,iBAAiB;IAEtC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;gCAOgC;AAChC,MAAM,UAAU,uBAAuB,CACrC,IAAwB;IAExB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC7D,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC7D,OAAO,IAAI,CAAC,cAAc,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAkB,EAClB,WAAW,GAAG,MAAM,CAAC,iBAAiB;IAEtC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,CAAC;AACpE,CAAC;AAED;;wEAEwE;AACxE,MAAM,UAAU,sBAAsB,CACpC,MAAyC,EACzC,YAAoB,EACpB,QAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,YAAY;YAAE,SAAS;QAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,GAAG,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;AACpD,CAAC"}
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"}