loopforge 1.3.1 → 1.7.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 (73) hide show
  1. package/dist/backends/fs.d.ts +5 -0
  2. package/dist/backends/fs.d.ts.map +1 -1
  3. package/dist/backends/fs.js +66 -16
  4. package/dist/backends/fs.js.map +1 -1
  5. package/dist/builder.d.ts +0 -1
  6. package/dist/builder.d.ts.map +1 -1
  7. package/dist/builder.js +14 -25
  8. package/dist/builder.js.map +1 -1
  9. package/dist/engine.d.ts +14 -5
  10. package/dist/engine.d.ts.map +1 -1
  11. package/dist/engine.js +202 -105
  12. package/dist/engine.js.map +1 -1
  13. package/dist/index.d.ts +4 -8
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +4 -9
  16. package/dist/index.js.map +1 -1
  17. package/dist/loop-compiler.d.ts +5 -2
  18. package/dist/loop-compiler.d.ts.map +1 -1
  19. package/dist/loop-compiler.js +533 -19
  20. package/dist/loop-compiler.js.map +1 -1
  21. package/dist/mcp/session.d.ts +11 -3
  22. package/dist/mcp/session.d.ts.map +1 -1
  23. package/dist/mcp/session.js +106 -31
  24. package/dist/mcp/session.js.map +1 -1
  25. package/dist/mcp/tools.d.ts +133 -0
  26. package/dist/mcp/tools.d.ts.map +1 -1
  27. package/dist/mcp/tools.js +116 -6
  28. package/dist/mcp/tools.js.map +1 -1
  29. package/dist/observability.d.ts +23 -0
  30. package/dist/observability.d.ts.map +1 -0
  31. package/dist/observability.js +29 -0
  32. package/dist/observability.js.map +1 -0
  33. package/dist/policy.d.ts +15 -0
  34. package/dist/policy.d.ts.map +1 -1
  35. package/dist/policy.js +8 -0
  36. package/dist/policy.js.map +1 -1
  37. package/dist/protocol.d.ts +114 -5
  38. package/dist/protocol.d.ts.map +1 -1
  39. package/dist/protocol.js +44 -3
  40. package/dist/protocol.js.map +1 -1
  41. package/dist/runtime.d.ts +2 -0
  42. package/dist/runtime.d.ts.map +1 -1
  43. package/dist/runtime.js +51 -3
  44. package/dist/runtime.js.map +1 -1
  45. package/dist/tests/builder.test.js +1 -25
  46. package/dist/tests/builder.test.js.map +1 -1
  47. package/dist/tests/engine.test.js +213 -38
  48. package/dist/tests/engine.test.js.map +1 -1
  49. package/dist/tests/generate-schema.test.js +4 -4
  50. package/dist/tests/generate-schema.test.js.map +1 -1
  51. package/dist/tests/loop-compiler.test.js +191 -2
  52. package/dist/tests/loop-compiler.test.js.map +1 -1
  53. package/dist/tests/mcp.test.js +87 -0
  54. package/dist/tests/mcp.test.js.map +1 -1
  55. package/dist/tests/protocol.test.js +2 -4
  56. package/dist/tests/protocol.test.js.map +1 -1
  57. package/dist/tests/verification-gate.test.d.ts +2 -0
  58. package/dist/tests/verification-gate.test.d.ts.map +1 -0
  59. package/dist/tests/verification-gate.test.js +407 -0
  60. package/dist/tests/verification-gate.test.js.map +1 -0
  61. package/dist/verification-gate.d.ts +26 -0
  62. package/dist/verification-gate.d.ts.map +1 -0
  63. package/dist/verification-gate.js +232 -0
  64. package/dist/verification-gate.js.map +1 -0
  65. package/loop_policy.json +8 -0
  66. package/package.json +1 -2
  67. package/skills/perception/SKILL.md +95 -54
  68. package/dist/cli.d.ts +0 -7
  69. package/dist/cli.d.ts.map +0 -1
  70. package/dist/cli.js +0 -458
  71. package/dist/cli.js.map +0 -1
  72. package/dist/tests/adapter.test.js +0 -104
  73. package/dist/tests/adapter.test.js.map +0 -1
