loopforge 1.8.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 (88) hide show
  1. package/dist/backends/fs.d.ts.map +1 -1
  2. package/dist/backends/fs.js +13 -10
  3. package/dist/backends/fs.js.map +1 -1
  4. package/dist/backends/interface.d.ts +2 -0
  5. package/dist/backends/interface.d.ts.map +1 -1
  6. package/dist/builder.d.ts +13 -10
  7. package/dist/builder.d.ts.map +1 -1
  8. package/dist/builder.js +117 -96
  9. package/dist/builder.js.map +1 -1
  10. package/dist/enforcement-gate.d.ts +44 -0
  11. package/dist/enforcement-gate.d.ts.map +1 -0
  12. package/dist/enforcement-gate.js +253 -0
  13. package/dist/enforcement-gate.js.map +1 -0
  14. package/dist/engine.d.ts +13 -6
  15. package/dist/engine.d.ts.map +1 -1
  16. package/dist/engine.js +127 -171
  17. package/dist/engine.js.map +1 -1
  18. package/dist/index.d.ts +5 -5
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +4 -4
  21. package/dist/index.js.map +1 -1
  22. package/dist/loop-compiler.d.ts +10 -2
  23. package/dist/loop-compiler.d.ts.map +1 -1
  24. package/dist/loop-compiler.js +882 -583
  25. package/dist/loop-compiler.js.map +1 -1
  26. package/dist/mcp/session.d.ts +12 -2
  27. package/dist/mcp/session.d.ts.map +1 -1
  28. package/dist/mcp/session.js +127 -64
  29. package/dist/mcp/session.js.map +1 -1
  30. package/dist/mcp/tools.js +4 -4
  31. package/dist/memory-bridge.js +1 -1
  32. package/dist/memory-bridge.js.map +1 -1
  33. package/dist/observability.d.ts +1 -1
  34. package/dist/observability.js +1 -1
  35. package/dist/policy.d.ts +80 -10
  36. package/dist/policy.d.ts.map +1 -1
  37. package/dist/policy.js +101 -30
  38. package/dist/policy.js.map +1 -1
  39. package/dist/protocol.d.ts +70 -16
  40. package/dist/protocol.d.ts.map +1 -1
  41. package/dist/protocol.js +40 -8
  42. package/dist/protocol.js.map +1 -1
  43. package/dist/replay.js +7 -7
  44. package/dist/replay.js.map +1 -1
  45. package/dist/runtime.d.ts +11 -7
  46. package/dist/runtime.d.ts.map +1 -1
  47. package/dist/runtime.js +125 -144
  48. package/dist/runtime.js.map +1 -1
  49. package/dist/tests/builder.test.js +42 -28
  50. package/dist/tests/builder.test.js.map +1 -1
  51. package/dist/tests/enforcement-gate.test.d.ts +2 -0
  52. package/dist/tests/enforcement-gate.test.d.ts.map +1 -0
  53. package/dist/tests/enforcement-gate.test.js +328 -0
  54. package/dist/tests/enforcement-gate.test.js.map +1 -0
  55. package/dist/tests/engine.test.js +22 -22
  56. package/dist/tests/engine.test.js.map +1 -1
  57. package/dist/tests/generate-schema.test.js +10 -7
  58. package/dist/tests/generate-schema.test.js.map +1 -1
  59. package/dist/tests/loop-compiler.test.js +273 -47
  60. package/dist/tests/loop-compiler.test.js.map +1 -1
  61. package/dist/tests/mcp.test.js +31 -11
  62. package/dist/tests/mcp.test.js.map +1 -1
  63. package/dist/tests/memory-bridge.test.js +0 -1
  64. package/dist/tests/memory-bridge.test.js.map +1 -1
  65. package/dist/tests/policy.test.js +6 -16
  66. package/dist/tests/policy.test.js.map +1 -1
  67. package/dist/tests/protocol.test.js +3 -2
  68. package/dist/tests/protocol.test.js.map +1 -1
  69. package/dist/tests/replay.test.js +9 -9
  70. package/dist/tests/replay.test.js.map +1 -1
  71. package/dist/tests/runtime.test.js +27 -13
  72. package/dist/tests/runtime.test.js.map +1 -1
  73. package/dist/tests/verification-gate.test.js +1 -1
  74. package/dist/tests/verification-gate.test.js.map +1 -1
  75. package/dist/verification-gate.d.ts +8 -2
  76. package/dist/verification-gate.d.ts.map +1 -1
  77. package/dist/verification-gate.js +5 -4
  78. package/dist/verification-gate.js.map +1 -1
  79. package/loop_policy.json +13 -26
  80. package/package.json +1 -1
  81. package/skills/perception/SKILL.md +42 -23
  82. package/skills/prompt-techniques/SKILL.md +52 -52
  83. package/skills/prompt-techniques/references/chain-of-thought.md +207 -207
  84. package/skills/prompt-techniques/references/few-shot.md +174 -174
  85. package/skills/prompt-techniques/references/least-to-most.md +182 -182
  86. package/skills/prompt-techniques/references/step-back.md +160 -160
  87. package/skills/prompt-techniques/references/tree-of-thought.md +191 -191
  88. package/skills/prompt-techniques/references/zero-shot.md +97 -97
