loopforge 3.7.0 → 3.7.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 (95) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +17 -5
  3. package/dist/canonical-state.d.ts +23 -2
  4. package/dist/canonical-state.d.ts.map +1 -1
  5. package/dist/canonical-state.js +148 -27
  6. package/dist/canonical-state.js.map +1 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +8 -8
  9. package/dist/cli.js.map +1 -1
  10. package/dist/cognitive-facts.d.ts.map +1 -1
  11. package/dist/cognitive-facts.js +2 -3
  12. package/dist/cognitive-facts.js.map +1 -1
  13. package/dist/cognitive-governance.d.ts +30 -6
  14. package/dist/cognitive-governance.d.ts.map +1 -1
  15. package/dist/cognitive-governance.js +74 -18
  16. package/dist/cognitive-governance.js.map +1 -1
  17. package/dist/committed-round.d.ts +7 -4
  18. package/dist/committed-round.d.ts.map +1 -1
  19. package/dist/committed-round.js +48 -8
  20. package/dist/committed-round.js.map +1 -1
  21. package/dist/enforcement-gate.d.ts +24 -19
  22. package/dist/enforcement-gate.d.ts.map +1 -1
  23. package/dist/enforcement-gate.js +100 -20
  24. package/dist/enforcement-gate.js.map +1 -1
  25. package/dist/engine.d.ts +10 -5
  26. package/dist/engine.d.ts.map +1 -1
  27. package/dist/engine.js +50 -30
  28. package/dist/engine.js.map +1 -1
  29. package/dist/evidence-provider.d.ts +7 -2
  30. package/dist/evidence-provider.d.ts.map +1 -1
  31. package/dist/evidence-provider.js +54 -9
  32. package/dist/evidence-provider.js.map +1 -1
  33. package/dist/generate-schema.js +104 -43
  34. package/dist/generate-schema.js.map +1 -1
  35. package/dist/index.d.ts +2 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/loop-compiler.d.ts +18 -4
  40. package/dist/loop-compiler.d.ts.map +1 -1
  41. package/dist/loop-compiler.js +167 -83
  42. package/dist/loop-compiler.js.map +1 -1
  43. package/dist/mcp/round-lifecycle.d.ts +10 -0
  44. package/dist/mcp/round-lifecycle.d.ts.map +1 -1
  45. package/dist/mcp/round-lifecycle.js +126 -17
  46. package/dist/mcp/round-lifecycle.js.map +1 -1
  47. package/dist/mcp/server.d.ts.map +1 -1
  48. package/dist/mcp/server.js +12 -3
  49. package/dist/mcp/server.js.map +1 -1
  50. package/dist/mcp/session.d.ts +32 -2
  51. package/dist/mcp/session.d.ts.map +1 -1
  52. package/dist/mcp/session.js +166 -50
  53. package/dist/mcp/session.js.map +1 -1
  54. package/dist/mcp/tools.d.ts.map +1 -1
  55. package/dist/mcp/tools.js +169 -38
  56. package/dist/mcp/tools.js.map +1 -1
  57. package/dist/policy.d.ts +10 -2
  58. package/dist/policy.d.ts.map +1 -1
  59. package/dist/policy.js +3 -2
  60. package/dist/policy.js.map +1 -1
  61. package/dist/prompt-assembler.d.ts +6 -1
  62. package/dist/prompt-assembler.d.ts.map +1 -1
  63. package/dist/prompt-assembler.js +41 -48
  64. package/dist/prompt-assembler.js.map +1 -1
  65. package/dist/protocol.d.ts +47 -27
  66. package/dist/protocol.d.ts.map +1 -1
  67. package/dist/protocol.js +5 -6
  68. package/dist/protocol.js.map +1 -1
  69. package/dist/round-coordinator.d.ts +19 -0
  70. package/dist/round-coordinator.d.ts.map +1 -1
  71. package/dist/round-coordinator.js +62 -4
  72. package/dist/round-coordinator.js.map +1 -1
  73. package/dist/round-driver.d.ts +4 -0
  74. package/dist/round-driver.d.ts.map +1 -1
  75. package/dist/round-driver.js +2 -0
  76. package/dist/round-driver.js.map +1 -1
  77. package/dist/round-transaction.d.ts +4 -0
  78. package/dist/round-transaction.d.ts.map +1 -1
  79. package/dist/round-transaction.js +9 -0
  80. package/dist/round-transaction.js.map +1 -1
  81. package/dist/self-eval.d.ts +41 -3
  82. package/dist/self-eval.d.ts.map +1 -1
  83. package/dist/self-eval.js +125 -13
  84. package/dist/self-eval.js.map +1 -1
  85. package/dist/verification-gate.d.ts +14 -16
  86. package/dist/verification-gate.d.ts.map +1 -1
  87. package/dist/verification-gate.js +162 -93
  88. package/dist/verification-gate.js.map +1 -1
  89. package/dist/version.d.ts +5 -0
  90. package/dist/version.d.ts.map +1 -0
  91. package/dist/version.js +5 -0
  92. package/dist/version.js.map +1 -0
  93. package/loop_policy.json +19 -3
  94. package/package.json +7 -7
  95. package/skills/perception/SKILL.md +53 -15
