loopforge 1.12.0 → 1.15.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 (71) hide show
  1. package/dist/backends/fs.d.ts.map +1 -1
  2. package/dist/backends/fs.js +12 -8
  3. package/dist/backends/fs.js.map +1 -1
  4. package/dist/builder.d.ts +8 -1
  5. package/dist/builder.d.ts.map +1 -1
  6. package/dist/builder.js +28 -72
  7. package/dist/builder.js.map +1 -1
  8. package/dist/enforcement-gate.d.ts +44 -0
  9. package/dist/enforcement-gate.d.ts.map +1 -0
  10. package/dist/enforcement-gate.js +253 -0
  11. package/dist/enforcement-gate.js.map +1 -0
  12. package/dist/engine.d.ts +11 -4
  13. package/dist/engine.d.ts.map +1 -1
  14. package/dist/engine.js +87 -118
  15. package/dist/engine.js.map +1 -1
  16. package/dist/index.d.ts +4 -4
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +4 -4
  19. package/dist/index.js.map +1 -1
  20. package/dist/loop-compiler.d.ts.map +1 -1
  21. package/dist/loop-compiler.js +689 -480
  22. package/dist/loop-compiler.js.map +1 -1
  23. package/dist/mcp/session.d.ts +9 -1
  24. package/dist/mcp/session.d.ts.map +1 -1
  25. package/dist/mcp/session.js +100 -44
  26. package/dist/mcp/session.js.map +1 -1
  27. package/dist/observability.d.ts +1 -1
  28. package/dist/observability.js +1 -1
  29. package/dist/policy.d.ts +72 -2
  30. package/dist/policy.d.ts.map +1 -1
  31. package/dist/policy.js +96 -2
  32. package/dist/policy.js.map +1 -1
  33. package/dist/protocol.d.ts +33 -2
  34. package/dist/protocol.d.ts.map +1 -1
  35. package/dist/protocol.js +22 -2
  36. package/dist/protocol.js.map +1 -1
  37. package/dist/runtime.d.ts +8 -4
  38. package/dist/runtime.d.ts.map +1 -1
  39. package/dist/runtime.js +102 -108
  40. package/dist/runtime.js.map +1 -1
  41. package/dist/tests/builder.test.js +5 -3
  42. package/dist/tests/builder.test.js.map +1 -1
  43. package/dist/tests/enforcement-gate.test.d.ts +2 -0
  44. package/dist/tests/enforcement-gate.test.d.ts.map +1 -0
  45. package/dist/tests/enforcement-gate.test.js +328 -0
  46. package/dist/tests/enforcement-gate.test.js.map +1 -0
  47. package/dist/tests/engine.test.js +9 -5
  48. package/dist/tests/engine.test.js.map +1 -1
  49. package/dist/tests/generate-schema.test.js +2 -2
  50. package/dist/tests/loop-compiler.test.js +28 -20
  51. package/dist/tests/loop-compiler.test.js.map +1 -1
  52. package/dist/tests/mcp.test.js +22 -2
  53. package/dist/tests/mcp.test.js.map +1 -1
  54. package/dist/tests/policy.test.js +1 -1
  55. package/dist/tests/policy.test.js.map +1 -1
  56. package/dist/tests/runtime.test.js +19 -5
  57. package/dist/tests/runtime.test.js.map +1 -1
  58. package/dist/verification-gate.d.ts +6 -0
  59. package/dist/verification-gate.d.ts.map +1 -1
  60. package/dist/verification-gate.js +3 -2
  61. package/dist/verification-gate.js.map +1 -1
  62. package/loop_policy.json +8 -3
  63. package/package.json +1 -1
  64. package/skills/perception/SKILL.md +35 -17
  65. package/skills/prompt-techniques/SKILL.md +52 -52
  66. package/skills/prompt-techniques/references/chain-of-thought.md +207 -207
  67. package/skills/prompt-techniques/references/few-shot.md +174 -174
  68. package/skills/prompt-techniques/references/least-to-most.md +182 -182
  69. package/skills/prompt-techniques/references/step-back.md +160 -160
  70. package/skills/prompt-techniques/references/tree-of-thought.md +191 -191
  71. package/skills/prompt-techniques/references/zero-shot.md +97 -97
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * All types exchanged between the Main Agent and LoopForge flow through
4
4
  * these interfaces. This is the contract layer — no implementation logic.
