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
package/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  **Loop-Time Intelligence Layer** for AI coding agents. Per-iteration prompt compiler
4
4
  with structured memory, constraint inheritance, and drift correction — maintains
5
- cognitive stability across long-horizon agent loops.
5
+ cognitive stability across long-horizon agent loops. Supports single-agent and
6
+ multi-agent (AgentTool / Coordinator) scenarios.
6
7
 
7
8
  Spec: [`../docs/loopforge-spec.md`](../docs/loopforge-spec.md)
8
9
 
@@ -11,6 +12,9 @@ Spec: [`../docs/loopforge-spec.md`](../docs/loopforge-spec.md)
11
12
  ```bash
12
13
  npm install loopforge
13
14
 
15
+ # MCP server (recommended)
16
+ claude mcp add loopforge -- npx loopforge-mcp
17
+
14
18
  # CLI
15
19
  npx loopforge init
16
20
  npx loopforge compile '{"task":"Audit ERC20","loop_id":"audit","round":1,"goal_id":"audit"}'
@@ -45,6 +49,63 @@ const result = engine.invokeLoopCompile({
45
49
  - **L1 Patch** — new constraints or repair signals → patch previous prompt
46
50
  - **L2 Full Recompile** — round 1, goal changed, plan_source, strategy collapse → full build
47
51
 
52
+ ## Multi-Agent Support (v1.9)
53
+
54
+ LoopForge treats all agents the same — whether a single agent, an agent spawning
55
+ sub-agents via AgentTool, or a Coordinator orchestrating Workers. The core loop
56
+ (compile → execute → self-eval → compile) is identical.
57
+
58
+ ### Delegation Helpers (AgentTool Mode)
59
+
60
+ When the main agent spawns sub-agents, three optional helpers improve delegation quality:
61
+
62
+ ```typescript
63
+ import {
64
+ filterConstraintsForSubTask, // filter relevant constraints for a sub-task
65
+ formatDelegationPrompt, // format a self-contained sub-agent prompt
66
+ recordDelegation, // write delegation journal to vault
67
+ buildDelegationSummary, // build delegation history table for prompts
68
+ } from "loopforge";
69
+ ```
70
+
71
+ - **`filterConstraintsForSubTask(allConstraints, subTask, threshold?)`** — Jaccard-based constraint filter. Returns only constraints relevant to the sub-task (default threshold 0.15).
72
+ - **`formatDelegationPrompt(subTask, subAgentType, constraints, options?)`** — Produces self-contained prompts for Explore / General-purpose / Plan sub-agents. No "based on above" references — sub-agents can't see the parent conversation.
73
+ - **`recordDelegation(loopId, round, entries)`** — Engine method. Writes delegation journal to vault.
74
+ - **`buildDelegationSummary(vaultContext)`** — Reads delegation history from vault and formats a summary table for injection into the next round's prompt.
75
+
76
+ ### Worker Results (Coordinator / Multi-Agent)
77
+
78
+ The main agent reports sub-agent results via `worker_results` in its self-evaluation:
79
+
80
+ ```json
81
+ {
82
+ "success": true,
83
+ "output_summary": "Spawned 2 Workers. Worker A found 3 reentrancy bugs. Worker B fixed auth.",
84
+ "constraint_violations": [],
85
+ "should_continue": true,
86
+ "worker_results": [
87
+ {
88
+ "agentId": "abc123",
89
+ "subAgentType": "explore",
90
+ "subTask": "Search for security vulnerabilities",
91
+ "resultSummary": "Found 3 reentrancy bugs in withdraw(), deposit(), transfer()",
92
+ "success": true,
93
+ "discoveredConstraints": ["All external calls must use nonReentrant modifier"]
94
+ }
95
+ ]
96
+ }
97
+ ```
98
+
99
+ The engine auto-detects `worker_results` → writes to delegation journal → injects delegation
100
+ history into the next round's compiled prompt. Constraints discovered by Workers flow into
101
+ the active constraint set and appear in future prompts automatically.
102
+
103
+ ### Design Principle
104
+
105
+ LoopForge does not distinguish between "single-agent mode" and "coordinator mode."
106
+ The main agent — whatever its role — receives compiled prompts, executes, and reports
107
+ results. LoopForge records, compresses, and injects. The agent decides.
108
+
48
109
  ## CLI Commands
49
110
 
50
111
  ```bash
