loopforge 1.12.0 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backends/fs.d.ts.map +1 -1
- package/dist/backends/fs.js +12 -8
- package/dist/backends/fs.js.map +1 -1
- package/dist/builder.d.ts +8 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +28 -72
- package/dist/builder.js.map +1 -1
- package/dist/enforcement-gate.d.ts +44 -0
- package/dist/enforcement-gate.d.ts.map +1 -0
- package/dist/enforcement-gate.js +253 -0
- package/dist/enforcement-gate.js.map +1 -0
- package/dist/engine.d.ts +11 -4
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +87 -118
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +689 -480
- package/dist/loop-compiler.js.map +1 -1
- package/dist/mcp/session.d.ts +9 -1
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +100 -44
- package/dist/mcp/session.js.map +1 -1
- package/dist/observability.d.ts +1 -1
- package/dist/observability.js +1 -1
- package/dist/policy.d.ts +72 -2
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +96 -2
- package/dist/policy.js.map +1 -1
- package/dist/protocol.d.ts +33 -2
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +22 -2
- package/dist/protocol.js.map +1 -1
- package/dist/runtime.d.ts +8 -4
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +102 -108
- package/dist/runtime.js.map +1 -1
- package/dist/tests/builder.test.js +5 -3
- package/dist/tests/builder.test.js.map +1 -1
- package/dist/tests/enforcement-gate.test.d.ts +2 -0
- package/dist/tests/enforcement-gate.test.d.ts.map +1 -0
- package/dist/tests/enforcement-gate.test.js +328 -0
- package/dist/tests/enforcement-gate.test.js.map +1 -0
- package/dist/tests/engine.test.js +9 -5
- package/dist/tests/engine.test.js.map +1 -1
- package/dist/tests/generate-schema.test.js +2 -2
- package/dist/tests/loop-compiler.test.js +28 -20
- package/dist/tests/loop-compiler.test.js.map +1 -1
- package/dist/tests/mcp.test.js +22 -2
- package/dist/tests/mcp.test.js.map +1 -1
- package/dist/tests/policy.test.js +1 -1
- package/dist/tests/policy.test.js.map +1 -1
- package/dist/tests/runtime.test.js +19 -5
- package/dist/tests/runtime.test.js.map +1 -1
- package/dist/verification-gate.d.ts +6 -0
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +3 -2
- package/dist/verification-gate.js.map +1 -1
- package/loop_policy.json +8 -3
- package/package.json +1 -1
- package/skills/perception/SKILL.md +35 -17
- package/skills/prompt-techniques/SKILL.md +52 -52
- package/skills/prompt-techniques/references/chain-of-thought.md +207 -207
- package/skills/prompt-techniques/references/few-shot.md +174 -174
- package/skills/prompt-techniques/references/least-to-most.md +182 -182
- package/skills/prompt-techniques/references/step-back.md +160 -160
- package/skills/prompt-techniques/references/tree-of-thought.md +191 -191
- package/skills/prompt-techniques/references/zero-shot.md +97 -97
|
@@ -19,8 +19,9 @@ import { makeVerificationFlag, makeVerificationResult } from "./protocol.js";
|
|
|
19
19
|
/** Extract the round number from a vault entry's loop_lineage.
|
|
20
20
|
* Returns 0 if the entry has no lineage or no round field.
|
|
21
21
|
* In practice, persistLoopLineage always writes round ≥ 1, so 0
|
|
22
|
-
* unambiguously means "not a valid round entry" in this context.
|
|
23
|
-
|
|
22
|
+
* unambiguously means "not a valid round entry" in this context.
|
|
23
|
+
* Exported for reuse by enforcement-gate.ts. */
|
|
24
|
+
export function entryRound(entry) {
|
|
24
25
|
const lineage = (entry.loop_lineage ?? {});
|
|
25
26
|
return lineage.round ?? 0;
|
|
26
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-gate.js","sourceRoot":"","sources":["../src/verification-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE7E,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"verification-gate.js","sourceRoot":"","sources":["../src/verification-gate.ts"],"names":[],"mappings":"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"}
|
package/loop_policy.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1",
|
|
3
3
|
"constraints": {
|
|
4
|
-
"retire_window": 3
|
|
5
|
-
"max_active": 12
|
|
4
|
+
"retire_window": 3
|
|
6
5
|
},
|
|
7
6
|
"summary": {
|
|
8
7
|
"window": 5,
|
|
@@ -59,6 +58,12 @@
|
|
|
59
58
|
"enabled": true,
|
|
60
59
|
"max_feedback_entries": 5,
|
|
61
60
|
"max_discoveries_in_project": 3,
|
|
62
|
-
"write_on_outcomes": ["
|
|
61
|
+
"write_on_outcomes": ["task_complete", "circuit_breaker", "max_rounds"]
|
|
62
|
+
},
|
|
63
|
+
"state_file": {
|
|
64
|
+
"enabled": true,
|
|
65
|
+
"directory": ".loopforge/state",
|
|
66
|
+
"max_checkpoints": 5,
|
|
67
|
+
"max_summary_rounds": 5
|
|
63
68
|
}
|
|
64
69
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "loopforge",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.1",
|
|
4
4
|
"description": "Loop-Time Intelligence Layer for AI coding agents — per-iteration prompt compiler with structured memory, constraint inheritance, and drift correction.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -61,9 +61,13 @@ Keep the returned sessionId — you will need it for every subsequent call.
|
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
**Step 2 — Execute the round:**
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
- **BEFORE executing the prompt**: Read `.loopforge/state/{loopId}-state.md`
|
|
65
|
+
for the loop's accumulated state — objective, constraints, progress, and
|
|
66
|
+
cross-round summary. This file is rewritten each round and is the single
|
|
67
|
+
source of truth for loop state. The prompt references this file; you must
|
|
68
|
+
read it to know the active constraints and progress.
|
|
69
|
+
- Execute the compiled prompt exactly as you would any user task. Read files,
|
|
70
|
+
write code, run tests, fix bugs.
|
|
67
71
|
|
|
68
72
|
After executing, prepare a structured self-evaluation. Pass it as the
|
|
69
73
|
`evaluation` parameter to `loopforge_next` — do NOT embed it as a text block
|
|
@@ -201,14 +205,21 @@ remembering across rounds.
|
|
|
201
205
|
|
|
202
206
|
The prompt changes between rounds based on your trajectory. Pay attention to:
|
|
203
207
|
|
|
204
|
-
- **Compile level** — `l0` (
|
|
205
|
-
`
|
|
206
|
-
|
|
208
|
+
- **Compile level** — `l0` (retry — honest failure, no new info, same prompt),
|
|
209
|
+
`l1` (continue — default path, state evolved, technique keyword-routed from Tier 1),
|
|
210
|
+
`l2` (restart — Round 1, checkpoint boundary, or goal_id change; full
|
|
211
|
+
context rebuild. **At L2**: LoopForge provides a Technique Selection block —
|
|
212
|
+
read `skills/prompt-techniques/SKILL.md`, freely choose the best reasoning
|
|
213
|
+
strategy for this round, read the corresponding reference file, and apply
|
|
214
|
+
the technique directly to the task). L2 means you have a new chance to
|
|
215
|
+
pick the right approach.
|
|
207
216
|
- **Warnings** — constraint violations accumulating, task drift, quality
|
|
208
217
|
decline. These are the compiler begging you to course-correct.
|
|
209
|
-
- **Technique
|
|
210
|
-
|
|
211
|
-
|
|
218
|
+
- **Technique autonomy (v1.15)** — at L2 restarts, you freely choose your
|
|
219
|
+
reasoning technique. LoopForge no longer auto-selects or forces technique
|
|
220
|
+
changes after failures. Read the technique catalog, pick what fits the
|
|
221
|
+
current challenge, and apply it. Trust your own judgment — you have the
|
|
222
|
+
full loop state in the state file.
|
|
212
223
|
|
|
213
224
|
## Stop Condition Matrix
|
|
214
225
|
|
|
@@ -218,21 +229,28 @@ The prompt changes between rounds based on your trajectory. Pay attention to:
|
|
|
218
229
|
| 3 consecutive failed rounds | `circuit_breaker` | Tell user the approach is stuck, suggest a different strategy |
|
|
219
230
|
| Round count reached `maxRounds` | `max_rounds` | Summarize progress, ask user whether to extend |
|
|
220
231
|
| No `---loopforge-eval` block found | `stalled` | Fix your output format and restart |
|
|
232
|
+
| Enforcement gate rejected your eval | `enforcementAction: "reject"` | Read the rejection prompt's **Required Fix** section, redo the SAME round, re-submit a corrected self-evaluation |
|
|
233
|
+
| Enforcement gate terminated loop | `enforcement_terminated` | Too many rejections or progress stalled — report to user and suggest a different approach |
|
|
221
234
|
| User interrupts or fatal error | (call `loopforge_stop`) | Clean stop with trajectory preserved |
|
|
222
235
|
|
|
223
236
|
## Rules
|
|
224
237
|
|
|
225
238
|
1. **Always pass the evaluation parameter.** `loopforge_next` requires it.
|
|
226
239
|
If you omit it, the MCP client will reject the call with a schema error.
|
|
227
|
-
2. **
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
3. **
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
240
|
+
2. **Read the state file every round.** Before executing the prompt, read
|
|
241
|
+
`.loopforge/state/{loopId}-state.md`. It contains the accumulated constraints,
|
|
242
|
+
progress, and cross-round summary. Skip this and you'll miss active guardrails.
|
|
243
|
+
3. **Be honest in self-evaluation.** Lying about success or hiding violations
|
|
244
|
+
produces a false success signal. The enforcement gate will REJECT fake
|
|
245
|
+
successes, and the circuit breaker exists to stop bad loops.
|
|
246
|
+
4. **One loop per task.** Don't reuse a sessionId across different tasks.
|
|
247
|
+
5. **Execute the prompt you're given — and own your technique choice.** At L2
|
|
248
|
+
restarts, read the technique catalog and freely choose the best strategy.
|
|
249
|
+
At L1, follow the keyword-routed technique. The compiler provides context
|
|
250
|
+
and guardrails — you provide the reasoning strategy.
|
|
251
|
+
6. **Call loopforge_next within the same turn.** Don't leave a round hanging
|
|
234
252
|
across conversation turns. The MCP server is in-memory.
|
|
235
|
-
|
|
253
|
+
7. **After process restart, use loopforge_resume.** The session state is saved
|
|
236
254
|
to vault every round. Call `loopforge_resume` with the original `loopId` to
|
|
237
255
|
pick up where you left off — no need to restart from round 1.
|
|
238
256
|
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: prompt-techniques
|
|
3
|
-
description: >
|
|
4
|
-
Reference catalog of 7 prompt engineering techniques. This skill should be
|
|
5
|
-
used when the AI needs to recall the purpose, method steps, and use cases
|
|
6
|
-
of techniques like zero-shot, few-shot, chain-of-thought, step-back,
|
|
7
|
-
least-to-most, or tree-of-thought. It is a pure reference skill — no
|
|
8
|
-
workflow instructions, only technique documentation loaded on demand.
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Prompt Techniques Reference
|
|
12
|
-
|
|
13
|
-
This skill catalogs seven prompt engineering techniques. Use `references/` files
|
|
14
|
-
to load detailed technique documentation on demand. Each reference includes:
|
|
15
|
-
purpose, input requirements, recommended JSON input templates, method steps,
|
|
16
|
-
design rules, when-to-use guidance, and example use cases.
|
|
17
|
-
|
|
18
|
-
## Technique Overview
|
|
19
|
-
|
|
20
|
-
| Technique | Cognitive Load | Independence | When to Use |
|
|
21
|
-
|-----------|---------------|-------------|-------------|
|
|
22
|
-
| zero-shot | Low | Either | Simple code explanation, formatting, renaming. |
|
|
23
|
-
| few-shot | Medium | Continuous | Standard CRUD modules, unit tests with fixed patterns. |
|
|
24
|
-
| chain-of-thought | Medium-High | Either | Multi-step reasoning; use `zero-shot-cot` without examples, `few-shot-cot` with examples. |
|
|
25
|
-
| step-back | High | Independent | Vague errors, messy legacy refactoring — abstract principles first. |
|
|
26
|
-
| least-to-most | High | Continuous | Large multi-step modules — decompose into ordered sub-tasks. |
|
|
27
|
-
| tree-of-thought | High | Independent | Core algorithms, crypto/signature verification, Assembly ops — explore multiple candidate paths. |
|
|
28
|
-
|
|
29
|
-
## How to Use
|
|
30
|
-
|
|
31
|
-
1. Read `references/<technique>.md` for the selected technique. Each reference contains:
|
|
32
|
-
- **Purpose** — what problem the technique solves.
|
|
33
|
-
- **Input Requirements** — required and optional parameters.
|
|
34
|
-
- **Recommended JSON Input** — a complete input template with example values.
|
|
35
|
-
- **Method Steps** — step-by-step construction guide.
|
|
36
|
-
- **Design Rules** — specific rules for high-quality prompt construction.
|
|
37
|
-
- **Case Generation Rules** — how to generate examples, decompositions, branches, or abstractions (where applicable).
|
|
38
|
-
- **Single-Pass vs Two-Stage** — when to use each execution mode (step-back, least-to-most).
|
|
39
|
-
- **Search Strategy Selection** — beam/dfs/expert-panel guidance (tree-of-thought).
|
|
40
|
-
- **Prompt Output Template** — a complete 8-section output skeleton with section-level format specifications. Defines the exact structure the generated prompt must follow. The technique-specific section (section 5) format varies per technique: Few-Shot uses input→output pairs, Few-Shot-CoT uses reasoning triples, Step-Back uses abstraction framework boxes, Least-to-Most uses ordered subproblems, Tree-of-Thought uses state tables + evaluation criteria. Zero-Shot omits section 5 entirely for a lightweight 7-section prompt.
|
|
41
|
-
- **When to Use** — concrete scenarios and example use cases.
|
|
42
|
-
2. `references/chain-of-thought.md` covers both `zero-shot-cot` and `few-shot-cot`, including paper citations for Few-Shot-CoT.
|
|
43
|
-
3. Do not load all references at once — read only the one selected by the router in Step 1.
|
|
44
|
-
|
|
45
|
-
## Reference Files
|
|
46
|
-
|
|
47
|
-
- `references/zero-shot.md`
|
|
48
|
-
- `references/few-shot.md`
|
|
49
|
-
- `references/chain-of-thought.md` (covers zero-shot-cot and few-shot-cot)
|
|
50
|
-
- `references/step-back.md`
|
|
51
|
-
- `references/least-to-most.md`
|
|
52
|
-
- `references/tree-of-thought.md`
|
|
1
|
+
---
|
|
2
|
+
name: prompt-techniques
|
|
3
|
+
description: >
|
|
4
|
+
Reference catalog of 7 prompt engineering techniques. This skill should be
|
|
5
|
+
used when the AI needs to recall the purpose, method steps, and use cases
|
|
6
|
+
of techniques like zero-shot, few-shot, chain-of-thought, step-back,
|
|
7
|
+
least-to-most, or tree-of-thought. It is a pure reference skill — no
|
|
8
|
+
workflow instructions, only technique documentation loaded on demand.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Prompt Techniques Reference
|
|
12
|
+
|
|
13
|
+
This skill catalogs seven prompt engineering techniques. Use `references/` files
|
|
14
|
+
to load detailed technique documentation on demand. Each reference includes:
|
|
15
|
+
purpose, input requirements, recommended JSON input templates, method steps,
|
|
16
|
+
design rules, when-to-use guidance, and example use cases.
|
|
17
|
+
|
|
18
|
+
## Technique Overview
|
|
19
|
+
|
|
20
|
+
| Technique | Cognitive Load | Independence | When to Use |
|
|
21
|
+
|-----------|---------------|-------------|-------------|
|
|
22
|
+
| zero-shot | Low | Either | Simple code explanation, formatting, renaming. |
|
|
23
|
+
| few-shot | Medium | Continuous | Standard CRUD modules, unit tests with fixed patterns. |
|
|
24
|
+
| chain-of-thought | Medium-High | Either | Multi-step reasoning; use `zero-shot-cot` without examples, `few-shot-cot` with examples. |
|
|
25
|
+
| step-back | High | Independent | Vague errors, messy legacy refactoring — abstract principles first. |
|
|
26
|
+
| least-to-most | High | Continuous | Large multi-step modules — decompose into ordered sub-tasks. |
|
|
27
|
+
| tree-of-thought | High | Independent | Core algorithms, crypto/signature verification, Assembly ops — explore multiple candidate paths. |
|
|
28
|
+
|
|
29
|
+
## How to Use
|
|
30
|
+
|
|
31
|
+
1. Read `references/<technique>.md` for the selected technique. Each reference contains:
|
|
32
|
+
- **Purpose** — what problem the technique solves.
|
|
33
|
+
- **Input Requirements** — required and optional parameters.
|
|
34
|
+
- **Recommended JSON Input** — a complete input template with example values.
|
|
35
|
+
- **Method Steps** — step-by-step construction guide.
|
|
36
|
+
- **Design Rules** — specific rules for high-quality prompt construction.
|
|
37
|
+
- **Case Generation Rules** — how to generate examples, decompositions, branches, or abstractions (where applicable).
|
|
38
|
+
- **Single-Pass vs Two-Stage** — when to use each execution mode (step-back, least-to-most).
|
|
39
|
+
- **Search Strategy Selection** — beam/dfs/expert-panel guidance (tree-of-thought).
|
|
40
|
+
- **Prompt Output Template** — a complete 8-section output skeleton with section-level format specifications. Defines the exact structure the generated prompt must follow. The technique-specific section (section 5) format varies per technique: Few-Shot uses input→output pairs, Few-Shot-CoT uses reasoning triples, Step-Back uses abstraction framework boxes, Least-to-Most uses ordered subproblems, Tree-of-Thought uses state tables + evaluation criteria. Zero-Shot omits section 5 entirely for a lightweight 7-section prompt.
|
|
41
|
+
- **When to Use** — concrete scenarios and example use cases.
|
|
42
|
+
2. `references/chain-of-thought.md` covers both `zero-shot-cot` and `few-shot-cot`, including paper citations for Few-Shot-CoT.
|
|
43
|
+
3. Do not load all references at once — read only the one selected by the router in Step 1.
|
|
44
|
+
|
|
45
|
+
## Reference Files
|
|
46
|
+
|
|
47
|
+
- `references/zero-shot.md`
|
|
48
|
+
- `references/few-shot.md`
|
|
49
|
+
- `references/chain-of-thought.md` (covers zero-shot-cot and few-shot-cot)
|
|
50
|
+
- `references/step-back.md`
|
|
51
|
+
- `references/least-to-most.md`
|
|
52
|
+
- `references/tree-of-thought.md`
|