loopforge 1.3.1 → 1.8.0

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 (91) hide show
  1. package/README.md +64 -3
  2. package/dist/backends/fs.d.ts +5 -0
  3. package/dist/backends/fs.d.ts.map +1 -1
  4. package/dist/backends/fs.js +66 -16
  5. package/dist/backends/fs.js.map +1 -1
  6. package/dist/builder.d.ts +0 -1
  7. package/dist/builder.d.ts.map +1 -1
  8. package/dist/builder.js +14 -25
  9. package/dist/builder.js.map +1 -1
  10. package/dist/engine.d.ts +28 -5
  11. package/dist/engine.d.ts.map +1 -1
  12. package/dist/engine.js +303 -105
  13. package/dist/engine.js.map +1 -1
  14. package/dist/index.d.ts +9 -12
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +7 -10
  17. package/dist/index.js.map +1 -1
  18. package/dist/loop-compiler.d.ts +28 -2
  19. package/dist/loop-compiler.d.ts.map +1 -1
  20. package/dist/loop-compiler.js +718 -38
  21. package/dist/loop-compiler.js.map +1 -1
  22. package/dist/mcp/server.d.ts.map +1 -1
  23. package/dist/mcp/server.js +6 -4
  24. package/dist/mcp/server.js.map +1 -1
  25. package/dist/mcp/session.d.ts +24 -4
  26. package/dist/mcp/session.d.ts.map +1 -1
  27. package/dist/mcp/session.js +303 -34
  28. package/dist/mcp/session.js.map +1 -1
  29. package/dist/mcp/tools.d.ts +165 -1
  30. package/dist/mcp/tools.d.ts.map +1 -1
  31. package/dist/mcp/tools.js +144 -15
  32. package/dist/mcp/tools.js.map +1 -1
  33. package/dist/memory-bridge.d.ts +47 -0
  34. package/dist/memory-bridge.d.ts.map +1 -0
  35. package/dist/memory-bridge.js +290 -0
  36. package/dist/memory-bridge.js.map +1 -0
  37. package/dist/observability.d.ts +23 -0
  38. package/dist/observability.d.ts.map +1 -0
  39. package/dist/observability.js +29 -0
  40. package/dist/observability.js.map +1 -0
  41. package/dist/policy.d.ts +72 -0
  42. package/dist/policy.d.ts.map +1 -1
  43. package/dist/policy.js +44 -0
  44. package/dist/policy.js.map +1 -1
  45. package/dist/protocol.d.ts +197 -7
  46. package/dist/protocol.d.ts.map +1 -1
  47. package/dist/protocol.js +48 -5
  48. package/dist/protocol.js.map +1 -1
  49. package/dist/runtime.d.ts +19 -0
  50. package/dist/runtime.d.ts.map +1 -1
  51. package/dist/runtime.js +446 -142
  52. package/dist/runtime.js.map +1 -1
  53. package/dist/tests/builder.test.js +1 -25
  54. package/dist/tests/builder.test.js.map +1 -1
  55. package/dist/tests/engine.test.js +213 -38
  56. package/dist/tests/engine.test.js.map +1 -1
  57. package/dist/tests/generate-schema.test.js +4 -4
  58. package/dist/tests/generate-schema.test.js.map +1 -1
  59. package/dist/tests/loop-compiler.test.js +427 -2
  60. package/dist/tests/loop-compiler.test.js.map +1 -1
  61. package/dist/tests/mcp.test.js +166 -79
  62. package/dist/tests/mcp.test.js.map +1 -1
  63. package/dist/tests/memory-bridge.test.d.ts +8 -0
  64. package/dist/tests/memory-bridge.test.d.ts.map +1 -0
  65. package/dist/tests/memory-bridge.test.js +384 -0
  66. package/dist/tests/memory-bridge.test.js.map +1 -0
  67. package/dist/tests/protocol.test.js +14 -5
  68. package/dist/tests/protocol.test.js.map +1 -1
  69. package/dist/tests/verification-gate.test.d.ts +2 -0
  70. package/dist/tests/verification-gate.test.d.ts.map +1 -0
  71. package/dist/tests/verification-gate.test.js +407 -0
  72. package/dist/tests/verification-gate.test.js.map +1 -0
  73. package/dist/verification-gate.d.ts +26 -0
  74. package/dist/verification-gate.d.ts.map +1 -0
  75. package/dist/verification-gate.js +232 -0
  76. package/dist/verification-gate.js.map +1 -0
  77. package/loop_policy.json +31 -0
  78. package/package.json +1 -2
  79. package/skills/perception/SKILL.md +147 -55
  80. package/dist/adapter.d.ts +0 -17
  81. package/dist/adapter.d.ts.map +0 -1
  82. package/dist/adapter.js +0 -228
  83. package/dist/adapter.js.map +0 -1
  84. package/dist/cli.d.ts +0 -7
  85. package/dist/cli.d.ts.map +0 -1
  86. package/dist/cli.js +0 -458
  87. package/dist/cli.js.map +0 -1
  88. package/dist/tests/adapter.test.d.ts +0 -2
  89. package/dist/tests/adapter.test.d.ts.map +0 -1
  90. package/dist/tests/adapter.test.js +0 -104
  91. package/dist/tests/adapter.test.js.map +0 -1