@@ -63,8 +124,8 @@ loopforge status # Vault health
63
124
 
64
125
  | Module | Import | Purpose |
65
126
  |--------|--------|---------|
66
- | `loopforge` | Main entry | `handle`, `createEngine`, types |
67
- | `loopforge/compiler` | `compileLoop`, `decideLevel` | Pure-function compiler |
127
+ | `loopforge` | Main entry | `createEngine`, `compileLoop`, types |
128
+ | `loopforge/compiler` | `compileLoop`, `decideLevel`, `buildDelegationSummary` | Pure-function compiler + delegation helpers |
68
129
  | `loopforge/replay` | `ReplayBackend` | Time-travel audit queries |
69
130
 
70
131
  ## Zero Dependencies
@@ -14,7 +14,12 @@ export declare function scanLineageMd(loopId: string, vaultPath?: string): Vault
14
14
  export declare class FSBackend implements VaultBackend {
15
15
  private readonly vaultPath;
16
16
  private readonly globalVaultPath;
17
+ /** Re-entrant lock depth — >0 means this process holds the lock. */
18
+ private lockDepth;
17
19
  constructor(vaultPath?: string, globalVaultPath?: string);
20
+ /** File-system mutex via mkdir (atomic on POSIX and Windows).
21
+ * Re-entrant: nested calls from the same process bypass the lock. */
22
+ withLock<T>(fn: () => T): T;
18
23
  readVault(): Record<string, unknown>;
19
24
  writeVault(data: Record<string, unknown>): void;
20
25
  queryEntries(opts?: {
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/backends/fs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsJ/D,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,IAAI,CAkBnE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAef;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,UAAU,EAAE,CAqDd;AAMD,qBAAa,SAAU,YAAW,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAGvC,SAAS,SAAmC,EAC5C,eAAe,SAAqC;IAQtD,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUpC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQ/C,YAAY,CAAC,IAAI,CAAC,EAAE;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,UAAU,EAAE;IA+BhB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQpC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM;IAW5C,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,GAAG,IAAI;IAIhB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK9D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE;CAG5C"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/backends/fs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsJ/D,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,IAAI,CAkBnE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAef;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,UAAU,EAAE,CAqDd;AAMD,qBAAa,SAAU,YAAW,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,oEAAoE;IACpE,OAAO,CAAC,SAAS,CAAK;gBAGpB,SAAS,SAAmC,EAC5C,eAAe,SAAqC;IAMtD;0EACsE;IACtE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IA0C3B,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUpC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAU/C,YAAY,CAAC,IAAI,CAAC,EAAE;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,UAAU,EAAE;IA+BhB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUpC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM;IAa5C,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,GAAG,IAAI;IAIhB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK9D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE;CAG5C"}
@@ -4,7 +4,7 @@
4
4
  * All file I/O is contained in this single module — engine.ts never
5
5
  * touches the filesystem directly.
6
6
  */
7
- import { readFileSync, writeFileSync, mkdirSync, readdirSync, existsSync, } from "node:fs";
7
+ import { readFileSync, writeFileSync, mkdirSync, readdirSync, existsSync, rmSync, } from "node:fs";
8
8
  import { resolve, dirname } from "node:path";
9
9
  import { homedir } from "node:os";
10
10
  // ═══════════════════════════════════════════════════════════════════════════
@@ -232,10 +232,54 @@ export class FSBackend {
232
232
  vaultPath;
233
233
  // v2: federation — global vault for cross-project constraints (not yet implemented)
234
234
  globalVaultPath;
235
+ /** Re-entrant lock depth — >0 means this process holds the lock. */
236
+ lockDepth = 0;
235
237
  constructor(vaultPath = ".promptcraft/prompt_vault.json", globalVaultPath = "~/.promptcraft/global_vault.json") {
236
238
  this.vaultPath = vaultPath;
237
239
  this.globalVaultPath = globalVaultPath;
238
240
  }
241
+ /** File-system mutex via mkdir (atomic on POSIX and Windows).
242
+ * Re-entrant: nested calls from the same process bypass the lock. */
243
+ withLock(fn) {
244
+ if (this.lockDepth > 0) {
245
+ this.lockDepth++;
246
+ try {
247
+ return fn();
248
+ }
249
+ finally {
250
+ this.lockDepth--;
251
+ }
252
+ }
253
+ const lockPath = resolveVaultPath(this.vaultPath).replace(/\.json$/, ".lock");
254
+ for (let i = 0; i < 100; i++) {
255
+ try {
256
+ mkdirSync(lockPath);
257
+ break;
258
+ }
259
+ catch {
260
+ if (i === 99)
261
+ throw new Error("Vault lock timeout");
262
+ }
263
+ // spin-wait 10ms
264
+ const start = Date.now();
265
+ while (Date.now() - start < 10) {
266
+ /* spin */
267
+ }
268
+ }
269
+ this.lockDepth = 1;
270
+ try {
271
+ return fn();
272
+ }
273
+ finally {
274
+ this.lockDepth = 0;
275
+ try {
276
+ rmSync(lockPath, { recursive: true });
277
+ }
278
+ catch {
279
+ /* orphaned lock — next process cleans up via timeout */
280
+ }
281
+ }
282
+ }
239
283
  // ── JSON vault ────────────────────────────────────────────────────────
240
284
  readVault() {
241
285
  const resolved = resolveVaultPath(this.vaultPath);
@@ -248,9 +292,11 @@ export class FSBackend {
248
292
  }
249
293
  }
250
294
  writeVault(data) {
251
- const resolved = resolveVaultPath(this.vaultPath);
252
- mkdirSync(dirname(resolved), { recursive: true });
253
- writeFileSync(resolved, JSON.stringify(data, null, 2), "utf-8");
295
+ this.withLock(() => {
296
+ const resolved = resolveVaultPath(this.vaultPath);
297
+ mkdirSync(dirname(resolved), { recursive: true });
298
+ writeFileSync(resolved, JSON.stringify(data, null, 2), "utf-8");
299
+ });
254
300
  }
255
301
  // ── Entry queries ─────────────────────────────────────────────────────
256
302
  queryEntries(opts) {
@@ -279,20 +325,24 @@ export class FSBackend {
279
325
  });
280
326
  }
281
327
  appendEntry(entry) {
282
- const vault = this.readVault();
283
- const entries = vault.entries || [];
284
- entries.push(entry);
285
- vault.entries = entries;
286
- this.writeVault(vault);
328
+ this.withLock(() => {
329
+ const vault = this.readVault();
330
+ const entries = vault.entries || [];
331
+ entries.push(entry);
332
+ vault.entries = entries;
333
+ this.writeVault(vault);
334
+ });
287
335
  }
288
336
  appendEntries(entries) {
289
- if (entries.length === 0)
290
- return 0;
291
- const vault = this.readVault();
292
- const existing = vault.entries || [];
293
- vault.entries = [...existing, ...entries];
294
- this.writeVault(vault);
295
- return entries.length;
337
+ return this.withLock(() => {
338
+ if (entries.length === 0)
339
+ return 0;
340
+ const vault = this.readVault();
341
+ const existing = vault.entries || [];
342
+ vault.entries = [...existing, ...entries];
343
+ this.writeVault(vault);
344
+ return entries.length;
345
+ });
296
346
  }
297
347
  // ── Markdown lineage ──────────────────────────────────────────────────
298
348
  writeLineageMd(loopId, roundNum, content, metadata) {
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/backends/fs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/backends/fs.ts"],"names":[],"mappings":"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"}
package/dist/builder.d.ts CHANGED
@@ -13,5 +13,4 @@ export declare function scoreQuality(feedback: {
13
13
  manual_fixes_needed?: string;
14
14
  } | null): number;
15
15
  export declare function routeTechniqueAdaptive(task: string, vaultContext?: Record<string, unknown> | null, loopId?: string): Analysis;
16
- export declare function extractGlobalConstraints(hydrateResults: Record<string, unknown> | null): string[];
17
16
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AA+BvB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQtD,CAAC;AAgCF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAmCrD;AAMD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GACrG,MAAM,CAYR;AA4CD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAW,EACnD,MAAM,SAAK,GACV,QAAQ,CAqCV;AAMD,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC7C,MAAM,EAAE,CAeV"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AA+BvB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQtD,CAAC;AAgCF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAmCrD;AAMD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GACrG,MAAM,CAYR;AA4CD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAW,EACnD,MAAM,SAAK,GACV,QAAQ,CA4CV"}
package/dist/builder.js CHANGED
@@ -5,6 +5,7 @@
5
5
  * 2. Quality scoring — deterministic 1-5 from feedback signals
6
6
  */
7
7
  import { getPolicy } from "./policy.js";
8
+ import { logEvent } from "./observability.js";
8
9
  import { makeAnalysis, Technique, } from "./protocol.js";
9
10
  // ═══════════════════════════════════════════════════════════════════════════
10
11
  // Routing table
@@ -27,13 +28,13 @@ const RATIONALE = {
27
28
  [Technique.TREE_OF_THOUGHT]: "High risk, multi-path — explore + evaluate + prune.",
28
29
  };
29
30
  export const TECHNIQUE_REFERENCE = {
30
- "zero-shot": "skills/prompt-techniques/references/zero-shot.md",
31
- "few-shot": "skills/prompt-techniques/references/few-shot.md",
32
- "zero-shot-cot": "skills/prompt-techniques/references/chain-of-thought.md",
33
- "few-shot-cot": "skills/prompt-techniques/references/chain-of-thought.md",
34
- "step-back": "skills/prompt-techniques/references/step-back.md",
35
- "least-to-most": "skills/prompt-techniques/references/least-to-most.md",
36
- "tree-of-thought": "skills/prompt-techniques/references/tree-of-thought.md",
31
+ "zero-shot": "loopforge/skills/prompt-techniques/references/zero-shot.md",
32
+ "few-shot": "loopforge/skills/prompt-techniques/references/few-shot.md",
33
+ "zero-shot-cot": "loopforge/skills/prompt-techniques/references/chain-of-thought.md",
34
+ "few-shot-cot": "loopforge/skills/prompt-techniques/references/chain-of-thought.md",
35
+ "step-back": "loopforge/skills/prompt-techniques/references/step-back.md",
36
+ "least-to-most": "loopforge/skills/prompt-techniques/references/least-to-most.md",
37
+ "tree-of-thought": "loopforge/skills/prompt-techniques/references/tree-of-thought.md",
37
38
  };
38
39
  // Keyword sets for heuristic classification
39
40
  const HIGH_LOAD_WORDS = new Set([
@@ -170,6 +171,12 @@ export function routeTechniqueAdaptive(task, vaultContext = null, loopId = "") {
170
171
  return analysis; // Already at ceiling
171
172
  const originalTechnique = technique;
172
173
  const originalRationale = analysis.rationale;
174
+ logEvent("strategy_rotated", {
175
+ loopId,
176
+ from: originalTechnique,
177
+ to: fallback,
178
+ consecutiveLowRounds: lowCount,
179
+ });
173
180
  return makeAnalysis({
174
181
  technique: fallback,
175
182
  rationale: `${originalRationale} [ROTATED: ${originalTechnique} → ${fallback} — ` +
@@ -184,22 +191,4 @@ export function routeTechniqueAdaptive(task, vaultContext = null, loopId = "") {
184
191
  was_rotated: true,
185
192
  });
186
193
  }
187
- // ═══════════════════════════════════════════════════════════════════════════
188
- // Global constraints extraction
189
- // ═══════════════════════════════════════════════════════════════════════════
190
- export function extractGlobalConstraints(hydrateResults) {
191
- const constraints = [];
192
- if (!hydrateResults)
193
- return constraints;
194
- const globalEntries = hydrateResults.global_entries || [];
195
- for (const entry of globalEntries) {
196
- const added = entry.hard_constraints_added || [];
197
- for (const c of added) {
198
- if (!constraints.includes(c)) {
199
- constraints.push(c);
200
- }
201
- }
202
- }
203
- return constraints;
204
- }
205
194
  //# sourceMappingURL=builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -1,21 +1,36 @@
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 type { VaultBackend } from "./backends/interface.js";
9
9
  import { type AgentLoopResult, type LoopForgeRequest, type SelfEvaluation, type SessionState } from "./protocol.js";
10
10
  /** Extract a structured SelfEvaluation from agent output text.
11
- * Returns null if no valid self-evaluation block is found.
11
+ * Returns null if no valid self-eval block is found.
12
12
  * The agent is instructed to output JSON between the delimiters. */
13
13
  export declare function extractSelfEvaluation(text: string): SelfEvaluation | null;
14
+ /** Build a SelfEvaluation from a parsed JSON object.
15
+ * Lenient parsing: missing optional fields get sensible defaults.
16
+ * Used by extractSelfEvaluation() (regex path) and MCP tool handler
17
+ * (structured evaluation parameter path). */
18
+ export declare function buildSelfEvaluation(raw: Record<string, unknown>): SelfEvaluation;
14
19
  /** Fallback heuristic when structured self-eval extraction fails.
15
20
  * Scans agent output for completion and error signals.
16
21
  * Returns a low-confidence SelfEvaluation — the autonomous runner
17
22
  * may choose to warn the user or continue cautiously. */
18
23
  export declare function heuristicSelfEvaluation(text: string): SelfEvaluation | null;
24
+ /** A single sub-agent delegation record (v1.9 — AgentTool mode). */
25
+ export interface DelegationEntry {
26
+ index: number;
27
+ agentId: string;
28
+ subAgentType: string;
29
+ subTask: string;
30
+ resultSummary: string;
31
+ success: boolean;
32
+ discoveredConstraints: string[];
33
+ }
19
34
  export interface EngineMetrics {
20
35
  vaultWriteErrors: number;
21
36
  vaultWriteTimeouts: number;
@@ -36,20 +51,28 @@ export declare class LoopForgeEngine {
36
51
  private seenConstraints;
37
52
  constructor(skillsDir?: string, backend?: VaultBackend);
38
53
  private resolveBackend;
54
+ /** Public accessor for the vault backend — used by runtime/verification gate. */
55
+ getBackend(): VaultBackend;
56
+ /** Expose engine health counters for observability (MCP status, logging). */
57
+ getMetrics(): EngineMetrics;
39
58
  private ensureInit;
40
59
  private persistFeedbackToVault;
41
60
  flushFeedbackBuffer(): number;
42
61
  private persistLoopLineage;
62
+ /** Record sub-agent delegations for this round into the vault.
63
+ * Written as a lightweight journal entry so the main agent's rolling
64
+ * summary can reference delegation history in subsequent rounds. */
65
+ recordDelegation(loopId: string, round: number, entries: DelegationEntry[]): void;
43
66
  hydrateLoopContext(loopId: string): Record<string, unknown> | null;
44
- invokeBuild(request: LoopForgeRequest, _hydrateResults?: Record<string, unknown> | null): AgentLoopResult;
45
67
  invokeFeedback(request: LoopForgeRequest, _hydrateResults?: Record<string, unknown> | null): AgentLoopResult;
46
68
  /** Record self-evaluation from agent output without human intervention.
47
69
  * Converts SelfEvaluation → ExecutionFeedback → vault persistence.
70
+ * P0–P2: Also persists discovered_constraints, objective_refinement,
71
+ * and emerged_subtasks for the compiler to consume next round.
48
72
  * Call this BEFORE invokeLoopCompile for the next round so that
49
73
  * hydrateLoopContext picks up the latest quality scores. */
50
74
  autoFeedback(selfEval: SelfEvaluation, loopId: string, round: number, task: string): number;
51
75
  invokeLoopCompile(request: LoopForgeRequest, hydrateResults?: Record<string, unknown> | null): AgentLoopResult;
52
- handleReview(request: LoopForgeRequest, hydrateResults?: Record<string, unknown> | null): AgentLoopResult;
53
76
  shouldBreak(): boolean;
54
77
  }
55
78
  export declare function createEngine(skillsDir?: string, backend?: VaultBackend): LoopForgeEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAaL,KAAK,eAAe,EAIpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AASvB;;qEAEqE;AACrE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqBzE;AAED;;;0DAG0D;AAC1D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqB3E;AAMD,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAmBD,qBAAa,eAAe;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAClC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAqB;gBAEhC,SAAS,SAAW,EAAE,OAAO,CAAC,EAAE,YAAY;IAKxD,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,sBAAsB;IAkB9B,mBAAmB,IAAI,MAAM;IA4D7B,OAAO,CAAC,kBAAkB;IA0F1B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAqFlE,WAAW,CACT,OAAO,EAAE,gBAAgB,EACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC/C,eAAe;IAoClB,cAAc,CACZ,OAAO,EAAE,gBAAgB,EACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC/C,eAAe;IA0FlB;;;iEAG6D;IAC7D,YAAY,CACV,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM;IAoDT,iBAAiB,CACf,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC9C,eAAe;IAkKlB,YAAY,CACV,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC9C,eAAe;IAsElB,WAAW,IAAI,OAAO;CAYvB;AAMD,wBAAgB,YAAY,CAC1B,SAAS,SAAW,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,eAAe,CAEjB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAcL,KAAK,eAAe,EAMpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AASvB;;qEAEqE;AACrE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAezE;AAED;;;8CAG8C;AAC9C,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,cAAc,CAiGhB;AAED;;;0DAG0D;AAC1D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqB3E;AAMD,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAmBD,qBAAa,eAAe;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAClC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAqB;gBAEhC,SAAS,SAAW,EAAE,OAAO,CAAC,EAAE,YAAY;IAKxD,OAAO,CAAC,cAAc;IAOtB,iFAAiF;IACjF,UAAU,IAAI,YAAY;IAI1B,6EAA6E;IAC7E,UAAU,IAAI,aAAa;IAO3B,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,sBAAsB;IAkB9B,mBAAmB,IAAI,MAAM;IA8D7B,OAAO,CAAC,kBAAkB;IA4F1B;;yEAEqE;IACrE,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,EAAE,GACzB,IAAI;IAoCP,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAyFlE,cAAc,CACZ,OAAO,EAAE,gBAAgB,EACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC/C,eAAe;IAiGlB;;;;;iEAK6D;IAC7D,YAAY,CACV,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM;IA6FT,iBAAiB,CACf,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC9C,eAAe;IA4PlB,WAAW,IAAI,OAAO;CAmBvB;AAMD,wBAAgB,YAAY,CAC1B,SAAS,SAAW,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,eAAe,CAEjB"}