@@ -17,7 +17,7 @@
17
17
  * with stopReason "enforcement_terminated".
18
18
  */
19
19
  import { makeEnforcementResult } from "./protocol.js";
20
- import { machineProgressSeries, CHECK_SUCCESS_WITH_REMAINING_CRITERIA, CHECK_RECURRING_VIOLATION, CHECK_SUCCESS_WITHOUT_VERIFIED_EVIDENCE, CHECK_BACKTRACK_WORKSPACE_NOT_RESTORED, CHECK_REQUIRED_COMMAND_FAILED, CHECK_COMMAND_EVIDENCE_MISMATCH, CHECK_OUTCOME_SUCCESS_CONTRADICTION, CHECK_VERIFICATION_ENTRYPOINT_MODIFIED, CHECK_PREMATURE_BOUNDARY, CHECK_ROUND_SCOPE_DRIFT, CHECK_CONTRACT_COMPLETION_UNVERIFIED } from "./verification-gate.js";
20
+ import { machineProgressSeries, CHECK_SUCCESS_WITH_REMAINING_CRITERIA, CHECK_RECURRING_VIOLATION, CHECK_SUCCESS_WITHOUT_VERIFIED_EVIDENCE, CHECK_BACKTRACK_WORKSPACE_NOT_RESTORED, CHECK_REQUIRED_COMMAND_FAILED, CHECK_COMMAND_EVIDENCE_MISMATCH, CHECK_OUTCOME_SUCCESS_CONTRADICTION, CHECK_VERIFICATION_ENTRYPOINT_MODIFIED, CHECK_PREMATURE_BOUNDARY, CHECK_ROUND_SCOPE_DRIFT, CHECK_CONTRACT_COMPLETION_UNVERIFIED, CHECK_USER_GATE_UNRESOLVED } from "./verification-gate.js";
21
21
  import { deriveConstraintId, deriveCriterionId, deriveSubGoalId } from "./loop-compiler.js";
22
22
  import { getPolicy } from "./policy.js";
23
23
  import { STABLE_ID_RE, isRecord, entryRound, extractFilePathTokens } from "./token-utils.js";
@@ -138,22 +138,52 @@ export function findBacktrackTargetGitHead(restoreRound, vaultEntries) {
138
138
  }
139
139
  return null;
140
140
  }