package/dist/engine.js CHANGED
@@ -1,22 +1,22 @@
1
1
  /** LoopForge-loop_compile — Engine (outer loop manager).
2
2
  *
3
- * v1.0: 3-mode engine with vault-backed loop lineage persistence.
4
- * invokeLoopCompile (primary), invokeBuild (internal), invokeFeedback.
3
+ * 2-mode engine with vault-backed loop lineage persistence.
4
+ * invokeLoopCompile (primary), invokeFeedback.
5
5
  * Circuit breaker prevents infinite stall loops.
6
6
  * EngineMetrics tracks silent-failure counters for observability.
7
7
  */
8
8
  import { randomUUID } from "node:crypto";
9
9
  import { getPolicy } from "./policy.js";
10
10
  import { FSBackend, readLineageMd } from "./backends/fs.js";
11
- import { AgentStatus, Mode, makeAnalysis, makeExecutionFeedback, makeLoopCompileRequest, makeLoopObjective, makeLoopRoundResult, makeSelfEvaluation, makeSessionState, makeTaskId, makeVaultConfig, SELF_EVAL_REGEX, } from "./protocol.js";
12
- import { routeTechnique } from "./builder.js";
11
+ import { AgentStatus, Mode, makeAnalysis, makeExecutionEvidence, makeExecutionFeedback, makeLoopCompileRequest, makeLoopObjective, makeLoopRoundResult, makeSelfEvaluation, makeSessionState, makeTaskId, makeVaultConfig, SELF_EVAL_REGEX, } from "./protocol.js";
13
12
  import { scoreQuality } from "./builder.js";
14
13
  import { compileLoop } from "./loop-compiler.js";
14
+ import { logEvent } from "./observability.js";
15
15
  // ═══════════════════════════════════════════════════════════════════════════
16
16
  // Self-Evaluation extraction (v1.1 — autonomous loop feedback)
17
17
  // ═══════════════════════════════════════════════════════════════════════════
18
18
  /** Extract a structured SelfEvaluation from agent output text.
19
- * Returns null if no valid self-evaluation block is found.
19
+ * Returns null if no valid self-eval block is found.
20
20
  * The agent is instructed to output JSON between the delimiters. */
21
21
  export function extractSelfEvaluation(text) {
22
22
  const match = text.match(SELF_EVAL_REGEX);
@@ -33,17 +33,86 @@ export function extractSelfEvaluation(text) {
33
33
  return null;
34
34
  if (typeof raw.should_continue !== "boolean")
35
35
  return null;
36
- return makeSelfEvaluation({
37
- success: raw.success,
38
- output_summary: raw.output_summary,
39
- constraint_violations: raw.constraint_violations,
40
- should_continue: raw.should_continue,
41
- });
36
+ return buildSelfEvaluation(raw);
42
37
  }
43
38
  catch {
44
39
  return null;
45
40
  }
46
41
  }