@@ -1 +1 @@
1
- {"version":3,"file":"engine.test.js","sourceRoot":"","sources":["../../src/tests/engine.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.test.js","sourceRoot":"","sources":["../../src/tests/engine.test.ts"],"names":[],"mappings":"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"}
@@ -33,9 +33,9 @@ describe("Generated JSON Schema — top-level", () => {
33
33
  assert.ok(String(schema.$id ?? "").includes("loopforge"));
34
34
  assert.ok(String(schema.title ?? "").includes("LoopForge"));
35
35
  });
36
- it("has 38 $defs (4 enums + 33 interfaces + 1 type alias)", () => {
36
+ it("has 40 $defs (4 enums + 35 interfaces + 1 type alias)", () => {
37
37
  const names = Object.keys(defs);
38
- assert.equal(names.length, 38, `expected 38, got ${names.length}: ${names.join(", ")}`);
38
+ assert.equal(names.length, 40, `expected 40, got ${names.length}: ${names.join(", ")}`);
39
39
  });
40
40
  });
41
41
  // ═══════════════════════════════════════════════════════════════════════════
@@ -86,11 +86,12 @@ describe("Interface type correctness", () => {
86
86
  assert.equal(p.is_aligned.type, "boolean");
87
87
  assert.equal(p.alignment_score.type, "number");
88
88
  });
89
- it("LoopRoundResult — round is number, success is boolean, quality_score is number", () => {
89
+ it("LoopRoundResult — round is number, success is boolean (quality_score removed v1.12)", () => {
90
90
  const p = props("LoopRoundResult");
91
91
  assert.equal(p.round.type, "number");
92
92
  assert.equal(p.success.type, "boolean");
93
- assert.equal(p.quality_score.type, "number");
93
+ // quality_score field has been removed — verify it's gone
94
+ assert.equal(p.quality_score, undefined);
94
95
  });
95
96
  });
96
97
  // ═══════════════════════════════════════════════════════════════════════════
@@ -110,10 +111,12 @@ describe("Array properties", () => {
110
111
  assert.equal(p.warnings.items.type, "string");
111
112
  assert.equal(p.lineage.type, "array");
112
113
  });
113
- it("RollingSummary — quality_trajectory is number array", () => {
114
+ it("RollingSummary — key_outcomes is string array", () => {
114
115
  const p = props("RollingSummary");
115
- assert.equal(p.quality_trajectory.type, "array");
116
- assert.equal(p.quality_trajectory.items.type, "number");
116
+ assert.equal(p.key_outcomes.type, "array");
117
+ assert.equal(p.key_outcomes.items.type, "string");
118
+ // quality_trajectory and trajectory_direction removed in v1.12
119
+ assert.equal(p.quality_trajectory, undefined);
117
120
  });
118
121
  });
119
122
  // ═══════════════════════════════════════════════════════════════════════════
@@ -1 +1 @@
1
- {"version":3,"file":"generate-schema.test.js","sourceRoot":"","sources":["../../src/tests/generate-schema.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-schema.test.js","sourceRoot":"","sources":["../../src/tests/generate-schema.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /** Tests for loop compiler core: gates, advisories, L0/L1/L2 compilation. */
2
2
  import { describe, it, beforeEach } from "node:test";
3
3
  import assert from "node:assert/strict";
4
- import { decideLevel, compileLoop, computeGoalTextHash, deriveGoalId, alignTask, compileL2, buildRollingSummary, formatRollingSummaryForPrompt, filterConstraintsForSubTask, formatDelegationPrompt, buildDelegationSummary, } from "../loop-compiler.js";
5
- import { makeLoopCompileRequest, makeLoopRoundResult, makeLoopObjective, makeRollingSummary, } from "../protocol.js";
4
+ import { decideLevel, compileLoop, computeGoalTextHash, deriveGoalId, alignTask, compileL2, buildRollingSummary, formatRollingSummaryForPrompt, buildCheckpointSummary, formatCheckpointForPrompt, filterConstraintsForSubTask, formatDelegationPrompt, buildDelegationSummary, } from "../loop-compiler.js";
5
+ import { makeLoopCompileRequest, makeLoopRoundResult, makeLoopObjective, makeRollingSummary, makeCheckpointSummary, makeSelfEvaluation, } from "../protocol.js";
6
6
  import { resetPolicy } from "../policy.js";
7
7
  describe("Loop Compiler — Goal Identity", () => {
8
8
  it("computeGoalTextHash produces a 12-char hex string", () => {
@@ -89,7 +89,7 @@ describe("Loop Compiler — Decide Level (4-gate router)", () => {
89
89
  };
90
90
  assert.equal(decideLevel(req, vaultContext), "l1");
91
91
  });
92
- it("returns l1 when last round failed (Gate 4)", () => {
92
+ it("returns l0 when last round failed with no new info (honest retry)", () => {
93
93
  const req = makeLoopCompileRequest({
94
94
  round: 2,
95
95
  loop_id: "test",
@@ -108,7 +108,8 @@ describe("Loop Compiler — Decide Level (4-gate router)", () => {
108
108
  },
109
109
  ],
110
110
  };
111
- assert.equal(decideLevel(req, vaultContext), "l1");
111
+ // failed + no P0-P5 + no new constraints + no repair → L0 retry
112
+ assert.equal(decideLevel(req, vaultContext), "l0");
112
113
  });
113
114
  it("returns l1 with repair signal (Gate 4)", () => {
114
115
  const req = makeLoopCompileRequest({
@@ -131,7 +132,7 @@ describe("Loop Compiler — Decide Level (4-gate router)", () => {
131
132
  };
132
133
  assert.equal(decideLevel(req, vaultContext), "l1");
133
134
  });
134
- it("returns l0 when nothing triggered (Gate 4: fast path)", () => {
135
+ it("returns l1 as default path when nothing specific triggered", () => {
135
136
  const req = makeLoopCompileRequest({
136
137
  round: 2,
137
138
  loop_id: "test",
@@ -149,7 +150,8 @@ describe("Loop Compiler — Decide Level (4-gate router)", () => {
149
150
  },
150
151
  ],
151
152
  };
152
- assert.equal(decideLevel(req, vaultContext), "l0");
153
+ // v1.14: L1 is the default path — L0 only fires on honest failure with no new info
154
+ assert.equal(decideLevel(req, vaultContext), "l1");
153
155
  });
154
156
  it("respects force_level override (Gate 1)", () => {
155
157
  const req = makeLoopCompileRequest({
@@ -191,7 +193,7 @@ describe("Loop Compiler — Decide Level (4-gate router)", () => {
191
193
  });
192
194
  });
193
195
  describe("Loop Compiler — L0 Fast Path", () => {
194
- it("reuses cached prompt from previous round", () => {
196
+ it("uses L1 as default when no trigger (L0 requires failure)", () => {
195
197
  const req = makeLoopCompileRequest({
196
198
  round: 2,
197
199
  loop_id: "test",
@@ -212,14 +214,16 @@ describe("Loop Compiler — L0 Fast Path", () => {
212
214
  ],
213
215
  };
214
216
  const response = compileLoop(req, vaultContext);
215
- assert.equal(response.recompile_level, "l0");
216
- assert.ok(response.prompt.includes("Round 1 Prompt"));
217
- assert.equal(response.technique_used, "cached");
218
- assert.deepEqual(response.constraints_active, ["check ownership"]);
217
+ // v1.14: L1 is the default — state evolves in state file, prompt is thin
218
+ assert.equal(response.recompile_level, "l1");
219
+ // L1 uses real technique routing, not "cached" or "patch"
220
+ assert.notEqual(response.technique_used, "");
221
+ assert.notEqual(response.technique_used, "cached");
222
+ assert.notEqual(response.technique_used, "patch");
219
223
  });
220
224
  });
221
225
  describe("Loop Compiler — L1 Patch Path", () => {
222
- it("patches prompt with new constraints", () => {
226
+ it("compiles thin L1 prompt with constraints and real technique", () => {
223
227
  const req = makeLoopCompileRequest({
224
228
  round: 2,
225
229
  loop_id: "test",
@@ -242,14 +246,14 @@ describe("Loop Compiler — L1 Patch Path", () => {
242
246
  };
243
247
  const response = compileLoop(req, vaultContext);
244
248
  assert.equal(response.recompile_level, "l1");
245
- assert.ok(response.prompt.includes("L1 Patch"));
246
- assert.ok(response.prompt.includes("check flash loans"));
247
- assert.ok(response.prompt.includes("check ownership"));
248
- assert.equal(response.technique_used, "patch");
249
+ // v1.14: L1 uses real technique routing (not "patch")
250
+ assert.notEqual(response.technique_used, "patch");
251
+ assert.notEqual(response.technique_used, "cached");
252
+ assert.notEqual(response.technique_used, "");
249
253
  });
250
254
  });
251
255
  describe("Loop Compiler — L2 Full Recompile", () => {
252
- it("generates full meta-instruction prompt", () => {
256
+ it("generates L2 prompt with technique selection block", () => {
253
257
  const req = makeLoopCompileRequest({
254
258
  round: 1,
255
259
  loop_id: "audit-erc20",
@@ -261,8 +265,10 @@ describe("Loop Compiler — L2 Full Recompile", () => {
261
265
  assert.equal(response.recompile_level, "l2");
262
266
  assert.ok(response.prompt.includes("L2 Compile"));
263
267
  assert.ok(response.prompt.includes("Loop Identity"));
264
- assert.ok(response.prompt.includes("Generation Instructions"));
265
- assert.notEqual(response.technique_used, "");
268
+ assert.ok(response.prompt.includes("Technique Selection"));
269
+ assert.equal(response.technique_used, "agent-selected");
270
+ // v1.15.1: Absolute path from package install location
271
+ assert.ok(response.reference_file.endsWith("prompt-techniques/SKILL.md"), `reference_file should end with prompt-techniques/SKILL.md, got: ${response.reference_file}`);
266
272
  assert.notEqual(response.goal_text_hash, "");
267
273
  assert.equal(response.round, 1);
268
274
  assert.equal(response.loop_id, "audit-erc20");
@@ -359,7 +365,7 @@ describe("Loop Compiler — Compile Loop (top-level)", () => {
359
365
  });
360
366
  });
361
367
  describe("Loop Compiler — Cross-Round Scenarios", () => {
362
- it("L0→L1 escalation: goal_id stable, new constraints added", () => {
368
+ it("L1 default: goal_id stable, new constraints added", () => {
363
369
  const vaultContext = {
364
370
  results: [
365
371
  {
@@ -381,9 +387,10 @@ describe("Loop Compiler — Cross-Round Scenarios", () => {
381
387
  constraints_from_plan: ["check flash loans"],
382
388
  });
383
389
  const level = decideLevel(req, vaultContext);
390
+ // v1.14: L1 is the default path for state evolution
384
391
  assert.equal(level, "l1");
385
392
  });
386
- it("L0 stability: multiple rounds with same goal_id, no failures", () => {
393
+ it("L1 default: multiple rounds with same goal_id, no failures", () => {
387
394
  const vaultContext = {
388
395
  results: [
389
396
  {
@@ -402,23 +409,25 @@ describe("Loop Compiler — Cross-Round Scenarios", () => {
402
409
  task: "Audit ERC20",
403
410
  });
404
411
  const level = decideLevel(req, vaultContext);
405
- assert.equal(level, "l0");
412
+ // v1.14: L1 is the default — L0 only fires on honest failure
413
+ assert.equal(level, "l1");
406
414
  });
407
415
  });
408
416
  // ═══════════════════════════════════════════════════════════════════════════
409
417
  // Failure Lineage Weighting (v1.7)
410
418
  // ═══════════════════════════════════════════════════════════════════════════
411
419
  function makeVaultResult(loopId, round, qualityScore, task, outputSummary = "", techniqueUsed = "zero-shot", constraintViolations = []) {
420
+ const success = qualityScore >= 3;
412
421
  return {
413
422
  task,
414
423
  output_summary: outputSummary,
415
424
  constraint_violations: constraintViolations,
416
425
  technique_used: techniqueUsed,
417
- quality_score: qualityScore,
426
+ success,
418
427
  loop_lineage: {
419
428
  loop_id: loopId,
420
429
  round,
421
- quality_score: qualityScore,
430
+ success,
422
431
  task,
423
432
  technique_used: techniqueUsed,
424
433
  },
@@ -437,12 +446,12 @@ describe("Failure Lineage Weighting — buildRollingSummary", () => {
437
446
  const rs = buildRollingSummary("loop-1", 4, vault);
438
447
  assert.ok(rs !== null);
439
448
  assert.equal(rs.failed_patterns?.length ?? 0, 0);
440
- // key_lessons should not have [Consider alternatives] marker
441
- for (const kl of rs.key_lessons) {
442
- assert.ok(!kl.includes("[Consider alternatives]"));
449
+ // key_outcomes should not have [Consider alternatives] marker
450
+ for (const ko of rs.key_outcomes) {
451
+ assert.ok(!ko.includes("[Consider alternatives]"));
443
452
  }
444
453
  });
445
- it("detects 2 consecutive low-quality rounds with same technique and similar task", () => {
454
+ it("detects 2 consecutive failed rounds with same technique and similar task", () => {
446
455
  const vault = {
447
456
  results: [
448
457
  makeVaultResult("loop-1", 1, 2, "fix cache bug", "Tried cache fix A", "zero-shot"),
@@ -459,7 +468,7 @@ describe("Failure Lineage Weighting — buildRollingSummary", () => {
459
468
  assert.ok(fp.includes("cache"));
460
469
  assert.ok(fp.includes("2 consecutive rounds"));
461
470
  });
462
- it("detects 3 consecutive low-quality rounds", () => {
471
+ it("detects 3 consecutive failed rounds", () => {
463
472
  const vault = {
464
473
  results: [
465
474
  makeVaultResult("loop-1", 1, 2, "fix memory leak", "Attempt 1", "few-shot"),
@@ -473,7 +482,7 @@ describe("Failure Lineage Weighting — buildRollingSummary", () => {
473
482
  assert.ok((rs.failed_patterns?.length ?? 0) >= 1);
474
483
  assert.ok(rs.failed_patterns[0].includes("3 consecutive rounds"));
475
484
  });
476
- it("no pattern when low-quality rounds use different techniques", () => {
485
+ it("no pattern when failed rounds use different techniques", () => {
477
486
  const vault = {
478
487
  results: [
479
488
  makeVaultResult("loop-1", 1, 2, "fix cache bug", "Attempt", "zero-shot"),
@@ -485,7 +494,7 @@ describe("Failure Lineage Weighting — buildRollingSummary", () => {
485
494
  assert.ok(rs !== null);
486
495
  assert.equal(rs.failed_patterns?.length ?? 0, 0);
487
496
  });
488
- it("no pattern when low-quality tasks are completely different (Jaccard < 0.4)", () => {
497
+ it("no pattern when failed tasks are completely different (Jaccard < 0.4)", () => {
489
498
  const vault = {
490
499
  results: [
491
500
  makeVaultResult("loop-1", 1, 2, "fix cache bug in Redis layer", "Attempt", "zero-shot"),
@@ -497,7 +506,7 @@ describe("Failure Lineage Weighting — buildRollingSummary", () => {
497
506
  assert.ok(rs !== null);
498
507
  assert.equal(rs.failed_patterns?.length ?? 0, 0);
499
508
  });
500
- it("key_lessons from failure-pattern rounds are demoted to end with [Consider alternatives]", () => {
509
+ it("key_outcomes from failure-pattern rounds are demoted to end with [Consider alternatives]", () => {
501
510
  const vault = {
502
511
  results: [
503
512
  makeVaultResult("loop-1", 1, 2, "fix cache bug", "Tried cache approach", "zero-shot"),
@@ -508,14 +517,15 @@ describe("Failure Lineage Weighting — buildRollingSummary", () => {
508
517
  };
509
518
  const rs = buildRollingSummary("loop-1", 4, vault);
510
519
  assert.ok(rs !== null);
511
- // key_lessons should have the successful round first, then demoted ones
512
- // (but since score >= 4 for key_lessons, rounds 1-2 with score=2 won't appear at all)
513
- // The real test is: no false positives in key_lessons
514
- for (const kl of rs.key_lessons) {
515
- if (kl.includes("cache")) {
516
- assert.ok(kl.includes("[Consider alternatives]"));
520
+ // key_outcomes only include score>=4 rounds (failure-pattern rounds score<3 don't appear)
521
+ // Round 3 (score=5) should be present and not marked
522
+ for (const ko of rs.key_outcomes) {
523
+ if (ko.includes("cache")) {
524
+ assert.ok(ko.includes("[Consider alternatives]"));
517
525
  }
518
526
  }
527
+ // Round 3 (score=5) should be present with auth fix outcome
528
+ assert.ok(rs.key_outcomes.some((ko) => ko.includes("Auth")));
519
529
  });
520
530
  it("recurring_issues from failure-only rounds marked as [Possible dead end]", () => {
521
531
  const vault = {
@@ -557,15 +567,12 @@ describe("Failure Lineage Weighting — buildRollingSummary", () => {
557
567
  describe("Failure Lineage Weighting — formatRollingSummaryForPrompt", () => {
558
568
  it("renders failure patterns section when present", () => {
559
569
  const rs = makeRollingSummary({
560
- quality_trajectory: [2, 2, 5],
561
- trajectory_direction: "improving",
562
- what_worked: ["R3 (score=5): Fixed auth"],
570
+ key_outcomes: ["[R3] ✓ (step-back): Fixed auth bug"],
563
571
  recurring_issues: [],
564
- key_lessons: ["[R3] Fixed auth bug"],
565
572
  rounds_sampled: 3,
566
573
  generated_at_round: 4,
567
574
  failed_patterns: [
568
- "technique 'zero-shot' on task 'fix cache bug' failed 2 consecutive rounds (R1-R2, avg score 2.0) — consider strategy change",
575
+ "technique 'zero-shot' on task 'fix cache bug' failed 2 consecutive rounds (R1-R2) — consider strategy change",
569
576
  ],
570
577
  });
571
578
  const text = formatRollingSummaryForPrompt(rs);
@@ -576,11 +583,8 @@ describe("Failure Lineage Weighting — formatRollingSummaryForPrompt", () => {
576
583
  });
577
584
  it("no failure patterns section when empty", () => {
578
585
  const rs = makeRollingSummary({
579
- quality_trajectory: [5, 4],
580
- trajectory_direction: "stable",
581
- what_worked: [],
586
+ key_outcomes: [],
582
587
  recurring_issues: [],
583
- key_lessons: [],
584
588
  rounds_sampled: 2,
585
589
  generated_at_round: 3,
586
590
  failed_patterns: [],
@@ -830,4 +834,226 @@ describe("Delegation — buildDelegationSummary", () => {
830
834
  assert.equal(pipeCount, 9, "table row should have 9 pipe chars (7 structural + 2 escaped)");
831
835
  });
832
836
  });
837
+ // ═══════════════════════════════════════════════════════════════════════════
838
+ // Checkpoint Compression (v1.10)
839
+ // ═══════════════════════════════════════════════════════════════════════════
840
+ describe("Checkpoint — buildCheckpointSummary", () => {
841
+ it("builds from self-eval with checkpoint fields", () => {
842
+ const selfEval = makeSelfEvaluation({
843
+ success: true,
844
+ output_summary: "Completed ERC20 data model with full test coverage",
845
+ compression_checkpoint: true,
846
+ checkpoint_label: "数据模型层完成",
847
+ });
848
+ const cs = buildCheckpointSummary(selfEval, 8, ["constraint-A", "constraint-B", "constraint-C"], ["old-constraint"]);
849
+ assert.ok(cs !== null);
850
+ assert.equal(cs.label, "数据模型层完成");
851
+ assert.equal(cs.declared_at_round, 8);
852
+ assert.ok(cs.outcome.includes("ERC20 data model"));
853
+ assert.deepStrictEqual(cs.carried_constraints, ["constraint-A", "constraint-B", "constraint-C"]);
854
+ assert.deepStrictEqual(cs.resolved_constraints, ["old-constraint"]);
855
+ });
856
+ it("falls back to auto-generated label when checkpoint_label is empty", () => {
857
+ const selfEval = makeSelfEvaluation({
858
+ success: true,
859
+ output_summary: "Done with auth module",
860
+ compression_checkpoint: true,
861
+ checkpoint_label: "",
862
+ });
863
+ const cs = buildCheckpointSummary(selfEval, 5, ["c1"], []);
864
+ assert.ok(cs.label.includes("Subtask completed at round 5"));
865
+ });
866
+ it("caps carried and resolved constraints at policy limit", () => {
867
+ const selfEval = makeSelfEvaluation({
868
+ success: true,
869
+ output_summary: "Done",
870
+ compression_checkpoint: true,
871
+ checkpoint_label: "test",
872
+ });
873
+ const manyConstraints = Array.from({ length: 15 }, (_, i) => `c${i + 1}`);
874
+ const cs = buildCheckpointSummary(selfEval, 3, manyConstraints, manyConstraints);
875
+ // Default policy: max_carried_constraints = 10
876
+ assert.equal(cs.carried_constraints.length, 10);
877
+ assert.equal(cs.resolved_constraints.length, 10);
878
+ });
879
+ it("truncates outcome at policy limit", () => {
880
+ const selfEval = makeSelfEvaluation({
881
+ success: true,
882
+ output_summary: "x".repeat(300),
883
+ compression_checkpoint: true,
884
+ checkpoint_label: "test",
885
+ });
886
+ const cs = buildCheckpointSummary(selfEval, 1, [], []);
887
+ // Default policy: outcome_max_chars = 200
888
+ assert.ok(cs.outcome.length <= 200);
889
+ });
890
+ });
891
+ describe("Checkpoint — formatCheckpointForPrompt", () => {
892
+ it("renders checkpoint block with all fields", () => {
893
+ const cs = makeCheckpointSummary({
894
+ label: "Auth module complete",
895
+ declared_at_round: 5,
896
+ outcome: "Implemented JWT auth with refresh tokens",
897
+ carried_constraints: ["所有API需要认证", "token过期时间≤24h"],
898
+ resolved_constraints: ["旧密码哈希方式需更新"],
899
+ });
900
+ const text = formatCheckpointForPrompt(cs);
901
+ assert.ok(text.includes("### Checkpoint: Auth module complete (Round 5)"));
902
+ assert.ok(text.includes("Implemented JWT auth"));
903
+ assert.ok(text.includes("所有API需要认证"));
904
+ assert.ok(text.includes("旧密码哈希方式需更新"));
905
+ assert.ok(text.includes("Carried Constraints"));
906
+ assert.ok(text.includes("Resolved Constraints"));
907
+ });
908
+ it("returns empty string for null", () => {
909
+ assert.equal(formatCheckpointForPrompt(null), "");
910
+ });
911
+ it("returns empty string for empty checkpoint", () => {
912
+ const cs = makeCheckpointSummary({});
913
+ assert.equal(formatCheckpointForPrompt(cs), "");
914
+ });
915
+ it("omits resolved section when no resolved constraints", () => {
916
+ const cs = makeCheckpointSummary({
917
+ label: "test",
918
+ declared_at_round: 1,
919
+ outcome: "done",
920
+ carried_constraints: ["c1"],
921
+ resolved_constraints: [],
922
+ });
923
+ const text = formatCheckpointForPrompt(cs);
924
+ assert.ok(!text.includes("Resolved Constraints"));
925
+ });
926
+ });
927
+ describe("Checkpoint — buildRollingSummary with sinceRound", () => {
928
+ function makeVaultResult(loopId, round, qualityScore, task, outputSummary = "", techniqueUsed = "zero-shot", constraintViolations = []) {
929
+ const success = qualityScore >= 3;
930
+ return {
931
+ task, output_summary: outputSummary,
932
+ constraint_violations: constraintViolations,
933
+ technique_used: techniqueUsed, success,
934
+ loop_lineage: { loop_id: loopId, round, success, task, technique_used: techniqueUsed },
935
+ };
936
+ }
937
+ it("only includes rounds at or after sinceRound", () => {
938
+ const vault = {
939
+ results: [
940
+ makeVaultResult("loop-1", 1, 4, "task A", "did A"),
941
+ makeVaultResult("loop-1", 2, 5, "task B", "did B"),
942
+ makeVaultResult("loop-1", 3, 3, "task C", "did C"),
943
+ makeVaultResult("loop-1", 4, 5, "task D", "did D"),
944
+ makeVaultResult("loop-1", 5, 4, "task E", "did E"),
945
+ ],
946
+ };
947
+ const rs = buildRollingSummary("loop-1", 6, vault, 3);
948
+ assert.ok(rs !== null);
949
+ // Round 1 and 2 should be excluded (before sinceRound=3)
950
+ assert.equal(rs.rounds_sampled, 3);
951
+ // Verify key_outcomes contains rounds 3-5
952
+ assert.equal(rs.key_outcomes.length, 3);
953
+ assert.ok(rs.key_outcomes.some((k) => k.includes("R3")));
954
+ assert.ok(rs.key_outcomes.some((k) => k.includes("R5")));
955
+ });
956
+ it("sinceRound with no matching rounds returns null", () => {
957
+ const vault = {
958
+ results: [
959
+ makeVaultResult("loop-1", 1, 4, "task A", "did A"),
960
+ makeVaultResult("loop-1", 2, 5, "task B", "did B"),
961
+ ],
962
+ };
963
+ const rs = buildRollingSummary("loop-1", 3, vault, 5);
964
+ assert.equal(rs, null);
965
+ });
966
+ it("without sinceRound includes all rounds (backward compat)", () => {
967
+ const vault = {
968
+ results: [
969
+ makeVaultResult("loop-1", 1, 4, "task A", "did A"),
970
+ makeVaultResult("loop-1", 2, 5, "task B", "did B"),
971
+ ],
972
+ };
973
+ const rs = buildRollingSummary("loop-1", 3, vault);
974
+ assert.ok(rs !== null);
975
+ assert.equal(rs.rounds_sampled, 2);
976
+ });
977
+ });
978
+ describe("Checkpoint — compileL2 integration", () => {
979
+ it("renders checkpoint in prompt when last_round_result has checkpoint", () => {
980
+ const lr = makeLoopRoundResult({
981
+ round: 4,
982
+ success: true,
983
+ output_summary: "Completed data model layer",
984
+ constraint_violations: [],
985
+ compression_checkpoint: true,
986
+ checkpoint_label: "Data model done",
987
+ });
988
+ const req = makeLoopCompileRequest({
989
+ round: 5,
990
+ loop_id: "test-cp",
991
+ task: "Build API layer on top of data model",
992
+ last_round_result: lr,
993
+ });
994
+ // Empty vault — no prior checkpoint to load
995
+ const vault = { results: [], global_entries: [] };
996
+ const response = compileL2(req, vault);
997
+ assert.ok(response.prompt.includes("### Checkpoint: Data model done (Round 4)"));
998
+ assert.ok(response.prompt.includes("Completed data model layer"));
999
+ assert.ok(response.checkpoint_summary !== null);
1000
+ assert.equal(response.checkpoint_summary.declared_at_round, 4);
1001
+ });
1002
+ it("no checkpoint in prompt when last_round_result has no checkpoint", () => {
1003
+ const lr = makeLoopRoundResult({
1004
+ round: 2,
1005
+ success: true,
1006
+ output_summary: "Fixed a bug",
1007
+ constraint_violations: [],
1008
+ });
1009
+ const req = makeLoopCompileRequest({
1010
+ round: 3,
1011
+ loop_id: "test-nocp",
1012
+ task: "Continue fixing bugs",
1013
+ last_round_result: lr,
1014
+ });
1015
+ const vault = { results: [], global_entries: [] };
1016
+ const response = compileL2(req, vault);
1017
+ assert.ok(!response.prompt.includes("### Checkpoint:"));
1018
+ assert.equal(response.checkpoint_summary, null);
1019
+ });
1020
+ it("loads existing checkpoint from vault on later rounds", () => {
1021
+ // Simulate a previous round that stored a checkpoint in vault
1022
+ const vault = {
1023
+ results: [
1024
+ {
1025
+ loop_lineage: { loop_id: "test-cp2", round: 3, success: true },
1026
+ checkpoint_summary: {
1027
+ label: "API layer done",
1028
+ declared_at_round: 3,
1029
+ outcome: "Built REST API",
1030
+ carried_constraints: ["auth required"],
1031
+ resolved_constraints: [],
1032
+ },
1033
+ task: "Build API",
1034
+ output_summary: "Built REST API",
1035
+ technique_used: "least-to-most",
1036
+ },
1037
+ ],
1038
+ };
1039
+ const lr = makeLoopRoundResult({
1040
+ round: 4,
1041
+ success: true,
1042
+ output_summary: "Added tests",
1043
+ constraint_violations: [],
1044
+ });
1045
+ const req = makeLoopCompileRequest({
1046
+ round: 5,
1047
+ loop_id: "test-cp2",
1048
+ task: "Add integration tests",
1049
+ last_round_result: lr,
1050
+ });
1051
+ const response = compileL2(req, vault);
1052
+ // Should load checkpoint from round 3
1053
+ assert.ok(response.prompt.includes("### Checkpoint: API layer done (Round 3)"));
1054
+ assert.ok(response.prompt.includes("Built REST API"));
1055
+ assert.ok(response.checkpoint_summary !== null);
1056
+ assert.equal(response.checkpoint_summary.declared_at_round, 3);
1057
+ });
1058
+ });
833
1059
  //# sourceMappingURL=loop-compiler.test.js.map