loopforge 3.8.3 → 3.9.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 (135) hide show
  1. package/README.md +15 -0
  2. package/dist/audit.d.ts +13 -1
  3. package/dist/audit.d.ts.map +1 -1
  4. package/dist/audit.js +18 -3
  5. package/dist/audit.js.map +1 -1
  6. package/dist/canonical-state.d.ts +1 -2
  7. package/dist/canonical-state.d.ts.map +1 -1
  8. package/dist/canonical-state.js +4 -12
  9. package/dist/canonical-state.js.map +1 -1
  10. package/dist/cli.js +12 -12
  11. package/dist/committed-round.d.ts +48 -23
  12. package/dist/committed-round.d.ts.map +1 -1
  13. package/dist/committed-round.js +214 -149
  14. package/dist/committed-round.js.map +1 -1
  15. package/dist/contract-items.d.ts +3 -2
  16. package/dist/contract-items.d.ts.map +1 -1
  17. package/dist/contract-items.js +18 -7
  18. package/dist/contract-items.js.map +1 -1
  19. package/dist/enforcement-gate.d.ts +15 -5
  20. package/dist/enforcement-gate.d.ts.map +1 -1
  21. package/dist/enforcement-gate.js +60 -159
  22. package/dist/enforcement-gate.js.map +1 -1
  23. package/dist/engine.d.ts.map +1 -1
  24. package/dist/engine.js +20 -14
  25. package/dist/engine.js.map +1 -1
  26. package/dist/evidence-claims.d.ts +6 -5
  27. package/dist/evidence-claims.d.ts.map +1 -1
  28. package/dist/evidence-claims.js +21 -20
  29. package/dist/evidence-claims.js.map +1 -1
  30. package/dist/evidence-provider.d.ts +73 -42
  31. package/dist/evidence-provider.d.ts.map +1 -1
  32. package/dist/evidence-provider.js +437 -138
  33. package/dist/evidence-provider.js.map +1 -1
  34. package/dist/explain.d.ts +18 -3
  35. package/dist/explain.d.ts.map +1 -1
  36. package/dist/explain.js +26 -5
  37. package/dist/explain.js.map +1 -1
  38. package/dist/field-accounting.d.ts +29 -0
  39. package/dist/field-accounting.d.ts.map +1 -0
  40. package/dist/field-accounting.js +132 -0
  41. package/dist/field-accounting.js.map +1 -0
  42. package/dist/index.d.ts +7 -3
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +4 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/loop-compiler.d.ts +5 -11
  47. package/dist/loop-compiler.d.ts.map +1 -1
  48. package/dist/loop-compiler.js +30 -90
  49. package/dist/loop-compiler.js.map +1 -1
  50. package/dist/loop-store.d.ts +3 -0
  51. package/dist/loop-store.d.ts.map +1 -1
  52. package/dist/loop-store.js +21 -11
  53. package/dist/loop-store.js.map +1 -1
  54. package/dist/mcp/round-lifecycle.d.ts +30 -2
  55. package/dist/mcp/round-lifecycle.d.ts.map +1 -1
  56. package/dist/mcp/round-lifecycle.js +206 -25
  57. package/dist/mcp/round-lifecycle.js.map +1 -1
  58. package/dist/mcp/server.d.ts.map +1 -1
  59. package/dist/mcp/server.js +17 -14
  60. package/dist/mcp/server.js.map +1 -1
  61. package/dist/mcp/session.d.ts +15 -1
  62. package/dist/mcp/session.d.ts.map +1 -1
  63. package/dist/mcp/session.js +34 -1
  64. package/dist/mcp/session.js.map +1 -1
  65. package/dist/mcp/submission-boundary.d.ts +5 -2
  66. package/dist/mcp/submission-boundary.d.ts.map +1 -1
  67. package/dist/mcp/submission-boundary.js +38 -6
  68. package/dist/mcp/submission-boundary.js.map +1 -1
  69. package/dist/mcp/tools.d.ts.map +1 -1
  70. package/dist/mcp/tools.js +73 -45
  71. package/dist/mcp/tools.js.map +1 -1
  72. package/dist/policy-metrics.d.ts +14 -0
  73. package/dist/policy-metrics.d.ts.map +1 -1
  74. package/dist/policy-metrics.js +53 -1
  75. package/dist/policy-metrics.js.map +1 -1
  76. package/dist/policy.d.ts +1 -3
  77. package/dist/policy.d.ts.map +1 -1
  78. package/dist/policy.js +3 -4
  79. package/dist/policy.js.map +1 -1
  80. package/dist/prompt-assembler.d.ts.map +1 -1
  81. package/dist/prompt-assembler.js +71 -35
  82. package/dist/prompt-assembler.js.map +1 -1
  83. package/dist/protocol.d.ts +186 -19
  84. package/dist/protocol.d.ts.map +1 -1
  85. package/dist/protocol.js +4 -3
  86. package/dist/protocol.js.map +1 -1
  87. package/dist/replay.d.ts +3 -0
  88. package/dist/replay.d.ts.map +1 -1
  89. package/dist/replay.js +46 -7
  90. package/dist/replay.js.map +1 -1
  91. package/dist/round-contract.d.ts +5 -4
  92. package/dist/round-contract.d.ts.map +1 -1
  93. package/dist/round-contract.js +4 -4
  94. package/dist/round-contract.js.map +1 -1
  95. package/dist/round-coordinator.d.ts +11 -1
  96. package/dist/round-coordinator.d.ts.map +1 -1
  97. package/dist/round-coordinator.js +33 -14
  98. package/dist/round-coordinator.js.map +1 -1
  99. package/dist/round-driver.d.ts +6 -1
  100. package/dist/round-driver.d.ts.map +1 -1
  101. package/dist/round-driver.js +3 -0
  102. package/dist/round-driver.js.map +1 -1
  103. package/dist/round-facts.d.ts +3 -2
  104. package/dist/round-facts.d.ts.map +1 -1
  105. package/dist/round-facts.js +4 -4
  106. package/dist/round-facts.js.map +1 -1
  107. package/dist/round-transaction.d.ts +24 -10
  108. package/dist/round-transaction.d.ts.map +1 -1
  109. package/dist/round-transaction.js +83 -19
  110. package/dist/round-transaction.js.map +1 -1
  111. package/dist/self-eval.d.ts +28 -10
  112. package/dist/self-eval.d.ts.map +1 -1
  113. package/dist/self-eval.js +522 -128
  114. package/dist/self-eval.js.map +1 -1
  115. package/dist/submission-diagnostics.d.ts +12 -0
  116. package/dist/submission-diagnostics.d.ts.map +1 -0
  117. package/dist/submission-diagnostics.js +12 -0
  118. package/dist/submission-diagnostics.js.map +1 -0
  119. package/dist/submission-guidance.d.ts +119 -0
  120. package/dist/submission-guidance.d.ts.map +1 -0
  121. package/dist/submission-guidance.js +766 -0
  122. package/dist/submission-guidance.js.map +1 -0
  123. package/dist/submission-receipt.d.ts +48 -0
  124. package/dist/submission-receipt.d.ts.map +1 -0
  125. package/dist/submission-receipt.js +336 -0
  126. package/dist/submission-receipt.js.map +1 -0
  127. package/dist/verification-gate.d.ts +13 -7
  128. package/dist/verification-gate.d.ts.map +1 -1
  129. package/dist/verification-gate.js +149 -90
  130. package/dist/verification-gate.js.map +1 -1
  131. package/dist/version.d.ts +1 -1
  132. package/dist/version.js +1 -1
  133. package/loop_policy.json +58 -59
  134. package/package.json +68 -67
  135. package/skills/perception/SKILL.md +90 -42