@@ -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, } from "../loop-compiler.js";
5
- import { makeLoopCompileRequest, makeLoopRoundResult, makeLoopObjective, } from "../protocol.js";
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";
6
6
  import { resetPolicy } from "../policy.js";
7
7
  describe("Loop Compiler — Goal Identity", () => {
8
8
  it("computeGoalTextHash produces a 12-char hex string", () => {
@@ -405,4 +405,429 @@ describe("Loop Compiler — Cross-Round Scenarios", () => {
405
405
  assert.equal(level, "l0");
406
406
  });
407
407
  });
408
+ // ═══════════════════════════════════════════════════════════════════════════
409
+ // Failure Lineage Weighting (v1.7)
410
+ // ═══════════════════════════════════════════════════════════════════════════
411
+ function makeVaultResult(loopId, round, qualityScore, task, outputSummary = "", techniqueUsed = "zero-shot", constraintViolations = []) {
412
+ return {
413
+ task,
414
+ output_summary: outputSummary,
415
+ constraint_violations: constraintViolations,
416
+ technique_used: techniqueUsed,
417
+ quality_score: qualityScore,
418
+ loop_lineage: {
419
+ loop_id: loopId,
420
+ round,
421
+ quality_score: qualityScore,
422
+ task,
423
+ technique_used: techniqueUsed,
424
+ },
425
+ };
426
+ }
427
+ describe("Failure Lineage Weighting — buildRollingSummary", () => {
428
+ it("no failure patterns when all rounds score >= 4", () => {
429
+ const vault = {
430
+ results: [
431
+ makeVaultResult("loop-1", 1, 5, "fix auth bug", "Fixed auth by updating middleware"),
432
+ makeVaultResult("loop-1", 2, 4, "add tests for auth", "Added 12 test cases"),
433
+ makeVaultResult("loop-1", 3, 5, "refactor auth module", "Cleaned up auth module"),
434
+ ],
435
+ global_entries: [],
436
+ };
437
+ const rs = buildRollingSummary("loop-1", 4, vault);
438
+ assert.ok(rs !== null);
439
+ 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]"));
443
+ }
444
+ });
445
+ it("detects 2 consecutive low-quality rounds with same technique and similar task", () => {
446
+ const vault = {
447
+ results: [
448
+ makeVaultResult("loop-1", 1, 2, "fix cache bug", "Tried cache fix A", "zero-shot"),
449
+ makeVaultResult("loop-1", 2, 2, "fix cache problem", "Tried cache fix B", "zero-shot"),
450
+ makeVaultResult("loop-1", 3, 5, "found auth root cause", "Auth middleware was the issue", "step-back"),
451
+ ],
452
+ global_entries: [],
453
+ };
454
+ const rs = buildRollingSummary("loop-1", 4, vault);
455
+ assert.ok(rs !== null);
456
+ assert.ok((rs.failed_patterns?.length ?? 0) >= 1);
457
+ const fp = rs.failed_patterns[0];
458
+ assert.ok(fp.includes("zero-shot"));
459
+ assert.ok(fp.includes("cache"));
460
+ assert.ok(fp.includes("2 consecutive rounds"));
461
+ });
462
+ it("detects 3 consecutive low-quality rounds", () => {
463
+ const vault = {
464
+ results: [
465
+ makeVaultResult("loop-1", 1, 2, "fix memory leak", "Attempt 1", "few-shot"),
466
+ makeVaultResult("loop-1", 2, 1, "fix memory leak in parser", "Attempt 2", "few-shot"),
467
+ makeVaultResult("loop-1", 3, 2, "fix memory leak - retry", "Attempt 3", "few-shot"),
468
+ ],
469
+ global_entries: [],
470
+ };
471
+ const rs = buildRollingSummary("loop-1", 4, vault);
472
+ assert.ok(rs !== null);
473
+ assert.ok((rs.failed_patterns?.length ?? 0) >= 1);
474
+ assert.ok(rs.failed_patterns[0].includes("3 consecutive rounds"));
475
+ });
476
+ it("no pattern when low-quality rounds use different techniques", () => {
477
+ const vault = {
478
+ results: [
479
+ makeVaultResult("loop-1", 1, 2, "fix cache bug", "Attempt", "zero-shot"),
480
+ makeVaultResult("loop-1", 2, 2, "fix cache bug", "Attempt", "tree-of-thought"),
481
+ ],
482
+ global_entries: [],
483
+ };
484
+ const rs = buildRollingSummary("loop-1", 3, vault);
485
+ assert.ok(rs !== null);
486
+ assert.equal(rs.failed_patterns?.length ?? 0, 0);
487
+ });
488
+ it("no pattern when low-quality tasks are completely different (Jaccard < 0.4)", () => {
489
+ const vault = {
490
+ results: [
491
+ makeVaultResult("loop-1", 1, 2, "fix cache bug in Redis layer", "Attempt", "zero-shot"),
492
+ makeVaultResult("loop-1", 2, 2, "rewrite authentication module entirely", "Attempt", "zero-shot"),
493
+ ],
494
+ global_entries: [],
495
+ };
496
+ const rs = buildRollingSummary("loop-1", 3, vault);
497
+ assert.ok(rs !== null);
498
+ assert.equal(rs.failed_patterns?.length ?? 0, 0);
499
+ });
500
+ it("key_lessons from failure-pattern rounds are demoted to end with [Consider alternatives]", () => {
501
+ const vault = {
502
+ results: [
503
+ makeVaultResult("loop-1", 1, 2, "fix cache bug", "Tried cache approach", "zero-shot"),
504
+ makeVaultResult("loop-1", 2, 2, "fix cache problem", "Tried another cache fix", "zero-shot"),
505
+ makeVaultResult("loop-1", 3, 5, "found real issue in auth", "Auth was the real problem — fixed", "step-back", ["Auth bug resolved"]),
506
+ ],
507
+ global_entries: [],
508
+ };
509
+ const rs = buildRollingSummary("loop-1", 4, vault);
510
+ 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]"));
517
+ }
518
+ }
519
+ });
520
+ it("recurring_issues from failure-only rounds marked as [Possible dead end]", () => {
521
+ const vault = {
522
+ results: [
523
+ makeVaultResult("loop-1", 1, 2, "fix cache bug", "Attempt 1", "zero-shot", ["missed edge case"]),
524
+ makeVaultResult("loop-1", 2, 2, "fix cache problem", "Attempt 2", "zero-shot", ["missed edge case"]),
525
+ makeVaultResult("loop-1", 3, 5, "found auth root cause", "Fixed auth", "step-back", ["auth constraint missed"]),
526
+ makeVaultResult("loop-1", 4, 4, "add auth tests", "Added tests", "least-to-most", ["auth constraint missed"]),
527
+ ],
528
+ global_entries: [],
529
+ };
530
+ const rs = buildRollingSummary("loop-1", 5, vault);
531
+ assert.ok(rs !== null);
532
+ // "missed edge case" only appears in failed rounds (1,2) → should be marked
533
+ const edgeCaseIssue = rs.recurring_issues.find((ri) => ri.includes("missed edge case"));
534
+ assert.ok(edgeCaseIssue !== undefined);
535
+ assert.ok(edgeCaseIssue.includes("[Possible dead end"));
536
+ // "auth constraint missed" appears in both failed (3) and successful (4) → NOT marked
537
+ const authIssue = rs.recurring_issues.find((ri) => ri.includes("auth constraint missed"));
538
+ assert.ok(authIssue !== undefined);
539
+ assert.ok(!authIssue.includes("[Possible dead end"));
540
+ });
541
+ it("empty vault returns null", () => {
542
+ const rs = buildRollingSummary("loop-1", 1, { results: [], global_entries: [] });
543
+ assert.equal(rs, null);
544
+ });
545
+ it("single round returns no failure patterns", () => {
546
+ const vault = {
547
+ results: [
548
+ makeVaultResult("loop-1", 1, 2, "fix cache bug", "Attempt", "zero-shot"),
549
+ ],
550
+ global_entries: [],
551
+ };
552
+ const rs = buildRollingSummary("loop-1", 2, vault);
553
+ assert.ok(rs !== null);
554
+ assert.equal(rs.failed_patterns?.length ?? 0, 0);
555
+ });
556
+ });
557
+ describe("Failure Lineage Weighting — formatRollingSummaryForPrompt", () => {
558
+ it("renders failure patterns section when present", () => {
559
+ const rs = makeRollingSummary({
560
+ quality_trajectory: [2, 2, 5],
561
+ trajectory_direction: "improving",
562
+ what_worked: ["R3 (score=5): Fixed auth"],
563
+ recurring_issues: [],
564
+ key_lessons: ["[R3] Fixed auth bug"],
565
+ rounds_sampled: 3,
566
+ generated_at_round: 4,
567
+ failed_patterns: [
568
+ "technique 'zero-shot' on task 'fix cache bug' failed 2 consecutive rounds (R1-R2, avg score 2.0) — consider strategy change",
569
+ ],
570
+ });
571
+ const text = formatRollingSummaryForPrompt(rs);
572
+ assert.ok(text.includes("### ⚠️ Failure Patterns"));
573
+ assert.ok(text.includes("Consider Strategy Change"));
574
+ assert.ok(text.includes("fix cache bug"));
575
+ assert.ok(text.includes("🚫"));
576
+ });
577
+ it("no failure patterns section when empty", () => {
578
+ const rs = makeRollingSummary({
579
+ quality_trajectory: [5, 4],
580
+ trajectory_direction: "stable",
581
+ what_worked: [],
582
+ recurring_issues: [],
583
+ key_lessons: [],
584
+ rounds_sampled: 2,
585
+ generated_at_round: 3,
586
+ failed_patterns: [],
587
+ });
588
+ const text = formatRollingSummaryForPrompt(rs);
589
+ assert.ok(!text.includes("Failure Patterns"));
590
+ });
591
+ it("returns empty string for null or empty summary", () => {
592
+ assert.equal(formatRollingSummaryForPrompt(null), "");
593
+ const empty = makeRollingSummary({ rounds_sampled: 0 });
594
+ assert.equal(formatRollingSummaryForPrompt(empty), "");
595
+ });
596
+ });
597
+ // ═══════════════════════════════════════════════════════════════════════════
598
+ // Delegation Helpers (v1.9 — AgentTool mode)
599
+ // ═══════════════════════════════════════════════════════════════════════════
600
+ describe("Delegation Helpers — filterConstraintsForSubTask", () => {
601
+ const constraints = [
602
+ "all APIs must have rate limiting",
603
+ "use TypeScript strict mode",
604
+ "all files must have license header",
605
+ "every function needs unit tests",
606
+ "禁止使用 any 类型",
607
+ ];
608
+ it("returns empty array for empty constraints", () => {
609
+ assert.deepEqual(filterConstraintsForSubTask([], "search for deprecated API"), []);
610
+ });
611
+ it("returns empty array for empty subTask", () => {
612
+ assert.deepEqual(filterConstraintsForSubTask(constraints, ""), []);
613
+ assert.deepEqual(filterConstraintsForSubTask(constraints, " "), []);
614
+ });
615
+ it("returns only relevant constraints by Jaccard similarity", () => {
616
+ // "search for deprecated API usage in src/" should NOT match
617
+ // rate limiting, strict mode, license headers, or unit tests
618
+ const result = filterConstraintsForSubTask(constraints, "search for deprecated API usage in src/");
619
+ assert.equal(result.length, 0);
620
+ });
621
+ it("returns relevant constraint when task overlaps", () => {
622
+ // "add rate limiting to all API endpoints" should match
623
+ // "all APIs must have rate limiting"
624
+ const result = filterConstraintsForSubTask(constraints, "add rate limiting to all API endpoints");
625
+ assert.ok(result.length >= 1);
626
+ assert.ok(result.some((c) => c.includes("rate limiting")));
627
+ });
628
+ it("returns at least one constraint when task has TypeScript+testing overlap", () => {
629
+ // "add TypeScript unit tests for all API functions" overlaps with
630
+ // "every function needs unit tests" (Jaccard ~0.2);
631
+ // "use TypeScript strict mode" overlap is too low (Jaccard ~0.1)
632
+ const result = filterConstraintsForSubTask(constraints, "add TypeScript unit tests for all API functions");
633
+ assert.ok(result.length >= 1);
634
+ assert.ok(result.some((c) => c.includes("unit tests")));
635
+ });
636
+ it("custom threshold filters more aggressively", () => {
637
+ // With threshold 0.5, should return very few constraints
638
+ const lenient = filterConstraintsForSubTask(constraints, "add rate limiting to all API endpoints", 0.15);
639
+ const strict = filterConstraintsForSubTask(constraints, "add rate limiting to all API endpoints", 0.5);
640
+ assert.ok(strict.length <= lenient.length);
641
+ });
642
+ it("supports CJK subTask with CJK constraints", () => {
643
+ const cjkConstraints = [
644
+ "所有API必须有速率限制",
645
+ "使用TypeScript严格模式",
646
+ ];
647
+ // "搜索废弃的API" doesn't overlap with rate limiting or strict mode
648
+ const result = filterConstraintsForSubTask(cjkConstraints, "搜索废弃的API使用情况");
649
+ assert.equal(result.length, 0);
650
+ });
651
+ it("matches CJK constraint with overlapping CJK subTask", () => {
652
+ const cjkConstraints = [
653
+ "所有API必须有速率限制",
654
+ "所有文件必须有许可证头",
655
+ ];
656
+ const result = filterConstraintsForSubTask(cjkConstraints, "为API添加速率限制");
657
+ assert.ok(result.length >= 1);
658
+ assert.ok(result.some((c) => c.includes("速率限制")));
659
+ });
660
+ });
661
+ describe("Delegation Helpers — formatDelegationPrompt", () => {
662
+ const subTask = "search for deprecated API usage in src/";
663
+ const constraints = ["all APIs must have rate limiting"];
664
+ it("generates self-contained explore prompt", () => {
665
+ const prompt = formatDelegationPrompt(subTask, "explore", []);
666
+ assert.ok(prompt.includes("### Delegated Task"));
667
+ assert.ok(prompt.includes(subTask));
668
+ assert.ok(prompt.includes("### Output Format"));
669
+ // Explore should NOT get constraints
670
+ assert.ok(!prompt.includes("### Relevant Constraints"));
671
+ // Must be self-contained
672
+ assert.ok(!prompt.match(/based on (above|previous|your findings)/i));
673
+ assert.ok(!prompt.includes("continue from"));
674
+ });
675
+ it("generates general-purpose prompt with constraints", () => {
676
+ const prompt = formatDelegationPrompt("fix the null pointer in src/auth/validate.ts:42", "general-purpose", constraints);
677
+ assert.ok(prompt.includes("### Delegated Task"));
678
+ assert.ok(prompt.includes("### Relevant Constraints"));
679
+ assert.ok(prompt.includes("rate limiting"));
680
+ assert.ok(prompt.includes("don't leave it half-done"));
681
+ // Must be self-contained
682
+ assert.ok(!prompt.match(/based on (above|previous|your findings)/i));
683
+ });
684
+ it("generates plan prompt with instructions", () => {
685
+ const prompt = formatDelegationPrompt("design authentication middleware", "plan", constraints, { context: "Current auth is JWT-based in src/auth/" });
686
+ assert.ok(prompt.includes("### Delegated Task"));
687
+ assert.ok(prompt.includes("### Context"));
688
+ assert.ok(prompt.includes("JWT-based"));
689
+ assert.ok(prompt.includes("### Relevant Constraints"));
690
+ assert.ok(prompt.includes("Critical files for implementation"));
691
+ assert.ok(prompt.includes("3-5 files"));
692
+ });
693
+ it("skips constraints section when empty", () => {
694
+ const prompt = formatDelegationPrompt(subTask, "general-purpose", []);
695
+ assert.ok(!prompt.includes("### Relevant Constraints"));
696
+ });
697
+ it("custom sub-agent type gets generic template", () => {
698
+ const prompt = formatDelegationPrompt(subTask, "custom-auditor", constraints);
699
+ assert.ok(prompt.includes("### Delegated Task"));
700
+ assert.ok(prompt.includes("### Relevant Constraints"));
701
+ assert.ok(prompt.includes("Complete the task above"));
702
+ });
703
+ it("output is self-contained — no parent-context references", () => {
704
+ const types = ["explore", "general-purpose", "plan", "custom"];
705
+ for (const t of types) {
706
+ const prompt = formatDelegationPrompt("do something", t, constraints);
707
+ // No references to parent conversation
708
+ assert.ok(!prompt.match(/based on (above|previous|your findings)/i), `${t}: should not reference parent context`);
709
+ assert.ok(!prompt.includes("continue from"), `${t}: should not say "continue from"`);
710
+ assert.ok(!prompt.includes("as discussed"), `${t}: should not say "as discussed"`);
711
+ assert.ok(!prompt.includes("see above"), `${t}: should not say "see above"`);
712
+ }
713
+ });
714
+ });
715
+ describe("Delegation — buildDelegationSummary", () => {
716
+ it("returns empty string for null vault context", () => {
717
+ assert.equal(buildDelegationSummary(null), "");
718
+ });
719
+ it("returns empty string when no delegation journal entries", () => {
720
+ const vault = { results: [{ task_type: "loop_lineage", loop_id: "test" }] };
721
+ assert.equal(buildDelegationSummary(vault), "");
722
+ });
723
+ it("returns empty string when results array is empty", () => {
724
+ const vault = { results: [] };
725
+ assert.equal(buildDelegationSummary(vault), "");
726
+ });
727
+ it("builds delegation table from journal entries", () => {
728
+ const vault = {
729
+ results: [
730
+ {
731
+ task_type: "delegation_journal",
732
+ loop_lineage: {
733
+ round: 2,
734
+ delegations: [
735
+ { index: 1, agentId: "abc-123", subAgentType: "explore", subTask: "search deprecated APIs", resultSummary: "found 12 instances", success: true, discoveredConstraints: [] },
736
+ { index: 2, agentId: "def-456", subAgentType: "general-purpose", subTask: "fix auth bug", resultSummary: "fixed null pointer", success: true, discoveredConstraints: [] },
737
+ ],
738
+ },
739
+ },
740
+ ],
741
+ };
742
+ const text = buildDelegationSummary(vault);
743
+ assert.ok(text.includes("### Delegation History"));
744
+ assert.ok(text.includes("R2"));
745
+ assert.ok(text.includes("search deprecated APIs"));
746
+ assert.ok(text.includes("fix auth bug"));
747
+ assert.ok(text.includes("✓"));
748
+ // Agent column should display agentId
749
+ assert.ok(text.includes("abc-123"));
750
+ assert.ok(text.includes("def-456"));
751
+ // Table header should include Agent column
752
+ assert.ok(text.includes("| Round | Agent | Type | Task | Result | ✓/✗ |"));
753
+ });
754
+ it("shows ✗ for failed delegations", () => {
755
+ const vault = {
756
+ results: [
757
+ {
758
+ task_type: "delegation_journal",
759
+ loop_lineage: {
760
+ round: 3,
761
+ delegations: [
762
+ { index: 1, agentId: "worker-xyz", subAgentType: "general-purpose", subTask: "fix complex bug", resultSummary: "failed — wrong approach", success: false, discoveredConstraints: [] },
763
+ ],
764
+ },
765
+ },
766
+ ],
767
+ };
768
+ const text = buildDelegationSummary(vault);
769
+ assert.ok(text.includes("✗"));
770
+ assert.ok(text.includes("fix complex bug"));
771
+ assert.ok(text.includes("wrong approach"));
772
+ });
773
+ it("handles multiple rounds of delegation", () => {
774
+ const vault = {
775
+ results: [
776
+ {
777
+ task_type: "delegation_journal",
778
+ loop_lineage: { round: 1, delegations: [{ index: 1, agentId: "agent-a", subAgentType: "explore", subTask: "research X", resultSummary: "done", success: true, discoveredConstraints: [] }] },
779
+ },
780
+ {
781
+ task_type: "delegation_journal",
782
+ loop_lineage: { round: 2, delegations: [{ index: 1, agentId: "agent-b", subAgentType: "general-purpose", subTask: "fix Y", resultSummary: "done", success: true, discoveredConstraints: [] }] },
783
+ },
784
+ ],
785
+ };
786
+ const text = buildDelegationSummary(vault);
787
+ assert.ok(text.includes("R1"));
788
+ assert.ok(text.includes("R2"));
789
+ });
790
+ it("falls back to worker-N when agentId is missing (backward compat)", () => {
791
+ const vault = {
792
+ results: [
793
+ {
794
+ task_type: "delegation_journal",
795
+ loop_lineage: {
796
+ round: 1,
797
+ delegations: [
798
+ { index: 3, subAgentType: "explore", subTask: "scan codebase", resultSummary: "done", success: true },
799
+ ],
800
+ },
801
+ },
802
+ ],
803
+ };
804
+ const text = buildDelegationSummary(vault);
805
+ assert.ok(text.includes("worker-3"), "should fall back to worker-3");
806
+ });
807
+ it("escapes pipe characters in markdown table cells", () => {
808
+ const vault = {
809
+ results: [
810
+ {
811
+ task_type: "delegation_journal",
812
+ loop_lineage: {
813
+ round: 1,
814
+ delegations: [
815
+ { index: 1, agentId: "agent-1", subAgentType: "explore", subTask: "audit A|B testing in src/", resultSummary: "found issues in x|y module", success: true, discoveredConstraints: [] },
816
+ ],
817
+ },
818
+ },
819
+ ],
820
+ };
821
+ const text = buildDelegationSummary(vault);
822
+ // Should contain escaped pipes, not raw pipes that would break the table
823
+ assert.ok(text.includes("A\\|B"), "pipe in task should be escaped");
824
+ assert.ok(text.includes("x\\|y"), "pipe in result should be escaped");
825
+ // Verify the table row still has the correct number of pipe chars:
826
+ // 7 structural (leading + 5 separators + trailing) + 2 escaped inside cells = 9 total
827
+ const tableRow = text.split("\n").find((l) => l.startsWith("| R1"));
828
+ assert.ok(tableRow, "should have a table row for R1");
829
+ const pipeCount = (tableRow.match(/\|/g) ?? []).length;
830
+ assert.equal(pipeCount, 9, "table row should have 9 pipe chars (7 structural + 2 escaped)");
831
+ });
832
+ });
408
833
  //# sourceMappingURL=loop-compiler.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-compiler.test.js","sourceRoot":"","sources":["../../src/tests/loop-compiler.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-compiler.test.js","sourceRoot":"","sources":["../../src/tests/loop-compiler.test.ts"],"names":[],"mappings":"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"}