5
5
  *
6
- * v1.10: 39 types — 4 enums + 34 interfaces + 1 type alias.
6
+ * v1.15: 40 types — 4 enums + 35 interfaces + 1 type alias.
7
7
  */
8
8
  export declare enum Mode {
9
9
  LOOP_COMPILE = "loop_compile",
@@ -262,6 +262,10 @@ export interface LoopCompileRequest {
262
262
  * Injected into L2 prompts only. Ignored by L0/L1 compilers.
263
263
  * Populated by the caller (runtime / MCP session) via a memoryProvider callback. */
264
264
  external_context?: string;
265
+ /** Maximum rounds for this loop. Used by the state file header to show
266
+ * accurate progress (Round X / Y). Falls back to max_summary_rounds * 2
267
+ * when not provided (callers that don't track maxRounds). */
268
+ max_rounds?: number;
265
269
  }
266
270
  export declare function makeLoopCompileRequest(overrides?: Partial<LoopCompileRequest>): LoopCompileRequest;
267
271
  export interface LoopCompileResponse {
@@ -287,6 +291,10 @@ export interface LoopCompileResponse {
287
291
  plan_source: string | null;
288
292
  warnings: string[];
289
293
  error: string;
294
+ /** v1.14: Content for the loop state file. Written by the caller
295
+ * (SessionManager or Runtime) to .loopforge/state/{loopId}-state.md.
296
+ * Undefined for L0/L1 compilations — only L2 produces state file content. */
297
+ state_file_content?: string;
290
298
  }
291
299
  export declare function makeLoopCompileResponse(overrides?: Partial<LoopCompileResponse>): LoopCompileResponse;
292
300
  export interface LoopForgeResponse {
@@ -294,6 +302,8 @@ export interface LoopForgeResponse {
294
302
  prompt: string | null;
295
303
  analysis: Analysis | null;
296
304
  error: string | null;
305
+ /** v1.14: State file content from the compiler. Written to disk by the caller. */
306
+ state_file_content?: string;
297
307
  }
298
308
  export interface SessionState {
299
309
  task_id: string;
@@ -323,7 +333,28 @@ export interface RoundContext {
323
333
  reportProgress: (message: string) => void;
324
334
  }
325
335
  export type AgentExecutor = (prompt: string, ctx: RoundContext) => Promise<string>;
326
- export type StopReason = "task_complete" | "circuit_breaker" | "max_rounds" | "stalled" | "stopped" | "executor_failure";
336
+ export type StopReason = "task_complete" | "circuit_breaker" | "max_rounds" | "stalled" | "stopped" | "executor_failure" | "enforcement_terminated";
337
+ /** Map StopReason (internal) → MemoryWriteback outcome (wire format).
338
+ * Shared between runtime.ts and mcp/session.ts — single source of truth. */
339
+ export declare const STOP_REASON_OUTCOME_MAP: Record<StopReason, LoopMemoryWriteback["outcome"]>;
340
+ /** Result of round-boundary enforcement. Decides whether to accept the round,
341
+ * reject it (force the agent to redo the SAME round), or terminate the loop.
342
+ *
343
+ * accept: round passes; proceed to next round as normal.
344
+ * reject: agent's self-evaluation or output is invalid; the agent receives
345
+ * a rejection prompt and must redo the same round. Round counter
346
+ * does NOT increment.
347
+ * terminate: loop has reached an unrecoverable state; stop immediately with
348
+ * stopReason "enforcement_terminated". */
349
+ export interface EnforcementResult {
350
+ action: "accept" | "reject" | "terminate";
351
+ /** Human-readable reason for the enforcement decision. */
352
+ reason: string;
353
+ /** For reject: concrete instructions the agent must follow.
354
+ * Empty for accept and terminate. */
355
+ fix_instructions: string;
356
+ }
357
+ export declare function makeEnforcementResult(overrides?: Partial<EnforcementResult>): EnforcementResult;
327
358
  export interface RoundStartInfo {
328
359
  round: number;
329
360
  level: string;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/protocol.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * All types exchanged between the Main Agent and LoopForge flow through
4
4
  * these interfaces. This is the contract layer — no implementation logic.
5
5
  *
6
- * v1.10: 39 types — 4 enums + 34 interfaces + 1 type alias.
6
+ * v1.15: 40 types — 4 enums + 35 interfaces + 1 type alias.
7
7
  */
8
8
  // ── Enums ──────────────────────────────────────────────────────────────────
9
9
  export var Mode;
@@ -85,7 +85,7 @@ export function makeSelfEvaluation(overrides = {}) {
85
85
  discovered_constraints: [],
86
86
  objective_refinement: "",
87
87
  emerged_subtasks: [],
88
- execution_evidence: makeExecutionEvidence(),
88
+ execution_evidence: undefined,
89
89
  retracted_constraints: [],
90
90
  revised_success_criteria: [],
91
91
  wrong_assumptions: [],
@@ -204,6 +204,7 @@ export function makeLoopCompileResponse(overrides = {}) {
204
204
  plan_source: null,
205
205
  warnings: [],
206
206
  error: "",
207
+ state_file_content: undefined,
207
208
  ...overrides,
208
209
  };
209
210
  }
@@ -226,6 +227,25 @@ export var RuntimeStatus;
226
227
  RuntimeStatus["STOPPED"] = "stopped";
227
228
  RuntimeStatus["STALLED"] = "stalled";
228
229
  })(RuntimeStatus || (RuntimeStatus = {}));
230
+ /** Map StopReason (internal) → MemoryWriteback outcome (wire format).
231
+ * Shared between runtime.ts and mcp/session.ts — single source of truth. */
232
+ export const STOP_REASON_OUTCOME_MAP = {
233
+ task_complete: "completed",
234
+ circuit_breaker: "circuit_breaker",
235
+ stalled: "stalled",
236
+ max_rounds: "max_rounds",
237
+ stopped: "stopped",
238
+ executor_failure: "stopped",
239
+ enforcement_terminated: "stopped",
240
+ };
241
+ export function makeEnforcementResult(overrides = {}) {
242
+ return {
243
+ action: "accept",
244
+ reason: "",
245
+ fix_instructions: "",
246
+ ...overrides,
247
+ };
248
+ }
229
249
  export function makeVerificationFlag(overrides = {}) {
230
250
  return {
231
251
  severity: "warn",
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -25,6 +25,8 @@ export declare class LoopRuntime extends EventEmitter {
25
25
  private sigtermHandler;
26
26
  private lastSelfEval;
27
27
  private pendingVerificationFlags;
28
+ private consecutiveRejections;
29
+ private pendingRejectionNotice;
28
30
  private injectionCount;
29
31
  private lastInjectionRound;
30
32
  private injectedContexts;
@@ -42,10 +44,12 @@ export declare class LoopRuntime extends EventEmitter {
42
44
  /** Derive the current progress estimate from the last self evaluation.
43
45
  * Returns -1 if no progress data is available. */
44
46
  private getCurrentProgress;
45
- /** Determine whether memory should be injected this round based on
46
- * tier-based allowed phases, progress thresholds, and round spacing. */
47
- private shouldInjectMemory;
48
- /** Build the accumulated context for constructing a targeted memory query. */
47
+ /** Determine which memory injection phase (0/1/2/3) should fire this round.
48
+ * Returns 0 if no injection should occur. Phase tracking (phase2Triggered /
49
+ * phase3Triggered) is updated by the caller based on the returned phase. */
50
+ private getInjectionPhase;
51
+ /** Build the accumulated context for constructing a targeted memory query.
52
+ * Delegates to the shared buildAccumulatedMemoryContext() utility. */
49
53
  private buildAccumulatedContext;
50
54
  /** Deduplicate external context against previously injected contexts.
51
55
  * Returns empty string if the new context is too similar to any prior. */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,OAAO,EAEL,aAAa,EAab,KAAK,aAAa,EAClB,KAAK,SAAS,EAKf,MAAM,eAAe,CAAC;AAuKvB,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,cAAc,CAA6B;IAGnD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,wBAAwB,CAA0B;IAG1D,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,sBAAsB,CAAM;IAGpC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,QAAQ,CAAS;gBAEb,SAAS,EAAE,aAAa;IAMpC,IAAI,MAAM,IAAI,aAAa,CAE1B;IAED,eAAe,IAAI,MAAM;IAIzB,oBAAoB,IAAI,OAAO,EAAE;IAMjC;uDACmD;IACnD,OAAO,CAAC,kBAAkB;IAM1B;6EACyE;IACzE,OAAO,CAAC,kBAAkB;IA+C1B,8EAA8E;IAC9E,OAAO,CAAC,uBAAuB;IAgC/B;+EAC2E;IAC3E,OAAO,CAAC,oBAAoB;IAmB5B;iEAC6D;IACvD,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC;IA6TjC,oEAAoE;IACpE,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,mBAAmB;IAqD3B,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,aAAa;IAiErB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,wBAAwB;CAUjC;AAMD;;;;;;;;;GASG;AACH,wBAAsB,GAAG,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAGtE"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C,OAAO,EAEL,aAAa,EAab,KAAK,aAAa,EAClB,KAAK,SAAS,EAKf,MAAM,eAAe,CAAC;AA2IvB,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,cAAc,CAA6B;IAGnD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,wBAAwB,CAA0B;IAG1D,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,sBAAsB,CAAM;IAGpC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,sBAAsB,CAAM;IAGpC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,QAAQ,CAAS;gBAEb,SAAS,EAAE,aAAa;IAMpC,IAAI,MAAM,IAAI,aAAa,CAE1B;IAED,eAAe,IAAI,MAAM;IAIzB,oBAAoB,IAAI,OAAO,EAAE;IAMjC;uDACmD;IACnD,OAAO,CAAC,kBAAkB;IAM1B;;iFAE6E;IAC7E,OAAO,CAAC,iBAAiB;IA+BzB;2EACuE;IACvE,OAAO,CAAC,uBAAuB;IAO/B;+EAC2E;IAC3E,OAAO,CAAC,oBAAoB;IAmB5B;iEAC6D;IACvD,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC;IA4XjC,oEAAoE;IACpE,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,mBAAmB;IAqD3B,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,aAAa;IAiErB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,wBAAwB;CAUjC;AAMD;;;;;;;;;GASG;AACH,wBAAsB,GAAG,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAGtE"}
package/dist/runtime.js CHANGED
@@ -13,41 +13,33 @@
13
13
  * const result = await rt.start();
14
14
  */
15
15
  import { EventEmitter } from "node:events";
16
+ import { writeFileSync, mkdirSync } from "node:fs";
17
+ import { join } from "node:path";
16
18
  import { extractSelfEvaluation, heuristicSelfEvaluation, createEngine, } from "./engine.js";
17
19
  import { tokenize, jaccard } from "./loop-compiler.js";
18
20
  import { Mode, RuntimeStatus, makeLoopCompileRequest, makeLoopRoundResult, makeSelfEvaluation, makeVaultConfig, } from "./protocol.js";
19
- import { getPolicy, resolveAllowedPhases } from "./policy.js";
21
+ import { getPolicy, resolveAllowedPhases, resolveInjectionPhase, buildAccumulatedMemoryContext, buildBaseMemoryWriteback } from "./policy.js";
20
22
  import { verifySelfEvaluation } from "./verification-gate.js";
23
+ import { enforceRound, buildRejectionPrompt } from "./enforcement-gate.js";
21
24
  import { logEvent } from "./observability.js";
22
25
  import { tryAutoConfigure } from "./memory-bridge.js";
23
26
  // ═══════════════════════════════════════════════════════════════════════════
24
27
  // Helpers
25
28
  // ═══════════════════════════════════════════════════════════════════════════
26
29
  /** Build a writeback payload from the loop's final state.
27
- * Extracts project-level outcome, tactical lessons, and vault reference.
28
- * Returns null if there is no meaningful data to write back. */
29
- function buildWritebackPayload(loopId, task, stopReason, result) {
30
- // Only write back for meaningful loops (at least 1 round completed)
30
+ * Uses shared base builder from policy.ts, then layers runtime-specific
31
+ * feedback entries from trajectory analysis on top. */
32
+ function buildWritebackPayload(loopId, task, stopReason, result, discoveries = []) {
31
33
  if (result.roundsCompleted < 1)
32
34
  return null;
33
- const policy = getPolicy();
34
- const wp = policy.memory_writeback;
35
- const outcome = ["completed", "circuit_breaker", "stalled", "max_rounds", "stopped"].find((o) => stopReason === o) ?? "stopped";
36
- // Build project entry
37
- const projectEntry = {
38
- title: `${task.slice(0, 80)} — ${outcome}`,
39
- objective: task.slice(0, 200),
40
- keyOutcome: stopReason === "task_complete"
41
- ? `Completed successfully in ${result.roundsCompleted} rounds.`
42
- : `Terminated with reason '${stopReason}' after ${result.roundsCompleted} rounds.`,
43
- keyDiscoveries: [],
44
- date: new Date().toISOString().split("T")[0],
45
- };
46
- // Build feedback entries from success trajectory patterns
35
+ const wp = getPolicy().memory_writeback;
36
+ const base = buildBaseMemoryWriteback({
37
+ loopId, task, stopReason, roundsCompleted: result.roundsCompleted, discoveries,
38
+ });
39
+ // Build feedback entries from success trajectory patterns (runtime-specific)
47
40
  const feedbackEntries = [];
48
41
  const trajectory = result.successTrajectory;
49
42
  if (trajectory.length >= 3) {
50
- // Detect improving trend via success rate
51
43
  const firstHalf = trajectory.slice(0, Math.floor(trajectory.length / 2));
52
44
  const secondHalf = trajectory.slice(Math.floor(trajectory.length / 2));
53
45
  const firstRate = firstHalf.filter(Boolean).length / firstHalf.length;
@@ -60,7 +52,6 @@ function buildWritebackPayload(loopId, task, stopReason, result) {
60
52
  });
61
53
  }
62
54
  }
63
- // Detect flatlining — 3 consecutive failures
64
55
  if (trajectory.length >= 3) {
65
56
  const recent = trajectory.slice(-3);
66
57
  if (recent.every((v) => v === false)) {
@@ -71,22 +62,9 @@ function buildWritebackPayload(loopId, task, stopReason, result) {
71
62
  });
72
63
  }
73
64
  }
74
- // Build reference entry pointing to vault
75
- const referenceEntry = {
76
- description: `LoopForge vault data for "${task.slice(0, 80)}"`,
77
- vaultLocation: `.promptcraft/prompt_vault.json → loop:${loopId}:*`,
78
- };
79
65
  return {
80
- loopId,
81
- task,
82
- outcome,
83
- roundsCompleted: result.roundsCompleted,
84
- projectEntry: {
85
- ...projectEntry,
86
- keyDiscoveries: projectEntry.keyDiscoveries.slice(0, wp.max_discoveries_in_project),
87
- },
66
+ ...base,
88
67
  feedbackEntries: feedbackEntries.slice(0, wp.max_feedback_entries),
89
- referenceEntry,
90
68
  };
91
69
  }
92
70
  function autoLoopId(task) {
@@ -146,6 +124,9 @@ export class LoopRuntime extends EventEmitter {
146
124
  // Verification gate state (v1.6 unified — was MCP-only, now also in runtime)
147
125
  lastSelfEval = null;
148
126
  pendingVerificationFlags = [];
127
+ // Enforcement gate state (v1.13)
128
+ consecutiveRejections = 0;
129
+ pendingRejectionNotice = "";
149
130
  // Memory integration state (v1.7)
150
131
  injectionCount = 0;
151
132
  lastInjectionRound = 0;
@@ -181,68 +162,34 @@ export class LoopRuntime extends EventEmitter {
181
162
  const pe = this.lastSelfEval.execution_evidence.progress_estimate;
182
163
  return typeof pe === "number" ? pe : -1;
183
164
  }
184
- /** Determine whether memory should be injected this round based on
185
- * tier-based allowed phases, progress thresholds, and round spacing. */
186
- shouldInjectMemory() {
165
+ /** Determine which memory injection phase (0/1/2/3) should fire this round.
166
+ * Returns 0 if no injection should occur. Phase tracking (phase2Triggered /
167
+ * phase3Triggered) is updated by the caller based on the returned phase. */
168
+ getInjectionPhase() {
187
169
  const policy = getPolicy();
188
170
  const mi = policy.memory_injection;
189
171
  if (!mi.enabled)
190
- return false;
172
+ return 0;
191
173
  if (!this.config.memoryProvider)
192
- return false;
174
+ return 0;
193
175
  if (this.lastInjectionRound > 0 &&
194
176
  this.currentRound - this.lastInjectionRound < mi.min_rounds_between_injections) {
195
- return false;
177
+ return 0;
196
178
  }
197
- // Resolve which phases are allowed for this loop's maxRounds
198
179
  const allowedPhases = new Set(resolveAllowedPhases(this.config.maxRounds, mi.round_tiers));
199
- const maxInjections = allowedPhases.size;
200
- if (this.injectionCount >= maxInjections)
201
- return false;
202
180
  const progress = this.getCurrentProgress();
203
- // Phase 1: round 1, always check if allowed
204
- if (this.currentRound === 1 && this.injectionCount === 0 && allowedPhases.has(1)) {
205
- return true;
206
- }
207
- // Phase 2: progress threshold (only if allowed by tier)
208
- if (allowedPhases.has(2) &&
209
- !this.phase2Triggered &&
210
- progress >= mi.phase_thresholds.phase2.threshold) {
211
- return true;
212
- }
213
- // Phase 3: progress threshold (only if allowed by tier)
214
- if (allowedPhases.has(3) &&
215
- !this.phase3Triggered &&
216
- progress >= mi.phase_thresholds.phase3.threshold) {
217
- return true;
218
- }
219
- return false;
181
+ return resolveInjectionPhase(this.currentRound, this.injectionCount, allowedPhases, progress, this.phase2Triggered, this.phase3Triggered, {
182
+ phase2: mi.phase_thresholds.phase2.threshold,
183
+ phase3: mi.phase_thresholds.phase3.threshold,
184
+ });
220
185
  }
221
- /** Build the accumulated context for constructing a targeted memory query. */
186
+ /** Build the accumulated context for constructing a targeted memory query.
187
+ * Delegates to the shared buildAccumulatedMemoryContext() utility. */
222
188
  buildAccumulatedContext() {
223
- const recurringIssues = [];
224
- const failedPatterns = [];
225
- const keyLessons = [];
226
- const remainingCriteria = [];
227
- if (this.lastSelfEval) {
228
- // Recurring issues: violations that have appeared before
229
- if (this.lastSelfEval.constraint_violations.length) {
230
- recurringIssues.push(...this.lastSelfEval.constraint_violations);
231
- }
232
- // Remaining criteria
233
- if (this.lastSelfEval.execution_evidence?.success_criteria_remaining?.length) {
234
- remainingCriteria.push(...this.lastSelfEval.execution_evidence.success_criteria_remaining);
235
- }
236
- // Key lessons from emerged subtasks
237
- if (this.lastSelfEval.emerged_subtasks?.length) {
238
- keyLessons.push(...this.lastSelfEval.emerged_subtasks);
239
- }
240
- // Wrong assumptions as negative lessons
241
- if (this.lastSelfEval.wrong_assumptions?.length) {
242
- keyLessons.push(...this.lastSelfEval.wrong_assumptions.map((a) => `Wrong: ${a}`));
243
- }
189
+ if (!this.lastSelfEval) {
190
+ return { recurringIssues: [], failedPatterns: [], keyLessons: [], remainingCriteria: [] };
244
191
  }
245
- return { recurringIssues, failedPatterns, keyLessons, remainingCriteria };
192
+ return buildAccumulatedMemoryContext(this.lastSelfEval);
246
193
  }
247
194
  /** Deduplicate external context against previously injected contexts.
248
195
  * Returns empty string if the new context is too similar to any prior. */
@@ -283,27 +230,21 @@ export class LoopRuntime extends EventEmitter {
283
230
  }
284
231
  // ── v1.7: Memory Injection (before compile, only at L2 phases) ──
285
232
  this.pendingExternalContext = "";
286
- if (this.shouldInjectMemory()) {
287
- const progress = this.getCurrentProgress();
288
- let phase;
289
- if (this.currentRound === 1) {
290
- phase = 1;
291
- }
292
- else if (!this.phase2Triggered && progress >= getPolicy().memory_injection.phase_thresholds.phase2.threshold) {
293
- phase = 2;
233
+ const injectionPhase = this.getInjectionPhase();
234
+ if (injectionPhase !== 0) {
235
+ // Track phase triggers
236
+ if (injectionPhase === 2)
294
237
  this.phase2Triggered = true;
295
- }
296
- else {
297
- phase = 3;
238
+ if (injectionPhase === 3)
298
239
  this.phase3Triggered = true;
299
- }
240
+ const progress = this.getCurrentProgress();
300
241
  try {
301
242
  const ctx = {
302
243
  loopId: this.config.loopId,
303
244
  round: this.currentRound,
304
245
  task: this.config.task,
305
246
  domain: this.config.domain,
306
- phase,
247
+ phase: injectionPhase,
307
248
  progressEstimate: progress,
308
249
  accumulatedContext: this.buildAccumulatedContext(),
309
250
  };
@@ -315,7 +256,7 @@ export class LoopRuntime extends EventEmitter {
315
256
  logEvent("memory_injected", {
316
257
  loopId: this.config.loopId,
317
258
  round: this.currentRound,
318
- phase,
259
+ phase: injectionPhase,
319
260
  injectionCount: this.injectionCount,
320
261
  contextLength: this.pendingExternalContext.length,
321
262
  });
@@ -349,12 +290,26 @@ export class LoopRuntime extends EventEmitter {
349
290
  last_round_result: (lcr.last_round_result ?? undefined),
350
291
  verification_flags: this.pendingVerificationFlags,
351
292
  external_context: this.pendingExternalContext || undefined,
293
+ max_rounds: this.config.maxRounds,
352
294
  });
295
+ // v1.14: Write state file if the compiler produced one and policy allows it
296
+ const sfContent = compileResult.response?.state_file_content;
297
+ if (sfContent && getPolicy().state_file.enabled) {
298
+ const sfDir = join(process.cwd(), getPolicy().state_file.directory);
299
+ mkdirSync(sfDir, { recursive: true });
300
+ writeFileSync(join(sfDir, `${this.config.loopId}-state.md`), sfContent, "utf-8");
301
+ }
353
302
  if (!compileResult.response?.prompt) {
354
303
  stopReason = "stalled";
355
304
  break;
356
305
  }
357
- const prompt = compileResult.response.prompt;
306
+ let prompt = compileResult.response.prompt;
307
+ // If this is a redo of a rejected round, use ONLY the rejection prompt.
308
+ // The agent needs to fix a specific issue, not get a fresh compilation.
309
+ // Normal compilation resumes on the next round after enforcement accepts.
310
+ if (this.pendingRejectionNotice) {
311
+ prompt = this.pendingRejectionNotice;
312
+ }
358
313
  const analysis = compileResult.response.analysis;
359
314
  const level = analysis?.rationale?.includes("l0")
360
315
  ? "l0"
@@ -421,13 +376,8 @@ export class LoopRuntime extends EventEmitter {
421
376
  selfEval = heuristicSelfEvaluation(agentOutput);
422
377
  extractionSucceeded = false;
423
378
  }
424
- // ── Auto-feedback ─────────────────────────────────────────────
425
- if (selfEval !== null) {
426
- this.engine.autoFeedback(selfEval, this.config.loopId, this.currentRound, this.config.task);
427
- }
428
- // ── Verification gate (v1.6 unified) ──────────────────────────
429
- // Run cross-round consistency checks between self-eval and lineage.
430
- // Flags are injected into the NEXT round's prompt via the engine.
379
+ // ── Verification gate (v1.6 unified) + Enforcement (v1.13) ────
380
+ // Run BEFORE autoFeedback so rejected rounds don't pollute vault.
431
381
  this.pendingVerificationFlags = [];
432
382
  let gateContradicted = false;
433
383
  if (selfEval !== null) {
@@ -444,8 +394,44 @@ export class LoopRuntime extends EventEmitter {
444
394
  flags: verifyResult.flags.map((f) => f.check),
445
395
  });
446
396
  }
397
+ // ── Enforcement gate (v1.13) — before autoFeedback ──────────
398
+ // Only run for structured self-evals, not heuristic fallback.
399
+ if (extractionSucceeded) {
400
+ const enforceResult = enforceRound(selfEval, verifyResult, this.currentRound, vaultEntries, this.consecutiveRejections);
401
+ if (enforceResult.action === "reject") {
402
+ this.consecutiveRejections++;
403
+ this.pendingRejectionNotice = buildRejectionPrompt(this.currentRound, this.config.task, enforceResult);
404
+ logEvent("enforcement_reject", {
405
+ loopId: this.config.loopId,
406
+ round: this.currentRound,
407
+ reason: enforceResult.reason.slice(0, 120),
408
+ consecutiveRejections: this.consecutiveRejections,
409
+ });
410
+ // Don't update lastSelfEval or successTrajectory.
411
+ // Decrement currentRound so the for-loop increment returns
412
+ // to the same round for the retry.
413
+ this.currentRound--;
414
+ continue;
415
+ }
416
+ if (enforceResult.action === "terminate") {
417
+ stopReason = "enforcement_terminated";
418
+ logEvent("session_end", {
419
+ loopId: this.config.loopId,
420
+ stopReason: "enforcement_terminated",
421
+ round: this.currentRound,
422
+ });
423
+ break;
424
+ }
425
+ // Accept: reset rejection counter
426
+ this.consecutiveRejections = 0;
427
+ this.pendingRejectionNotice = "";
428
+ } // end if (extractionSucceeded)
447
429
  this.lastSelfEval = selfEval;
448
430
  }
431
+ // ── Auto-feedback (AFTER enforcement, only if accepted) ─────────
432
+ if (selfEval !== null) {
433
+ this.engine.autoFeedback(selfEval, this.config.loopId, this.currentRound, this.config.task);
434
+ }
449
435
  // Compute round success
450
436
  const roundSuccess = selfEval?.success ?? false;
451
437
  // Contradicted gate verdict: skip success trend (match MCP path behavior)
@@ -512,7 +498,15 @@ export class LoopRuntime extends EventEmitter {
512
498
  wp.write_on_outcomes.length === 0;
513
499
  if (shouldWrite && result.roundsCompleted > 0) {
514
500
  try {
515
- const payload = buildWritebackPayload(this.config.loopId, this.config.task, stopReason, result);
501
+ const lastEval = this.lastSelfEval;
502
+ const discoveries = lastEval
503
+ ? [
504
+ ...(lastEval.wrong_assumptions ?? []),
505
+ ...(lastEval.emerged_subtasks ?? []),
506
+ ...(lastEval.discovered_constraints ?? []),
507
+ ]
508
+ : [];
509
+ const payload = buildWritebackPayload(this.config.loopId, this.config.task, stopReason, result, discoveries);
516
510
  if (payload) {
517
511
  await this.config.memoryWriter(payload);
518
512
  logEvent("memory_writeback", {