@@ -18,6 +18,7 @@
18
18
  * changes run order or verdict aggregation. Round Contract checks are further
19
19
  * framed as declaration / execution / closure stages in their doc comments.
20
20
  */
21
+ import { afterObservations, gitDeltaState } from "./evidence-provider.js";
21
22
  import { isPassedAfterObservation } from "./evidence-provider.js";
22
23
  import { getPolicy } from "./policy.js";
23
24
  import { makeVerificationFlag, makeVerificationResult } from "./protocol.js";
@@ -178,32 +179,34 @@ export function collectOutOfScopeFiles(files, scope) {
178
179
  * The drift arm does not depend on git: when the baseline exists the fact is
179
180
  * observable, and failing open on an observable fact is not fail-open, it is
180
181
  * a hole. */
181
- function commandTampered(observation, gitObservation, drifted) {
182
+ function commandTampered(observation, git, drifted) {
182
183
  const entrypoints = observation.kind === "command"
183
184
  ? observation.data.entrypointFiles ?? []
184
185
  : [];
185
- const gitFiles = gitObservation ? new Set(gitObservation.files) : null;
186
+ // The absolute entrypoint-trust arm always runs; the Git arm runs only when
187
+ // the change set is observed. An unknown boundary is not an empty one.
188
+ const gitFiles = git.state === "observed" ? git.changedFiles : null;
186
189
  const entrypointModified = entrypoints.some((file) => drifted.has(file) || (gitFiles?.has(file) ?? false));
187
- const testFilesModified = gitObservation
188
- ? gitObservation.files.some((file) => isTestFile(file))
190
+ const testFilesModified = git.state === "observed"
191
+ ? [...git.changedFiles].some((file) => isTestFile(file))
189
192
  : false;
190
193
  return { entrypointModified, testFilesModified };
191
194
  }
192
195
  /** v3.8: The single machine-backed predicate lives in evidence-provider.ts.
193
- * This wrapper resolves the round's git observation once for a collection. */
194
- function passedAfterCommand(observations) {
195
- const git = observations.find((item) => item.providerId === "git") ?? null;
196
- const changed = git ? new Set(git.files) : null;
197
- return observations.find((item) => isPassedAfterObservation(item, changed)) ?? null;
196
+ * This wrapper resolves the round's Git state once for a collection. */
197
+ function passedAfterCommand(deltas) {
198
+ const git = gitDeltaState(deltas);
199
+ return afterObservations(deltas)
200
+ .find((observation) => isPassedAfterObservation(observation, git)) ?? null;
198
201
  }
199
202
  /** v3.2: Derive the machine-verification status of a round. The verification
200
203
  * capability is modeled explicitly (verified / unavailable / absent) instead
201
204
  * of letting evidence-dependent checks silently disappear when snapshots are
202
205
  * missing — the fix for the "weakest when it matters most" gap. */
203
- export function deriveEvidenceStatus(selfEval, evidenceSnapshots) {
204
- const gitSnap = evidenceSnapshots.find((item) => item.providerId === "git") ?? null;
205
- const gitObserved = gitSnap !== null && gitSnap.files.length > 0;
206
- const command = passedAfterCommand(evidenceSnapshots);
206
+ export function deriveEvidenceStatus(selfEval, evidenceDeltas) {
207
+ const git = gitDeltaState(evidenceDeltas);
208
+ const gitObserved = git.state === "observed";
209
+ const command = passedAfterCommand(evidenceDeltas);
207
210
  const commandVerified = command !== null;
208
211
  // testsMachineBacked: agent-reported tests_reported agree with a passed
209
212
  // command's parsed stdout (the same comparison checkCommandEvidenceIntegrity
@@ -217,21 +220,22 @@ export function deriveEvidenceStatus(selfEval, evidenceSnapshots) {
217
220
  parsed.failed === reported.failed &&
218
221
  parsed.skipped === reported.skipped;
219
222
  }
220
- // reportedFilesMatch: agent-reported files_changed equals the git diff set.
221
- let reportedFilesMatch = false;
222
- if (gitSnap && selfEval.execution_report) {
223
+ // reportedFilesMatch: agent-reported files_changed equals the observed
224
+ // change set. Unknown is null, not false.
225
+ let reportedFilesMatch = null;
226
+ if (git.state === "observed" && selfEval.execution_report) {
223
227
  const reportedSet = [...(selfEval.execution_report.files_changed ?? [])].sort();
224
- const actualSet = [...gitSnap.files].sort();
228
+ const actualSet = [...git.changedFiles].sort();
225
229
  reportedFilesMatch = reportedSet.length === actualSet.length &&
226
230
  reportedSet.every((file, index) => file === actualSet[index]);
227
231
  }
228
232
  // v3.3: git observation alone is no longer "verified" — the machine seeing
229
233
  // file changes is not the machine verifying success. Only a passed
230
234
  // after-phase command (observed by the runtime itself) upgrades a round.
231
- // Any other snapshot presence is "unavailable": the machine saw activity
235
+ // Any other delta presence is "unavailable": the machine saw activity
232
236
  // (or nothing at all this round) but could not verify the success claim,
233
237
  // so R8 warns and trust drops (v3.6: merged success_unverified semantics).
234
- const providerStatus = evidenceSnapshots.length === 0
238
+ const providerStatus = evidenceDeltas.length === 0
235
239
  ? "absent"
236
240
  : commandVerified
237
241
  ? "verified"
@@ -239,6 +243,7 @@ export function deriveEvidenceStatus(selfEval, evidenceSnapshots) {
239
243
  return {
240
244
  providerStatus,
241
245
  gitObserved,
246
+ gitChangeState: git.state,
242
247
  commandVerified,
243
248
  testsMachineBacked,
244
249
  reportedFilesMatch,
@@ -368,15 +373,13 @@ function checkRetroactiveClaims(selfEval, vaultEntries, currentRound) {
368
373
  // hid all but the first problem until the next round.
369
374
  return flags.length > 0 ? flags : null;
370
375
  }
371
- /** v2.12/v3.6/v3.7: success without machine backing — the single
376
+ /** v2.12/v3.6/v3.7/v3.9.1: success without machine backing — the single
372
377
  * "success evidence" semantic. Two arms, evaluated in order:
373
- * 1. Empty/missing-evidence arm (v3.7: absorbed the enforcement-only
374
- * empty_success rule): success=true with NO execution_report at all, or
375
- * with files_changed empty AND tests_reported null, is an error
376
- * unconditionally — BEFORE the providerStatus early-exit, so a passed
377
- * command never rescues it (execution_report stays mandatory), and
378
- * no declared no_change_reason downgrades it ("no change" with literally
379
- * no evidence recorded is still an unbacked claim).
378
+ * 1. Empty/missing-report arm: success=true with NO execution_report at all,
379
+ * or with files_changed empty AND tests_reported null, is a WARN. It is a
380
+ * reporting gap, not an acceptance gate: 3.9.1 does not reject a round
381
+ * because an optional report field was not filled. The warn still keeps
382
+ * success out of the success trajectory.
380
383
  * 2. Claims arm (v3.6): success=true but the runtime observed no machine
381
384
  * evidence for it. The trigger is the runtime-derived providerStatus
382
385
  * (verified / unavailable / absent) — "verified" requires an UNTAMPERED
@@ -394,19 +397,23 @@ function checkRetroactiveClaims(selfEval, vaultEntries, currentRound) {
394
397
  function checkSuccessWithoutVerifiedEvidence(selfEval, status) {
395
398
  if (!effectiveSuccess(selfEval))
396
399
  return null;
397
- // v3.7: empty/missing-evidence arm (ex-R3 empty_success posture).
400
+ // v3.9.1: report-coverage arm. A missing/empty execution_report is a
401
+ // REPORTING GAP, never an acceptance gate: 3.9.1 does not reject a round
402
+ // because an optional field was not filled. The machine-evidence arm below
403
+ // remains the verification fact, and the warn still keeps success out of
404
+ // the success trajectory (shouldPushSuccess keys on this check).
398
405
  const ev = selfEval.execution_report;
399
406
  if (!ev || ((ev.files_changed ?? []).length === 0 && ev.tests_reported === null)) {
400
407
  return makeVerificationFlag({
401
- severity: "error",
408
+ severity: "warn",
402
409
  field: "success",
403
410
  check: CHECK_SUCCESS_WITHOUT_VERIFIED_EVIDENCE,
404
411
  detail: ev
405
412
  ? "Agent claims success but execution_report shows no files changed " +
406
- "and no tests were run. There is no verifiable evidence of work."
407
- : "Agent claims success but provided no execution_report. " +
408
- "Every successful round MUST include execution_report with " +
409
- "files_changed, tests_reported, and progress_estimate.",
413
+ "and no tests were run. This is a reporting gap, not machine evidence."
414
+ : "Agent claims success but provided no execution_report. The report is " +
415
+ "expected but missing; this is a reporting gap, not by itself a " +
416
+ "rejection. No machine evidence backs the claim.",
410
417
  });
411
418
  }
412
419
  // Claims arm (v3.6).
@@ -536,16 +543,15 @@ function checkRetractFreshConstraint(selfEval, prevSelfEval, currentRound) {
536
543
  }
537
544
  /** v1.18: Cross-validate agent-reported files_changed against git evidence
538
545
  * from the configured evidence providers (MachineObservation array). */
539
- function checkEvidenceIntegrity(selfEval, evidenceSnapshots) {
546
+ function checkEvidenceIntegrity(selfEval, evidenceDeltas) {
540
547
  if (!selfEval.execution_report)
541
548
  return null;
542
- if (evidenceSnapshots.length === 0)
543
- return null;
544
- const gitSnap = evidenceSnapshots.find((s) => s.providerId === "git");
545
- if (!gitSnap)
549
+ const git = gitDeltaState(evidenceDeltas);
550
+ // An unknown change set cannot contradict the agent's report.
551
+ if (git.state !== "observed")
546
552
  return null;
547
553
  const reported = [...(selfEval.execution_report.files_changed ?? [])].sort();
548
- const actual = [...gitSnap.files].sort();
554
+ const actual = [...git.changedFiles].sort();
549
555
  if (reported.length === 0 && actual.length === 0)
550
556
  return null;
551
557
  if (reported.length === 0 && actual.length > 0) {
@@ -575,10 +581,10 @@ function checkEvidenceIntegrity(selfEval, evidenceSnapshots) {
575
581
  }
576
582
  /** A required, explicitly configured verification command is authoritative
577
583
  * when the Agent claims success. Optional commands remain observational. */
578
- function checkRequiredCommandEvidence(selfEval, evidenceSnapshots) {
584
+ function checkRequiredCommandEvidence(selfEval, evidenceDeltas) {
579
585
  if (!effectiveSuccess(selfEval))
580
586
  return null;
581
- for (const snapshot of evidenceSnapshots) {
587
+ for (const snapshot of afterObservations(evidenceDeltas)) {
582
588
  if (snapshot.kind !== "command")
583
589
  continue;
584
590
  if (snapshot.phase !== "after" || snapshot.data.required !== true)
@@ -679,11 +685,11 @@ export function parseTestOutput(stdout) {
679
685
  *
680
686
  * Non-command evidence providers are skipped (no structural cross-check is
681
687
  * defined for them yet). */
682
- function checkCommandEvidenceIntegrity(selfEval, evidenceSnapshots) {
688
+ function checkCommandEvidenceIntegrity(selfEval, evidenceDeltas) {
683
689
  const reported = selfEval.execution_report?.tests_reported;
684
690
  if (!reported)
685
691
  return null;
686
- for (const snapshot of evidenceSnapshots) {
692
+ for (const snapshot of afterObservations(evidenceDeltas)) {
687
693
  if (snapshot.kind !== "command")
688
694
  continue;
689
695
  if (snapshot.status !== "passed")
@@ -723,13 +729,14 @@ function checkCommandEvidenceIntegrity(selfEval, evidenceSnapshots) {
723
729
  * the agent just rewrote). Test-file changes are normal dev activity (warn:
724
730
  * confirm the tests still verify the task claims). Fail-open when the git
725
731
  * snapshot is missing or the command has no resolvable entrypoint. */
726
- function checkVerificationDomainIntegrity(evidenceSnapshots, drift) {
727
- const git = evidenceSnapshots.find((snapshot) => snapshot.providerId === "git") ?? null;
732
+ function checkVerificationDomainIntegrity(evidenceDeltas, drift) {
733
+ const git = gitDeltaState(evidenceDeltas);
728
734
  // v3.8.3: no git observation is no longer automatically silent — the
729
735
  // trusted baseline answers "did the entrypoint change this round?" without
730
736
  // git, so the drift arm still runs below.
731
- if (!git && drift.length === 0)
737
+ if (git.state === "not_applicable" && drift.length === 0)
732
738
  return null;
739
+ const observations = afterObservations(evidenceDeltas);
733
740
  const drifted = new Set(drift.map((entry) => entry.file));
734
741
  // v3.8.1: EVERY after-phase command is scanned for a tampered entrypoint
735
742
  // before the test-file warn may answer for one of them. `testFilesModified`
@@ -738,7 +745,7 @@ function checkVerificationDomainIntegrity(evidenceSnapshots, drift) {
738
745
  // first command in array order meant a rewritten verification entrypoint
739
746
  // produced no error flag at all, and the enforcement row that reacts to it
740
747
  // never fired. The verdict depended on observation order.
741
- for (const snapshot of evidenceSnapshots) {
748
+ for (const snapshot of observations) {
742
749
  if (!isRecord(snapshot.data) || snapshot.kind !== "command")
743
750
  continue;
744
751
  if (snapshot.phase !== "after")
@@ -766,7 +773,7 @@ function checkVerificationDomainIntegrity(evidenceSnapshots, drift) {
766
773
  });
767
774
  }
768
775
  // Only when NO entrypoint was tampered does the test-file warn stand in.
769
- for (const snapshot of evidenceSnapshots) {
776
+ for (const snapshot of observations) {
770
777
  if (!isRecord(snapshot.data) || snapshot.kind !== "command")
771
778
  continue;
772
779
  if (snapshot.phase !== "after")
@@ -798,13 +805,14 @@ function checkVerificationDomainIntegrity(evidenceSnapshots, drift) {
798
805
  * otherwise be falsely terminated — so overlap is guidance, not a
799
806
  * verdict. (The old error tier for >= 3 overlapping files was removed
800
807
  * for exactly this reason: it fired on honest redos.) */
801
- function checkBacktrackWorkspaceRestore(selfEval, backtrackSkippedFiles, backtrackSkippedFingerprints = {}, evidenceSnapshots = []) {
808
+ function checkBacktrackWorkspaceRestore(selfEval, backtrackSkippedFiles, backtrackSkippedFingerprints = {}, evidenceDeltas = []) {
802
809
  // Machine arm — untouched-since-rollback proof, independent of claims.
803
810
  const failedEntries = Object.entries(backtrackSkippedFingerprints);
804
811
  if (failedEntries.length > 0) {
805
- const git = evidenceSnapshots.find((snapshot) => snapshot.kind === "git" && isRecord(snapshot.data.fingerprints));
806
- const currentFingerprints = git && git.kind === "git"
807
- ? git.data.fingerprints
812
+ const afterGit = evidenceDeltas.find((delta) => delta.kind === "git")?.after;
813
+ const currentFingerprints = afterGit && afterGit.kind === "git" &&
814
+ isRecord(afterGit.data.fingerprints)
815
+ ? afterGit.data.fingerprints
808
816
  : null;
809
817
  if (currentFingerprints) {
810
818
  const untouched = failedEntries
@@ -839,28 +847,73 @@ function checkBacktrackWorkspaceRestore(selfEval, backtrackSkippedFiles, backtra
839
847
  `${overlap.join(", ")}. Verify the workspace was restored.`,
840
848
  });
841
849
  }
842
- /** v2.12: After a backtrack, the working tree must return to the restore
843
- * point's git HEAD. Compares the first 12 characters (short hash), matching
844
- * how git itself disambiguates. */
845
- function checkBacktrackGitHeadRestore(evidenceSnapshots, backtrackTargetGitHead) {
850
+ /** v2.12: After a backtrack, the workspace must return to the restore point:
851
+ * the same git HEAD that round committed, carrying no dirty file the restore
852
+ * point did not already have. Compares HEAD's first 12 characters (short
853
+ * hash), matching how git itself disambiguates.
854
+ *
855
+ * The dirty-set comparison is against the restore point's OWN baseline, not
856
+ * an empty tree: unrelated work in progress in the same workspace is no
857
+ * evidence of a failed restore, while a file the failed rounds left behind
858
+ * is — it is dirty now and was not dirty then. An absent baseline means the
859
+ * restore point's dirt was never observed, so only HEAD can be judged.
860
+ *
861
+ * A redo prepared before the agent restores the workspace has a stale before
862
+ * snapshot, so its first submission is a recovery checkpoint; once the
863
+ * restore is proven, later work may move HEAD freely. */
864
+ function checkBacktrackGitHeadRestore(evidenceDeltas, backtrackTargetGitHead, beforeEvidence = [],
865
+ /** The restore point's own dirty files — undefined when never observed. */
866
+ backtrackTargetDirty) {
846
867
  if (!backtrackTargetGitHead)
847
868
  return null;
848
- const git = evidenceSnapshots.find((snapshot) => snapshot.providerId === "git" && isRecord(snapshot.data) &&
849
- typeof snapshot.data.head === "string");
850
- if (!git)
851
- return null; // git unavailable → cannot verify → skip (fail-open)
852
- const currentHead = git.data.head;
853
- if (currentHead.length === 0)
869
+ const short = (hash) => hash.slice(0, 12);
870
+ const readGit = (observations) => {
871
+ const snapshot = observations.find((item) => item.providerId === "git" && item.status === "observed" && isRecord(item.data) &&
872
+ typeof item.data.head === "string");
873
+ if (!snapshot || !isRecord(snapshot.data))
874
+ return null;
875
+ const data = snapshot.data;
876
+ // v3.9.1: the workspace's dirty set is one explicit list. "Tracked /
877
+ // staged / untracked" were dirty-since-HEAD categories, not the complete
878
+ // boundary, and are gone.
879
+ const dirty = Array.isArray(data.dirty)
880
+ ? data.dirty.filter((file) => typeof file === "string")
881
+ : [];
882
+ return { head: data.head, dirty };
883
+ };
884
+ const foreignDirty = (dirty) => Array.isArray(backtrackTargetDirty)
885
+ ? dirty.filter((file) => !backtrackTargetDirty.includes(file))
886
+ : [];
887
+ const restored = (git) => git !== null && git.head.length > 0 &&
888
+ short(git.head) === short(backtrackTargetGitHead) &&
889
+ foreignDirty(git.dirty).length === 0;
890
+ // When restoration happened before the redo was prepared, the before
891
+ // snapshot already proves it. The redo may then commit new work.
892
+ if (restored(readGit(beforeEvidence)))
854
893
  return null;
855
- if (currentHead.slice(0, 12) === backtrackTargetGitHead.slice(0, 12))
894
+ const afterGit = readGit(afterObservations(evidenceDeltas));
895
+ if (!afterGit)
896
+ return null; // git unavailable → cannot verify → skip (fail-open)
897
+ if (restored(afterGit))
856
898
  return null;
899
+ // Normal lifecycle: prepare captured the pre-restore workspace. The first
900
+ // submission must prove restoration before a later submission can commit.
901
+ const headBack = afterGit.head.length > 0 &&
902
+ short(afterGit.head) === short(backtrackTargetGitHead);
903
+ const left = foreignDirty(afterGit.dirty);
857
904
  return makeVerificationFlag({
858
905
  severity: "error",
859
906
  field: "workspace",
860
907
  check: CHECK_BACKTRACK_WORKSPACE_NOT_RESTORED,
861
- detail: `Workspace HEAD (${currentHead.slice(0, 12)}) does not match the ` +
862
- `backtrack restore commit (${backtrackTargetGitHead.slice(0, 12)}). ` +
863
- `Restore the working tree before continuing.`,
908
+ detail: headBack
909
+ ? `Workspace HEAD is back at the backtrack restore commit ` +
910
+ `(${short(backtrackTargetGitHead)}) but these files were not there at ` +
911
+ `the restore point and are still changed: ${left.slice(0, 5).join(", ")}` +
912
+ `${left.length > 5 ? ` (+${left.length - 5} more)` : ""}. Revert them ` +
913
+ `before redoing the work.`
914
+ : `Workspace HEAD (${short(afterGit.head)}) does not match the backtrack ` +
915
+ `restore commit (${short(backtrackTargetGitHead)}). Submit one recovery ` +
916
+ `evaluation at the restore point before redoing work.`,
864
917
  });
865
918
  }
866
919
  // ═══════════════════════════════════════════════════════════════════════════
@@ -880,22 +933,26 @@ function checkBacktrackGitHeadRestore(evidenceSnapshots, backtrackTargetGitHead)
880
933
  * Git diff files are the machine-authoritative "what actually changed" set.
881
934
  * Empty when there is nothing to compare: no active contract, no declared
882
935
  * scope, or no git observation (cannot observe → fail open). */
883
- export function roundDriftFiles(activeContract, evidenceSnapshots) {
936
+ export function roundDriftFiles(activeContract, evidenceDeltas) {
884
937
  if (!activeContract)
885
938
  return [];
886
939
  if (activeContract.scope.length === 0)
887
940
  return [];
888
- const git = evidenceSnapshots.find((snapshot) => snapshot.providerId === "git");
889
- if (!git)
890
- return []; // git unavailable → cannot observe → fail open
891
- return collectOutOfScopeFiles(git.files, activeContract.scope);
941
+ const git = gitDeltaState(evidenceDeltas);
942
+ if (git.state === "not_applicable")
943
+ return [];
944
+ // An unobservable change set is not "no drift". No verdict; contract-item
945
+ // insufficiency and evidenceIncomplete carry the gap.
946
+ if (git.state === "unknown")
947
+ return null;
948
+ return collectOutOfScopeFiles([...git.changedFiles], activeContract.scope);
892
949
  }
893
950
  /** The round changed files outside the ACTIVE contract's declared scope.
894
951
  * Silent when no active contract exists, it declares no scope, or nothing
895
952
  * drifted out of it. */
896
- function checkRoundScopeDrift(activeContract, evidenceSnapshots) {
897
- const outOfScope = roundDriftFiles(activeContract, evidenceSnapshots);
898
- if (outOfScope.length === 0)
953
+ function checkRoundScopeDrift(activeContract, evidenceDeltas) {
954
+ const outOfScope = roundDriftFiles(activeContract, evidenceDeltas);
955
+ if (outOfScope === null || outOfScope.length === 0)
899
956
  return null;
900
957
  return makeVerificationFlag({
901
958
  severity: "warn",
@@ -963,9 +1020,9 @@ function checkContractPremature(activeContract, statuses, selfEval) {
963
1020
  * entries feed the ACTIVE-contract derivation).
964
1021
  * @param prevSelfEval The agent's self-evaluation from the previous round
965
1022
  * (null for round 1).
966
- * @param evidenceSnapshots v1.18: Evidence snapshots from configured providers.
967
- * Used by checkEvidenceIntegrity for multi-provider
968
- * cross-validation. Defaults to empty array. */
1023
+ * @param evidenceDeltas The derived per-provider before→after deltas.
1024
+ * Evidence checks read `after`; file checks read
1025
+ * `changedFiles`. Defaults to an empty array. */
969
1026
  /** v3.7.1: Opt-in round blocking for the gate layer. For every gate id the
970
1027
  * round cites (gate_ids), the gate_opened record must exist, must be a
971
1028
  * USER gate, and must have an approved gate_decision. Error flags list
@@ -1025,7 +1082,7 @@ function checkUserGateUnresolved(selfEval, gateEntries) {
1025
1082
  `loopforge_gate_resolve before claiming the action is done.`,
1026
1083
  });
1027
1084
  }
1028
- export function verifySelfEvaluation(selfEval, currentRound, vaultEntries, prevSelfEval = null, evidenceSnapshots = [],
1085
+ export function verifySelfEvaluation(selfEval, currentRound, vaultEntries, prevSelfEval = null, evidenceDeltas = [],
1029
1086
  /** v2.13: Files from skipped backtrack rounds. If the agent's
1030
1087
  * files_changed overlaps significantly with these, the workspace
1031
1088
  * was not properly restored before working. */
@@ -1043,7 +1100,9 @@ gateEntries = [],
1043
1100
  /** v3.8.3: entrypoint files that no longer match the trusted round-start
1044
1101
  * baseline. Derived by the caller (it needs the in-flight trust map and
1045
1102
  * filesystem access); this function stays a pure function of its inputs. */
1046
- entrypointDrift = []) {
1103
+ entrypointDrift = [], beforeEvidence = [],
1104
+ /** v3.9: the restore point's own dirty files (undefined = never observed). */
1105
+ backtrackTargetDirty) {
1047
1106
  const flags = [];
1048
1107
  // Collect violations from all previous vault entries for duplicate-discovery
1049
1108
  // and other checks that need deeper history.
@@ -1066,16 +1125,16 @@ entrypointDrift = []) {
1066
1125
  rounds: committedRounds,
1067
1126
  currentRound,
1068
1127
  currentReport: selfEval.execution_report ?? null,
1069
- currentObservations: evidenceSnapshots,
1128
+ currentDeltas: evidenceDeltas,
1070
1129
  commands: getPolicy().evidence.commands ?? [],
1071
1130
  });
1072
1131
  // v2.12: Derived claim provenance — which reported criteria completions
1073
1132
  // are backed by machine evidence (pure derivation, not persisted).
1074
- const claimView = deriveClaimView(selfEval, evidenceSnapshots);
1133
+ const claimView = deriveClaimView(selfEval, evidenceDeltas);
1075
1134
  // v3.2: Runtime machine-verification status (git observed / command passed /
1076
1135
  // absent). v3.6: feeds the merged R8 check (providerStatus lens) that
1077
1136
  // never self-skips.
1078
- const evidenceStatus = deriveEvidenceStatus(selfEval, evidenceSnapshots);
1137
+ const evidenceStatus = deriveEvidenceStatus(selfEval, evidenceDeltas);
1079
1138
  // Run all checks
1080
1139
  // v3.3.1: a check may return several flags (checkRetroactiveClaims raises
1081
1140
  // one per offending claim) — the previous single-flag contract truncated
@@ -1096,22 +1155,22 @@ entrypointDrift = []) {
1096
1155
  () => checkRecurringViolation(selfEval, prevSelfEval, vaultEntries, currentRound),
1097
1156
  () => checkRetractFreshConstraint(selfEval, prevSelfEval, currentRound),
1098
1157
  // v1.18: Cross-validate agent-reported files_changed against git evidence
1099
- () => checkEvidenceIntegrity(selfEval, evidenceSnapshots),
1100
- () => checkRequiredCommandEvidence(selfEval, evidenceSnapshots),
1158
+ () => checkEvidenceIntegrity(selfEval, evidenceDeltas),
1159
+ () => checkRequiredCommandEvidence(selfEval, evidenceDeltas),
1101
1160
  // v2.0: Cross-validate agent-reported tests_reported against command output
1102
- () => checkCommandEvidenceIntegrity(selfEval, evidenceSnapshots),
1161
+ () => checkCommandEvidenceIntegrity(selfEval, evidenceDeltas),
1103
1162
  // v3.3: Verification domain integrity — command entrypoint / test files
1104
1163
  // changed in the same round the command ran
1105
- () => checkVerificationDomainIntegrity(evidenceSnapshots, entrypointDrift),
1164
+ () => checkVerificationDomainIntegrity(evidenceDeltas, entrypointDrift),
1106
1165
  // v2.13: Post-backtrack workspace restore check
1107
- () => checkBacktrackWorkspaceRestore(selfEval, backtrackSkippedFiles, backtrackSkippedFingerprints, evidenceSnapshots),
1166
+ () => checkBacktrackWorkspaceRestore(selfEval, backtrackSkippedFiles, backtrackSkippedFingerprints, evidenceDeltas),
1108
1167
  // v2.12: Post-backtrack git HEAD restore check
1109
- () => checkBacktrackGitHeadRestore(evidenceSnapshots, backtrackTargetGitHead),
1168
+ () => checkBacktrackGitHeadRestore(evidenceDeltas, backtrackTargetGitHead, beforeEvidence, backtrackTargetDirty),
1110
1169
  // v3.8: Round Contract checks over the derived item model. Declaration
1111
1170
  // quality is enforced structurally (contract_invalid) before the round
1112
1171
  // advances, so the gate only reports execution state: scope drift,
1113
1172
  // claimed-but-unverified items, and an ignored replacement proposal.
1114
- () => checkRoundScopeDrift(activeContract, evidenceSnapshots),
1173
+ () => checkRoundScopeDrift(activeContract, evidenceDeltas),
1115
1174
  () => checkContractItemsUnverified(contractStatuses),
1116
1175
  () => checkContractPremature(activeContract, contractStatuses, selfEval),
1117
1176
  // v3.7.1: opt-in gate-layer blocking (skipped when disabled)
@@ -1144,7 +1203,7 @@ entrypointDrift = []) {
1144
1203
  // and the old self-reported `>= 0.95` guard said it with the agent's own
1145
1204
  // number.
1146
1205
  const machineBackedSuccess = effectiveSuccess(selfEval) &&
1147
- deriveEvidenceStatus(selfEval, evidenceSnapshots).providerStatus === "verified";
1206
+ evidenceStatus.providerStatus === "verified";
1148
1207
  return makeVerificationResult({ verdict, flags, machineBackedSuccess });
1149
1208
  }
1150
1209
  //# sourceMappingURL=verification-gate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verification-gate.js","sourceRoot":"","sources":["../src/verification-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-gate.js","sourceRoot":"","sources":["../src/verification-gate.ts"],"names":[],"mappings":"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"}