42
+ /** Build a SelfEvaluation from a parsed JSON object.
43
+ * Lenient parsing: missing optional fields get sensible defaults.
44
+ * Used by extractSelfEvaluation() (regex path) and MCP tool handler
45
+ * (structured evaluation parameter path). */
46
+ export function buildSelfEvaluation(raw) {
47
+ // P4: Parse execution evidence from raw JSON
48
+ let executionEvidence;
49
+ const rawEvidence = raw.execution_evidence;
50
+ if (rawEvidence && typeof rawEvidence === "object") {
51
+ const testResults = rawEvidence.test_results;
52
+ executionEvidence = makeExecutionEvidence({
53
+ files_changed: Array.isArray(rawEvidence.files_changed)
54
+ ? rawEvidence.files_changed.filter((v) => typeof v === "string")
55
+ : [],
56
+ test_results: testResults && typeof testResults.passed === "number"
57
+ ? {
58
+ passed: testResults.passed,
59
+ failed: testResults.failed ?? 0,
60
+ skipped: testResults.skipped ?? 0,
61
+ }
62
+ : null,
63
+ success_criteria_met: Array.isArray(rawEvidence.success_criteria_met)
64
+ ? rawEvidence.success_criteria_met.filter((v) => typeof v === "string")
65
+ : [],
66
+ success_criteria_remaining: Array.isArray(rawEvidence.success_criteria_remaining)
67
+ ? rawEvidence.success_criteria_remaining.filter((v) => typeof v === "string")
68
+ : [],
69
+ progress_estimate: typeof rawEvidence.progress_estimate === "number"
70
+ ? Math.max(0, Math.min(1, rawEvidence.progress_estimate))
71
+ : 0.0,
72
+ });
73
+ }
74
+ // P5: Parse corrections
75
+ const retractedConstraints = Array.isArray(raw.retracted_constraints)
76
+ ? raw.retracted_constraints.filter((v) => typeof v === "string")
77
+ : [];
78
+ const revisedCriteria = Array.isArray(raw.revised_success_criteria)
79
+ ? raw.revised_success_criteria
80
+ .filter((v) => typeof v === "object" && v !== null &&
81
+ typeof v.old === "string" &&
82
+ typeof v.new === "string")
83
+ .map((v) => {
84
+ const r = v;
85
+ return { old: r.old, new: r.new };
86
+ })
87
+ : [];
88
+ const wrongAssumptions = Array.isArray(raw.wrong_assumptions)
89
+ ? raw.wrong_assumptions.filter((v) => typeof v === "string")
90
+ : [];
91
+ return makeSelfEvaluation({
92
+ success: typeof raw.success === "boolean" ? raw.success : false,
93
+ output_summary: typeof raw.output_summary === "string" ? raw.output_summary : "",
94
+ constraint_violations: Array.isArray(raw.constraint_violations)
95
+ ? raw.constraint_violations.filter((v) => typeof v === "string")
96
+ : [],
97
+ should_continue: typeof raw.should_continue === "boolean" ? raw.should_continue : true,
98
+ // P0–P2: Optional evolution fields
99
+ discovered_constraints: Array.isArray(raw.discovered_constraints)
100
+ ? raw.discovered_constraints.filter((v) => typeof v === "string")
101
+ : [],
102
+ objective_refinement: typeof raw.objective_refinement === "string"
103
+ ? raw.objective_refinement
104
+ : "",
105
+ emerged_subtasks: Array.isArray(raw.emerged_subtasks)
106
+ ? raw.emerged_subtasks.filter((v) => typeof v === "string")
107
+ : [],
108
+ // P4: Execution evidence
109
+ execution_evidence: executionEvidence,
110
+ // P5: Self-correction
111
+ retracted_constraints: retractedConstraints,
112
+ revised_success_criteria: revisedCriteria,
113
+ wrong_assumptions: wrongAssumptions,
114
+ });
115
+ }
47
116
  /** Fallback heuristic when structured self-eval extraction fails.
48
117
  * Scans agent output for completion and error signals.
49
118
  * Returns a low-confidence SelfEvaluation — the autonomous runner
@@ -99,6 +168,17 @@ export class LoopForgeEngine {
99
168
  }
100
169
  return this.backend;
101
170
  }
171
+ /** Public accessor for the vault backend — used by runtime/verification gate. */
172
+ getBackend() {
173
+ return this.resolveBackend();
174
+ }
175
+ /** Expose engine health counters for observability (MCP status, logging). */
176
+ getMetrics() {
177
+ if (this.metrics === null) {
178
+ this.metrics = makeEngineMetrics();
179
+ }
180
+ return this.metrics;
181
+ }
102
182
  ensureInit(request) {
103
183
  if (this.state === null) {
104
184
  this.state = makeSessionState(request.task_id || makeTaskId(request.task));
@@ -148,7 +228,7 @@ export class LoopForgeEngine {
148
228
  : "partial",
149
229
  quality_score: signal.quality_score ?? 0,
150
230
  constraint_compliance: {
151
- all_hard_constraints_met: !signal.violations,
231
+ all_hard_constraints_met: !Array.isArray(signal.violations) || signal.violations.length === 0,
152
232
  violations: signal.violations ?? [],
153
233
  },
154
234
  output_summary: signal.task_type ?? "",
@@ -165,6 +245,7 @@ export class LoopForgeEngine {
165
245
  catch {
166
246
  if (this.metrics)
167
247
  this.metrics.vaultWriteErrors++;
248
+ logEvent("vault_write_error", { error: "feedback_entry_build" });
168
249
  }
169
250
  }
170
251
  if (entries.length > 0) {
@@ -174,6 +255,7 @@ export class LoopForgeEngine {
174
255
  catch {
175
256
  if (this.metrics)
176
257
  this.metrics.vaultWriteErrors += entries.length;
258
+ logEvent("vault_write_error", { error: "feedback_append_entries", count: entries.length });
177
259
  return 0;
178
260
  }
179
261
  }
@@ -234,6 +316,7 @@ export class LoopForgeEngine {
234
316
  catch {
235
317
  if (this.metrics)
236
318
  this.metrics.vaultWriteErrors++;
319
+ logEvent("vault_write_error", { error: "persist_lineage_json" });
237
320
  }
238
321
  // 2. Markdown write (secondary, non-blocking)
239
322
  try {
@@ -254,6 +337,7 @@ export class LoopForgeEngine {
254
337
  catch {
255
338
  if (this.metrics)
256
339
  this.metrics.vaultWriteErrors++;
340
+ logEvent("vault_write_error", { error: "persist_lineage_md" });
257
341
  }
258
342
  return vaultOk;
259
343
  }
@@ -309,6 +393,10 @@ export class LoopForgeEngine {
309
393
  entry.constraint_violations =
310
394
  lineage.constraint_violations ?? [];
311
395
  }
396
+ // v1.7: Ensure quality_score is always populated for failure lineage weighting
397
+ if (entry.quality_score === undefined || entry.quality_score === null) {
398
+ entry.quality_score = lineage.quality_score ?? 0;
399
+ }
312
400
  }
313
401
  // Enrich: attach full prompt text from Markdown for L0 cache reuse
314
402
  for (const entry of finalResults) {
@@ -328,37 +416,6 @@ export class LoopForgeEngine {
328
416
  return { results: finalResults, global_entries: [] };
329
417
  }
330
418
  // ═══════════════════════════════════════════════════════════════════════
331
- // Build (internal)
332
- // ═══════════════════════════════════════════════════════════════════════
333
- invokeBuild(request, _hydrateResults) {
334
- this.ensureInit(request);
335
- this.lastTask = request.task;
336
- const analysis = routeTechnique(request.task);
337
- const technique = analysis.technique;
338
- const rationale = analysis.rationale;
339
- const promptSections = [
340
- "## LoopForge Build",
341
- `**Technique**: ${technique}`,
342
- `**Rationale**: ${rationale}`,
343
- "",
344
- "### Task",
345
- request.task,
346
- "",
347
- "### Instructions",
348
- `Apply the **${technique}** technique to complete the task above.`,
349
- "Respect all hard constraints and provide verifiable output.",
350
- ];
351
- return {
352
- status: AgentStatus.OK,
353
- response: {
354
- status: AgentStatus.OK,
355
- prompt: promptSections.join("\n"),
356
- analysis,
357
- error: null,
358
- },
359
- };
360
- }
361
- // ═══════════════════════════════════════════════════════════════════════
362
419
  // Feedback (public)
363
420
  // ═══════════════════════════════════════════════════════════════════════
364
421
  invokeFeedback(request, _hydrateResults) {
@@ -420,6 +477,12 @@ export class LoopForgeEngine {
420
477
  else {
421
478
  this.state.circuit_breaker_count = 0;
422
479
  }
480
+ logEvent("round_complete", {
481
+ technique: "feedback",
482
+ quality,
483
+ loopId: loopId ?? "unknown",
484
+ round: loopRound ?? this.state.call_count,
485
+ });
423
486
  return {
424
487
  status: AgentStatus.OK,
425
488
  response: {
@@ -440,6 +503,8 @@ export class LoopForgeEngine {
440
503
  // ═══════════════════════════════════════════════════════════════════════
441
504
  /** Record self-evaluation from agent output without human intervention.
442
505
  * Converts SelfEvaluation → ExecutionFeedback → vault persistence.
506
+ * P0–P2: Also persists discovered_constraints, objective_refinement,
507
+ * and emerged_subtasks for the compiler to consume next round.
443
508
  * Call this BEFORE invokeLoopCompile for the next round so that
444
509
  * hydrateLoopContext picks up the latest quality scores. */
445
510
  autoFeedback(selfEval, loopId, round, task) {
@@ -465,6 +530,16 @@ export class LoopForgeEngine {
465
530
  manual_fixes: "",
466
531
  loop_id: loopId,
467
532
  round,
533
+ // P0–P2: Evolution fields
534
+ discovered_constraints: selfEval.discovered_constraints ?? [],
535
+ objective_refinement: selfEval.objective_refinement ?? "",
536
+ emerged_subtasks: selfEval.emerged_subtasks ?? [],
537
+ // P4: Execution evidence
538
+ execution_evidence: selfEval.execution_evidence ?? null,
539
+ // P5: Self-correction
540
+ retracted_constraints: selfEval.retracted_constraints ?? [],
541
+ revised_success_criteria: selfEval.revised_success_criteria ?? [],
542
+ wrong_assumptions: selfEval.wrong_assumptions ?? [],
468
543
  };
469
544
  this.persistFeedbackToVault(signal);
470
545
  this.flushFeedbackBuffer();
@@ -481,6 +556,12 @@ export class LoopForgeEngine {
481
556
  else {
482
557
  this.state.circuit_breaker_count = 0;
483
558
  }
559
+ logEvent("round_complete", {
560
+ loopId,
561
+ round,
562
+ quality,
563
+ technique: this.state?.last_technique ?? "feedback",
564
+ });
484
565
  return quality;
485
566
  }
486
567
  // ═══════════════════════════════════════════════════════════════════════
@@ -509,6 +590,40 @@ export class LoopForgeEngine {
509
590
  if (lastRR) {
510
591
  if (typeof lastRR === "object" && !Array.isArray(lastRR)) {
511
592
  const rr = lastRR;
593
+ // Parse P4 execution evidence
594
+ let executionEvidence;
595
+ const rawEvidence = rr.execution_evidence;
596
+ if (rawEvidence && typeof rawEvidence === "object") {
597
+ const testResults = rawEvidence.test_results;
598
+ executionEvidence = makeExecutionEvidence({
599
+ files_changed: Array.isArray(rawEvidence.files_changed)
600
+ ? rawEvidence.files_changed.filter((v) => typeof v === "string")
601
+ : [],
602
+ test_results: testResults && typeof testResults.passed === "number"
603
+ ? {
604
+ passed: testResults.passed,
605
+ failed: testResults.failed ?? 0,
606
+ skipped: testResults.skipped ?? 0,
607
+ }
608
+ : null,
609
+ success_criteria_met: Array.isArray(rawEvidence.success_criteria_met)
610
+ ? rawEvidence.success_criteria_met.filter((v) => typeof v === "string")
611
+ : [],
612
+ success_criteria_remaining: Array.isArray(rawEvidence.success_criteria_remaining)
613
+ ? rawEvidence.success_criteria_remaining.filter((v) => typeof v === "string")
614
+ : [],
615
+ progress_estimate: typeof rawEvidence.progress_estimate === "number"
616
+ ? Math.max(0, Math.min(1, rawEvidence.progress_estimate))
617
+ : 0.0,
618
+ });
619
+ }
620
+ // Parse P5 revised_success_criteria
621
+ const revisedCriteria = Array.isArray(rr.revised_success_criteria)
622
+ ? rr.revised_success_criteria
623
+ .filter((v) => typeof v === "object" && v !== null &&
624
+ typeof v.old === "string" && typeof v.new === "string")
625
+ .map((v) => ({ old: v.old, new: v.new }))
626
+ : [];
512
627
  lcr.last_round_result = makeLoopRoundResult({
513
628
  round: rr.round ?? 0,
514
629
  success: rr.success ?? false,
@@ -516,6 +631,26 @@ export class LoopForgeEngine {
516
631
  constraint_violations: rr.constraint_violations ?? [],
517
632
  manual_fixes_needed: rr.manual_fixes_needed ?? "",
518
633
  quality_score: rr.quality_score ?? 0,
634
+ // P0–P2: Cognitive evolution fields
635
+ discovered_constraints: Array.isArray(rr.discovered_constraints)
636
+ ? rr.discovered_constraints.filter((v) => typeof v === "string")
637
+ : [],
638
+ objective_refinement: typeof rr.objective_refinement === "string"
639
+ ? rr.objective_refinement
640
+ : "",
641
+ emerged_subtasks: Array.isArray(rr.emerged_subtasks)
642
+ ? rr.emerged_subtasks.filter((v) => typeof v === "string")
643
+ : [],
644
+ // P4: Execution evidence
645
+ execution_evidence: executionEvidence,
646
+ // P5: Self-correction
647
+ retracted_constraints: Array.isArray(rr.retracted_constraints)
648
+ ? rr.retracted_constraints.filter((v) => typeof v === "string")
649
+ : [],
650
+ revised_success_criteria: revisedCriteria,
651
+ wrong_assumptions: Array.isArray(rr.wrong_assumptions)
652
+ ? rr.wrong_assumptions.filter((v) => typeof v === "string")
653
+ : [],
519
654
  });
520
655
  }
521
656
  }
@@ -568,6 +703,22 @@ export class LoopForgeEngine {
568
703
  promptLines.push(`- ⚠️ ${w}`);
569
704
  }
570
705
  }
706
+ // Verification gate flags (v1.6) — injected after compiler warnings
707
+ const verificationFlags = extras.verification_flags ?? [];
708
+ if (verificationFlags.length) {
709
+ promptLines.push("");
710
+ promptLines.push("### Verification Gate");
711
+ for (const f of verificationFlags) {
712
+ const icon = f.severity === "error" ? "🚫" : "⚠️";
713
+ promptLines.push(`- ${icon} [${f.check}] ${f.detail}`);
714
+ }
715
+ const hasError = verificationFlags.some((f) => f.severity === "error");
716
+ if (hasError) {
717
+ promptLines.push("");
718
+ promptLines.push("**Gate Verdict: CONTRADICTED** — this round's quality score has been excluded " +
719
+ "from the quality trend. Address each 🚫 flag explicitly in your next response.");
720
+ }
721
+ }
571
722
  if (response.loop_health) {
572
723
  const h = response.loop_health;
573
724
  promptLines.push("");
@@ -617,67 +768,6 @@ export class LoopForgeEngine {
617
768
  };
618
769
  }
619
770
  // ═══════════════════════════════════════════════════════════════════════
620
- // Review handler
621
- // ═══════════════════════════════════════════════════════════════════════
622
- handleReview(request, hydrateResults) {
623
- if (!hydrateResults) {
624
- return {
625
- status: AgentStatus.ERROR,
626
- response: {
627
- status: AgentStatus.ERROR,
628
- prompt: null,
629
- analysis: null,
630
- error: "Review mode requires hydrate_results (prompt to review).",
631
- },
632
- };
633
- }
634
- const results = hydrateResults.results ?? [];
635
- if (!results.length) {
636
- return {
637
- status: AgentStatus.ERROR,
638
- response: {
639
- status: AgentStatus.ERROR,
640
- prompt: null,
641
- analysis: null,
642
- error: "No matching prompt found in vault to review.",
643
- },
644
- };
645
- }
646
- const promptData = results[0];
647
- const fullText = promptData.full_prompt ?? "";
648
- const issues = [];
649
- // Structural checks
650
- const requiredSections = [
651
- "角色", "任务", "输入", "输出格式", "硬约束", "生成要求",
652
- ];
653
- for (const section of requiredSections) {
654
- if (!fullText.includes(section)) {
655
- issues.push(`Missing section: ${section}`);
656
- }
657
- }
658
- // Constraint check
659
- const globalEntries = hydrateResults.global_entries ?? [];
660
- for (const entry of globalEntries) {
661
- for (const c of entry.hard_constraints_added ?? []) {
662
- if (!fullText.includes(c)) {
663
- issues.push(`GLOBAL constraint not reflected: ${c}`);
664
- }
665
- }
666
- }
667
- const reviewReport = issues.length
668
- ? issues.map((i) => `- ${i}`).join("\n")
669
- : "All checks passed.";
670
- return {
671
- status: AgentStatus.OK,
672
- response: {
673
- status: AgentStatus.OK,
674
- prompt: `## Review Report\n\n${reviewReport}\n\n---\n\n${fullText}`,
675
- analysis: null,
676
- error: null,
677
- },
678
- };
679
- }
680
- // ═══════════════════════════════════════════════════════════════════════
681
771
  // Circuit breaker
682
772
  // ═══════════════════════════════════════════════════════════════════════
683
773
  shouldBreak() {
@@ -688,7 +778,14 @@ export class LoopForgeEngine {
688
778
  if (this.state.quality_trend.length < maxCB)
689
779
  return false;
690
780
  const recent = this.state.quality_trend.slice(-maxCB);
691
- return recent.every((val, i) => i === 0 || recent[i - 1] >= val);
781
+ const isFlat = recent.every((val, i) => i === 0 || recent[i - 1] >= val);
782
+ if (isFlat) {
783
+ logEvent("circuit_breaker", {
784
+ trend: recent,
785
+ totalRounds: this.state.quality_trend.length,
786
+ });
787
+ }
788
+ return isFlat;
692
789
  }
693
790
  }
694
791
  // ═══════════════════════════════════════════════════════════════════════════
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,10 +3,7 @@
3
3
  * TypeScript reference implementation v1.3.
4
4
  *
5
5
  * Usage:
6
- * import { handle, LoopForgeEngine, ReplayBackend, compileLoop } from "loopforge";
7
- *
8
- * // As a sub-agent adapter
9
- * const result = handle('{"mode":"loop_compile","loop_id":"test","round":1,"task":"Audit ERC20"}');
6
+ * import { LoopForgeEngine, ReplayBackend, compileLoop } from "loopforge";
10
7
  *
11
8
  * // As a library
12
9
  * const engine = createEngine();
@@ -30,15 +27,14 @@ export { getPolicy, loadPolicy, resetPolicy, DEFAULT_POLICY, } from "./policy.js
30
27
  export type { LoopPolicy, ConstraintsPolicy, SummaryPolicy, RecompileTriggersPolicy, TechniquePolicy, EnginePolicy, BackendPolicy, } from "./policy.js";
31
28
  export type { VaultBackend, VaultEntry } from "./backends/interface.js";
32
29
  export { FSBackend } from "./backends/fs.js";
33
- export { routeTechnique, routeTechniqueAdaptive, scoreQuality, extractGlobalConstraints, TECHNIQUE_REFERENCE, } from "./builder.js";
34
- export { compileLoop, decideLevel, compileL2, alignTask, checkLoopHealth, computeAdvisories, computeGoalTextHash, deriveGoalId, getPreviousRound, buildSelfEvalBlock, } from "./loop-compiler.js";
30
+ export { routeTechniqueAdaptive, scoreQuality, TECHNIQUE_REFERENCE, } from "./builder.js";
31
+ export { compileLoop, decideLevel, compileL2, alignTask, checkLoopHealth, computeAdvisories, computeGoalTextHash, deriveGoalId, getPreviousRound, buildSelfEvalBlock, buildRollingSummary, formatRollingSummaryForPrompt, } from "./loop-compiler.js";
35
32
  export { ReplayBackend } from "./replay.js";
36
- export { LoopForgeEngine, createEngine, extractSelfEvaluation, heuristicSelfEvaluation, } from "./engine.js";
33
+ export { LoopForgeEngine, createEngine, extractSelfEvaluation, heuristicSelfEvaluation, buildSelfEvaluation, } from "./engine.js";
37
34
  export type { EngineMetrics } from "./engine.js";
38
35
  export { LoopRuntime, run } from "./runtime.js";
39
36
  export { RuntimeStatus } from "./protocol.js";
40
37
  export type { RoundContext, AgentExecutor, StopReason, RoundStartInfo, RoundCompleteInfo, HeartbeatInfo, TimeoutInfo, HealthWarning, RuntimeConfig, RunResult, } from "./protocol.js";
41
- export { handle, main } from "./adapter.js";
42
38
  export { McpServer } from "./mcp/server.js";
43
39
  export { SessionManager } from "./mcp/session.js";
44
40
  export type { McpSession, McpSessionSummary } from "./mcp/session.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,SAAS,GACV,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,SAAS,GACV,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -3,10 +3,7 @@
3
3
  * TypeScript reference implementation v1.3.
4
4
  *
5
5
  * Usage:
6
- * import { handle, LoopForgeEngine, ReplayBackend, compileLoop } from "loopforge";
7
- *
8
- * // As a sub-agent adapter
9
- * const result = handle('{"mode":"loop_compile","loop_id":"test","round":1,"task":"Audit ERC20"}');
6
+ * import { LoopForgeEngine, ReplayBackend, compileLoop } from "loopforge";
10
7
  *
11
8
  * // As a library
12
9
  * const engine = createEngine();
@@ -30,18 +27,16 @@ export { Mode, AgentStatus, Technique, makeAnalysis, makeVaultConfig, makeExecut
30
27
  export { getPolicy, loadPolicy, resetPolicy, DEFAULT_POLICY, } from "./policy.js";
31
28
  export { FSBackend } from "./backends/fs.js";
32
29
  // Builder
33
- export { routeTechnique, routeTechniqueAdaptive, scoreQuality, extractGlobalConstraints, TECHNIQUE_REFERENCE, } from "./builder.js";
30
+ export { routeTechniqueAdaptive, scoreQuality, TECHNIQUE_REFERENCE, } from "./builder.js";
34
31
  // Loop Compiler
35
- export { compileLoop, decideLevel, compileL2, alignTask, checkLoopHealth, computeAdvisories, computeGoalTextHash, deriveGoalId, getPreviousRound, buildSelfEvalBlock, } from "./loop-compiler.js";
32
+ export { compileLoop, decideLevel, compileL2, alignTask, checkLoopHealth, computeAdvisories, computeGoalTextHash, deriveGoalId, getPreviousRound, buildSelfEvalBlock, buildRollingSummary, formatRollingSummaryForPrompt, } from "./loop-compiler.js";
36
33
  // Replay
37
34
  export { ReplayBackend } from "./replay.js";
38
35
  // Engine
39
- export { LoopForgeEngine, createEngine, extractSelfEvaluation, heuristicSelfEvaluation, } from "./engine.js";
36
+ export { LoopForgeEngine, createEngine, extractSelfEvaluation, heuristicSelfEvaluation, buildSelfEvaluation, } from "./engine.js";
40
37
  // Runtime (v1.2)
41
38
  export { LoopRuntime, run } from "./runtime.js";
42
39
  export { RuntimeStatus } from "./protocol.js";
43
- // Adapter
44
- export { handle, main } from "./adapter.js";
45
40
  // MCP (v1.3)
46
41
  export { McpServer } from "./mcp/server.js";
47
42
  export { SessionManager } from "./mcp/session.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,iBAAiB;AACjB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,eAAe,GAChB,MAAM,eAAe,CAAC;AAoBvB,SAAS;AACT,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAcrB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,UAAU;AACV,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,SAAS;AACT,OAAO,EACL,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAIrB,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAc9C,UAAU;AACV,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE5C,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,iBAAiB;AACjB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,eAAe,GAChB,MAAM,eAAe,CAAC;AAoBvB,SAAS;AACT,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAcrB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,UAAU;AACV,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAE5B,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,SAAS;AACT,OAAO,EACL,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAIrB,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAc9C,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}