141
- /** Build the backtrack prompt injected at the top of the restored round.
142
- *
143
- * v2.13: Includes concrete workspace restore instructions with affected
144
- * file lists from skipped rounds. The agent must restore the working tree
145
- * to the clean round's state before proceeding. */
146
- export function buildBacktrackPrompt(fromRound, toRound, triggerRule, skippedDiscoveries,
141
+ export function buildBacktrackPrompt(fromRound, toRound, triggerRule, skippedDiscoveries,
147
142
  /** v2.13: Files changed in the skipped rounds (from evidence snapshots).
148
143
  * Used to show the agent exactly what needs to be reverted. */
149
- skippedFiles = [],
144
+ skippedFiles = [],
150
145
  /** v2.12: Git HEAD commit hash at the backtrack point (current HEAD).
151
146
  * The agent must discard work back to the clean round's state. */
152
- gitHead) {
147
+ gitHead,
148
+ /** v3.7.1: The redo submission's roundId (loop:<id>:round:<toRound+1>). */
149
+ recoveryRoundId,
150
+ /** v3.7.1: Derived Recovery Brief facts — committed facts + the
151
+ * in-flight attempt only; never rejected payloads. */
152
+ recovery) {
153
153
  const lines = [
154
154
  `## ⛔ Backtrack — Round ${fromRound} → Restored to Round ${toRound}`,
155
155
  "",
156
156
  ];
157
+ // ── Recovery Brief (v3.7.1) ──────────────────────────────────────────
158
+ // A compact structured summary at the top of the rollback directive. The
159
+ // detailed sections below (workspace restore, discoveries, instructions)
160
+ // keep their existing wording; the brief exists so the agent cannot miss
161
+ // why it was rolled back, what failed, and what the redo round is.
162
+ if (recovery) {
163
+ lines.push("### Recovery Brief", "");
164
+ lines.push(`- **Trigger**: ${triggerRule}`);
165
+ lines.push(`- **Restored to round**: ${toRound} (the redo is round ${toRound + 1})`);
166
+ if (recoveryRoundId) {
167
+ lines.push(`- **Recovery Round ID**: \`${recoveryRoundId}\``);
168
+ }
169
+ if (recovery.failedRounds.length > 0) {
170
+ lines.push(`- **Failed rounds**: ${recovery.failedRounds.join(", ")}`);
171
+ const shown = recovery.approaches.slice(0, 6);
172
+ for (const approach of shown) {
173
+ lines.push(` - Failed approach: ${approach}`);
174
+ }
175
+ if (recovery.approaches.length > shown.length) {
176
+ lines.push(` - … and ${recovery.approaches.length - shown.length} more failed approaches`);
177
+ }
178
+ }
179
+ if (recovery.wrongAssumptions.length > 0) {
180
+ lines.push("- **Falsified assumptions** (do not rebuild on these):");
181
+ for (const assumption of recovery.wrongAssumptions.slice(0, 5)) {
182
+ lines.push(` - ${assumption}`);
183
+ }
184
+ }
185
+ lines.push("");
186
+ }
157
187
  // ── Why This Happened ────────────────────────────────────────────────
158
188
  // v3.7: stall and flatline are one evaluator emitting progress_stall; the
159
189
  // former flatline-specific wording ("zero forward motion → radically
@@ -197,7 +227,7 @@ gitHead) {
197
227
  "> with unrestored files will be **rejected**.", "");
198
228
  // ── What Must Change ──────────────────────────────────────────────────
199
229
  lines.push("### What Must Change", "", "- Do **NOT** repeat the approach used in the skipped rounds.", "- Try a **different** task decomposition or technique.", "- If the current sub-goal is stuck, consider canceling it " +
200
- "(`canceled_subtasks`) and working on a different one.",
230
+ "(`subgoal_updates` to canceled) and working on a different one.",
201
231
  // v3.5: the restored Current Task may be the very Round Contract that
202
232
  // stalled — the agent must be told the sanctioned way to revise it
203
233
  // (outcome=blocked closes the active contract; the revised proposal in
@@ -455,12 +485,22 @@ function enforceScopeDrift(flags, selfEval, consecutiveRejections, vaultEntries
455
485
  return makeEnforcementResult({
456
486
  action: "reject",
457
487
  reason: flag.detail,
488
+ // L3 (v3.7.x): option (b) previously told the agent to "extend the scope
489
+ // in your re-declared round_contract" — structurally unreachable: while a
490
+ // contract is ACTIVE, a replacement proposal is ignored as premature, so
491
+ // the guidance dead-ended into repeated rejects/termination. The only
492
+ // legal scope change is to CLOSE the active contract first: resubmit with
493
+ // outcome="blocked" (blocker naming the too-narrow scope) and the
494
+ // extended scope as the NEXT round's contract in the same submission.
458
495
  fix_instructions: "Files changed outside the contract's declared scope. You must either: " +
459
- "(a) revert the out-of-scope changes, or (b) extend the scope in your " +
460
- "re-declared round_contract AND explain the pivot in drift_clarification " +
461
- "with concrete file paths (≥ 20 characters, real anchors). Weak or " +
462
- "missing clarifications are rejected; repeated scope drift terminates " +
463
- "the loop." + escalation,
496
+ "(a) revert the out-of-scope changes, or (b) legally extend the scope: " +
497
+ "a replacement contract is IGNORED while the current one is active, so " +
498
+ "resubmit this work with outcome: \"blocked\" (blocker naming the " +
499
+ "too-narrow scope) plus the extended scope as the next round's " +
500
+ "round_contract, and explain the pivot in drift_clarification with " +
501
+ "concrete file paths (≥ 20 characters, real anchors). Weak or missing " +
502
+ "clarifications are rejected; repeated scope drift terminates the loop." +
503
+ escalation,
464
504
  check: "round_scope_drift",
465
505
  });
466
506
  }
@@ -938,6 +978,8 @@ const RULE_TABLE = [
938
978
  { category: "progress_recovery", checks: ["max_rejections"], ladder: "counter" },
939
979
  { category: "plan_drift", checks: ["intent_drift"], ladder: "internal", clarificationAllowed: true },
940
980
  { category: "progress_recovery", checks: ["backtrack_workspace_not_restored"], ladder: "internal", backtrackAllowed: true },
981
+ // v3.7.1: cited gates without an approved human decision
982
+ { category: "contract_scope", checks: ["user_gate_unresolved"], ladder: "uniform", terminalAfter: 2, noticeOnRepeat: true },
941
983
  ];
942
984
  const RULE_TABLE_BY_ID = new Map();
943
985
  for (const row of RULE_TABLE) {
@@ -961,9 +1003,35 @@ for (const row of RULE_TABLE) {
961
1003
  * @param consecutiveRejections How many consecutive rounds have already been rejected.
962
1004
  * Starts at 0; increments on each reject; resets on accept.
963
1005
  */
964
- export function enforceRound(selfEval, verifyResult, currentRound, vaultEntries, consecutiveRejections = 0,
1006
+ /** v3.7.1: user_gate_unresolved — the round cites gates without an
1007
+ * approved human decision. Reject; the uniform ladder escalates repeats
1008
+ * (the agent should pause and obtain approval — never resubmit a claim of
1009
+ * completed high-risk work). */
1010
+ function enforceUserGateUnresolved(flags) {
1011
+ const flag = flags.find((f) => f.check === CHECK_USER_GATE_UNRESOLVED && f.severity === "error");
1012
+ if (!flag)
1013
+ return null;
1014
+ return makeEnforcementResult({
1015
+ action: "reject",
1016
+ reason: flag.detail,
1017
+ fix_instructions: "The round depends on a high-risk action with no approved human " +
1018
+ "decision. Run loopforge_gate_check with the action, present the " +
1019
+ "approval question, and call loopforge_gate_resolve only after the " +
1020
+ "human decides. Then resubmit with the approved gate id in " +
1021
+ "evaluation.gate_ids. Do NOT claim the action is done while it is " +
1022
+ "unapproved — safe preparation work never needs a gate.",
1023
+ check: CHECK_USER_GATE_UNRESOLVED,
1024
+ });
1025
+ }
1026
+ export function enforceRound(selfEval, verifyResult, currentRound, vaultEntries, consecutiveRejections = 0,
965
1027
  /** v2.12: Current clarification streak for R7 escalation. */
966
- driftClarificationStreak = 0) {
1028
+ driftClarificationStreak = 0,
1029
+ /** L4 (v3.7.x): which check rejected the PREVIOUS round. The coordinator
1030
+ * resets consecutiveRejections to 1 whenever the check changes, so the
1031
+ * counter only ever measures one check's streak — this field names that
1032
+ * check and lets uniform rows escalate on THEIR OWN streak instead of
1033
+ * inheriting an unrelated history. */
1034
+ lastRejectionCheck = "") {
967
1035
  const { flags } = verifyResult;
968
1036
  // Run enforcement rules in priority order — the array order IS the
969
1037
  // priority; the R-labels in the comments are historical (RULE_TABLE is
@@ -996,6 +1064,8 @@ driftClarificationStreak = 0) {
996
1064
  () => enforceProgressStall(selfEval, flags, currentRound, vaultEntries, consecutiveRejections),
997
1065
  // R6: rejection-counter catch-all (evaluated only when no row above
998
1066
  // fired — a clean-looking round carrying a high persisted counter)
1067
+ // v3.7.1: cited gate without an approved human decision
1068
+ () => enforceUserGateUnresolved(flags),
999
1069
  () => enforceMaxRejections(consecutiveRejections),
1000
1070
  // v2.12: R7 — intent drift; its weak-clarification streak is a separate
1001
1071
  // counter and never mixes with the global rejection count
@@ -1020,16 +1090,26 @@ driftClarificationStreak = 0) {
1020
1090
  ? RULE_TABLE_BY_ID.get(result.check)
1021
1091
  : undefined;
1022
1092
  if (result.action === "reject" && row && row.ladder === "uniform") {
1023
- if (consecutiveRejections >= (row.terminalAfter ?? 2)) {
1093
+ // L4: uniform rows escalate on their OWN consecutive streak only.
1094
+ // consecutiveRejections is the streak of the PREVIOUS round's check
1095
+ // (the coordinator resets it to 1 whenever the check changes) — a
1096
+ // streak earned by a DIFFERENT check must not convert this first
1097
+ // occurrence into termination. The user_gate row is the sharp case:
1098
+ // its recovery is human approval, so a gate cited after unrelated
1099
+ // rejections must reject with instructions, not kill the loop.
1100
+ const ownStreak = lastRejectionCheck === result.check
1101
+ ? consecutiveRejections
1102
+ : 0;
1103
+ if (ownStreak >= (row.terminalAfter ?? 2)) {
1024
1104
  return makeEnforcementResult({
1025
1105
  action: "terminate",
1026
- reason: `${consecutiveRejections + 1} consecutive rejections for the same ` +
1106
+ reason: `${ownStreak + 1} consecutive rejections for the same ` +
1027
1107
  `issue (${result.check}) without resolution — the agent cannot ` +
1028
1108
  `correct it even after escalation.`,
1029
1109
  check: result.check,
1030
1110
  });
1031
1111
  }
1032
- if (consecutiveRejections >= 1 && row.noticeOnRepeat &&
1112
+ if (ownStreak >= 1 && row.noticeOnRepeat &&
1033
1113
  getPolicy().engine.enforcement_escalation_enabled) {
1034
1114
  result = makeEnforcementResult({
1035
1115
  ...result,
@@ -1 +1 @@
1
- {"version":3,"file":"enforcement-gate.js","sourceRoot":"","sources":["../src/enforcement-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enforcement-gate.js","sourceRoot":"","sources":["../src/enforcement-gate.ts"],"names":[],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -8,17 +8,15 @@
8
8
  import type { LoopStore } from "./loop-store.js";
9
9
  import { type AgentLoopResult, type LoopForgeRequest, type SelfEvaluation, type SessionState } from "./protocol.js";
10
10
  export { parseExecutionEvidence, parseCriterionRevisions, parseWorkerResults, buildSelfEvaluation, } from "./self-eval.js";
11
- /** A single sub-agent delegation record (v1.9 — AgentTool mode). */
11
+ /** A single sub-agent delegation record (v1.9 — AgentTool mode).
12
+ * v3.7.1: outcome is the single fact; success is deleted. */
12
13
  export interface DelegationEntry {
13
14
  index: number;
14
15
  agentId: string;
15
16
  subAgentType: string;
16
17
  subTask: string;
17
18
  resultSummary: string;
18
- success: boolean;
19
- /** v2.12: Worker outcome (audit/projection data source). Derived from
20
- * success when absent. */
21
- outcome?: "success" | "partial" | "failed";
19
+ outcome: "success" | "partial" | "failed";
22
20
  discoveredConstraints: string[];
23
21
  }
24
22
  export interface EngineMetrics {
@@ -67,6 +65,13 @@ export declare class LoopForgeEngine {
67
65
  * Lineage-only entries of not-yet-committed rounds may trail the cache but
68
66
  * never advance coveredRound (a later read replaces them post-commit). */
69
67
  private hydrationCache;
68
+ /** v3.7.1: Drop the hydration cache after a committed BACKTRACK decision.
69
+ * The rollback commits as the CURRENT round (cache.coveredRound + 1), so
70
+ * the normal incremental path never re-reads it before the restore
71
+ * compile — which targets the SAME round and must see the rollback
72
+ * immediately (recovery-boundary L2, Recovery Brief facts). One full
73
+ * rehydrate on the rare rollback path is the correct trade. */
74
+ invalidateHydrationCache(loopId: string): void;
70
75
  /** v3.3.1: Drop the hydration cache when a feedback write targets a round
71
76
  * the cache has already merged (coveredRound >= round). Cache entries are
72
77
  * LINEAGE task_ids (loop:…:rN), so a task_id collision test could never
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EASL,KAAK,eAAe,EAIpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAgBvB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAMxB;8DAC8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1C,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAaD,qBAAa,eAAe;IAC1B,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAClC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,OAAO,CAA8B;IAC7C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAEnB,KAAK,CAAC,EAAE,SAAS;IAI7B,OAAO,CAAC,YAAY;IAOpB;wCACoC;IACpC,QAAQ,IAAI,SAAS;IAIrB,6EAA6E;IAC7E,UAAU,IAAI,aAAa;IAO3B,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,kBAAkB;IA2E1B;;yEAEqE;IACrE,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,EAAE,GACzB,IAAI;IA0CP;;;kDAG8C;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAkBvC;IAEX;;oFAEgF;IAChF,OAAO,CAAC,mBAAmB;IA8E3B;;;;;;;;;;;+EAW2E;IAC3E,OAAO,CAAC,cAAc,CAIN;IAEhB;;;;;oEAKgE;IAChE,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI9C;;;;;;;;;;yDAUqD;IACrD,OAAO,CAAC,mCAAmC;IAS3C,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,+EAA+E;IAC/E,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAWvC;;;;;;;;;kBASc;IACd,OAAO,CAAC,kBAAkB;IAgC1B,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAmElF,cAAc,CACZ,OAAO,EAAE,gBAAgB,EACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC/C,eAAe;IA2FlB;;;;;gEAK4D;IAC5D,YAAY,CACV,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,OAAO;IAwIV,iBAAiB,CACf,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC/C,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO,GACzC,eAAe;CAkLnB;AAMD,wBAAgB,YAAY,CAC1B,KAAK,CAAC,EAAE,SAAS,GAChB,eAAe,CAEjB"}
package/dist/engine.js CHANGED
@@ -14,7 +14,7 @@ import { logEvent } from "./observability.js";
14
14
  import { isRecord } from "./token-utils.js";
15
15
  import { decodeCommittedRound } from "./committed-round.js";
16
16
  import { policyMetrics } from "./policy-metrics.js";
17
- import { parseExecutionEvidence, parseCriterionRevisions, parseWorkerResults, parsePromptRequests, } from "./self-eval.js";
17
+ import { parseExecutionEvidence, parseCriterionRevisions, parseSubGoalUpdates, parseWorkerResults, parsePromptRequests, } from "./self-eval.js";
18
18
  import { parseLoopExtras } from "./loop-extras-parser.js";
19
19
  // ── Re-export self-evaluation utilities (moved to self-eval.ts) ──────────
20
20
  export { parseExecutionEvidence, parseCriterionRevisions, parseWorkerResults, buildSelfEvaluation, } from "./self-eval.js";
@@ -124,11 +124,9 @@ export class LoopForgeEngine {
124
124
  execution_evidence: signal.execution_evidence ?? null,
125
125
  discovered_constraints: signal.discovered_constraints ?? [],
126
126
  emerged_subtasks: signal.emerged_subtasks ?? [],
127
- // v3.2.1: persisted so the subgoal_drift check can read prior
128
- // rounds' completed/canceled sub-goals from committed entries.
129
- completed_subtasks: signal.completed_subtasks ?? [],
130
- blocked_subtasks: signal.blocked_subtasks ?? [],
131
- canceled_subtasks: signal.canceled_subtasks ?? [],
127
+ // v3.7.1: explicit transitions persist on committed entries so the
128
+ // compiler replays them in round order on every derivation.
129
+ subgoal_updates: signal.subgoal_updates ?? [],
132
130
  retracted_constraints: signal.retracted_constraints ?? [],
133
131
  worker_results: signal.worker_results ?? [],
134
132
  };
@@ -237,8 +235,7 @@ export class LoopForgeEngine {
237
235
  subAgentType: e.subAgentType,
238
236
  subTask: e.subTask,
239
237
  resultSummary: e.resultSummary,
240
- success: e.success,
241
- outcome: e.outcome ?? (e.success ? "success" : "failed"),
238
+ outcome: e.outcome,
242
239
  discoveredConstraints: e.discoveredConstraints,
243
240
  })),
244
241
  },
@@ -267,11 +264,9 @@ export class LoopForgeEngine {
267
264
  "checkpoint_label",
268
265
  "discovered_constraints",
269
266
  "emerged_subtasks",
267
+ "subgoal_updates",
270
268
  "retracted_constraints",
271
269
  "wrong_assumptions",
272
- "completed_subtasks",
273
- "blocked_subtasks",
274
- "canceled_subtasks",
275
270
  "next_action",
276
271
  "objective_refinement",
277
272
  "outcome",
@@ -302,6 +297,28 @@ export class LoopForgeEngine {
302
297
  // post-backtrack recovery boundary (L2 rehydration) without a
303
298
  // second persistence format.
304
299
  lineage.committed_action = result.action;
300
+ // v3.7.1: Recovery Brief facts stamped onto the merged lineage entry
301
+ // (same derived-stamp pattern as attempt/round_evidence — in-memory
302
+ // only, never persisted; a fresh hydration re-derives them from the
303
+ // committed rollback decision). Compile-time views need them on the
304
+ // merged row because raw feedback documents are never exposed.
305
+ if (result.action === "backtrack") {
306
+ if (typeof result.backtrackTarget === "number") {
307
+ lineage.backtrackTarget = result.backtrackTarget;
308
+ }
309
+ if (typeof result.backtrackTriggerRule === "string") {
310
+ lineage.backtrackTriggerRule = result.backtrackTriggerRule;
311
+ }
312
+ if (Array.isArray(result.backtrackFailedRounds)) {
313
+ lineage.backtrackFailedRounds = result.backtrackFailedRounds;
314
+ }
315
+ if (Array.isArray(result.backtrackApproaches)) {
316
+ lineage.backtrackApproaches = result.backtrackApproaches;
317
+ }
318
+ if (Array.isArray(result.backtrackWrongAssumptions)) {
319
+ lineage.backtrackWrongAssumptions = result.backtrackWrongAssumptions;
320
+ }
321
+ }
305
322
  }
306
323
  if (committed) {
307
324
  // v3.5.1: compile-side display readers (Round Stats rejected attempts,
@@ -348,6 +365,16 @@ export class LoopForgeEngine {
348
365
  * Lineage-only entries of not-yet-committed rounds may trail the cache but
349
366
  * never advance coveredRound (a later read replaces them post-commit). */
350
367
  hydrationCache = null;
368
+ /** v3.7.1: Drop the hydration cache after a committed BACKTRACK decision.
369
+ * The rollback commits as the CURRENT round (cache.coveredRound + 1), so
370
+ * the normal incremental path never re-reads it before the restore
371
+ * compile — which targets the SAME round and must see the rollback
372
+ * immediately (recovery-boundary L2, Recovery Brief facts). One full
373
+ * rehydrate on the rare rollback path is the correct trade. */
374
+ invalidateHydrationCache(loopId) {
375
+ if (this.hydrationCache?.loopId === loopId)
376
+ this.hydrationCache = null;
377
+ }
351
378
  /** v3.3.1: Drop the hydration cache when a feedback write targets a round
352
379
  * the cache has already merged (coveredRound >= round). Cache entries are
353
380
  * LINEAGE task_ids (loop:…:rN), so a task_id collision test could never
@@ -409,6 +436,12 @@ export class LoopForgeEngine {
409
436
  }
410
437
  for (const entry of fresh) {
411
438
  // v3.7: the legacy top-level `lineage` alias was removed.
439
+ // Only compile-lineage rows absorb the committed round's feedback.
440
+ // Delegation journals (`loop:<id>:r<N>:delegations`) share the same
441
+ // lineage.round and would otherwise decode as a SECOND round view —
442
+ // double-counting violations/lessons for one committed round.
443
+ if (entry.task_type !== "loop_lineage")
444
+ continue;
412
445
  const lineage = (entry.loop_lineage ?? {});
413
446
  const rnd = lineage.round;
414
447
  const fb = rnd ? fbByRound.get(rnd) : undefined;
@@ -640,13 +673,9 @@ export class LoopForgeEngine {
640
673
  discovered_constraints: mergedDiscovered,
641
674
  objective_refinement: selfEval.objective_refinement ?? "",
642
675
  emerged_subtasks: selfEval.emerged_subtasks ?? [],
643
- // v3.2.1: persist the sub-goal lifecycle fields — the subgoal_drift
644
- // check reads them from committed feedback entries; before this they
645
- // were never written, so prior rounds' completed/canceled sub-goals
646
- // were invisible and the pending set grew stale.
647
- completed_subtasks: selfEval.completed_subtasks ?? [],
648
- blocked_subtasks: selfEval.blocked_subtasks ?? [],
649
- canceled_subtasks: selfEval.canceled_subtasks ?? [],
676
+ // v3.7.1: explicit transitions persist with the committed evaluation;
677
+ // the compiler replays them in round order on every derivation.
678
+ subgoal_updates: selfEval.subgoal_updates ?? [],
650
679
  // P4: Execution evidence
651
680
  execution_evidence: selfEval.execution_evidence ?? null,
652
681
  // P5: Self-correction
@@ -676,10 +705,9 @@ export class LoopForgeEngine {
676
705
  const entries = selfEval.worker_results.map((w, i) => ({
677
706
  index: i + 1,
678
707
  agentId: w.agentId,
679
- subAgentType: w.subAgentType,
708
+ subAgentType: w.subAgentType ?? "general-purpose",
680
709
  subTask: w.subTask,
681
710
  resultSummary: w.resultSummary,
682
- success: w.success,
683
711
  outcome: w.outcome,
684
712
  discoveredConstraints: w.discoveredConstraints ?? [],
685
713
  }));
@@ -776,16 +804,8 @@ export class LoopForgeEngine {
776
804
  // v1.10: Checkpoint boundary
777
805
  compression_checkpoint: typeof rr.compression_checkpoint === "boolean" ? rr.compression_checkpoint : false,
778
806
  checkpoint_label: typeof rr.checkpoint_label === "string" ? rr.checkpoint_label : "",
779
- // v2.2: Sub-goal lifecycle
780
- completed_subtasks: Array.isArray(rr.completed_subtasks)
781
- ? rr.completed_subtasks.filter((v) => typeof v === "string")
782
- : [],
783
- blocked_subtasks: Array.isArray(rr.blocked_subtasks)
784
- ? rr.blocked_subtasks.filter((v) => typeof v === "string")
785
- : [],
786
- canceled_subtasks: Array.isArray(rr.canceled_subtasks)
787
- ? rr.canceled_subtasks.filter((v) => typeof v === "string")
788
- : [],
807
+ // v3.7.1: Sub-goal lifecycle — explicit transitions (shared parser)
808
+ subgoal_updates: parseSubGoalUpdates(rr.subgoal_updates),
789
809
  // v2.8: Drift clarification
790
810
  drift_clarification: typeof rr.drift_clarification === "string"
791
811
  ? rr.drift_clarification