loopforge 3.0.0 → 3.2.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/README.md +128 -145
- package/dist/audit.d.ts +50 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +158 -0
- package/dist/audit.js.map +1 -0
- package/dist/canonical-state.d.ts +28 -20
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +82 -173
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +25 -16
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-governance.d.ts +25 -33
- package/dist/cognitive-governance.d.ts.map +1 -1
- package/dist/cognitive-governance.js +38 -138
- package/dist/cognitive-governance.js.map +1 -1
- package/dist/enforcement-gate.d.ts +76 -0
- package/dist/enforcement-gate.d.ts.map +1 -0
- package/dist/enforcement-gate.js +1071 -0
- package/dist/enforcement-gate.js.map +1 -0
- package/dist/engine.d.ts +99 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +839 -0
- package/dist/engine.js.map +1 -0
- package/dist/evidence-claims.d.ts +50 -0
- package/dist/evidence-claims.d.ts.map +1 -0
- package/dist/evidence-claims.js +134 -0
- package/dist/evidence-claims.js.map +1 -0
- package/dist/evidence-provider.d.ts +21 -23
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +74 -34
- package/dist/evidence-provider.js.map +1 -1
- package/dist/generate-schema.js +1 -84
- package/dist/generate-schema.js.map +1 -1
- package/dist/index.d.ts +19 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -15
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +41 -3
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +632 -273
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-extras-parser.d.ts +2 -2
- package/dist/loop-extras-parser.d.ts.map +1 -1
- package/dist/loop-extras-parser.js +2 -2
- package/dist/loop-extras-parser.js.map +1 -1
- package/dist/loop-projection.d.ts +26 -0
- package/dist/loop-projection.d.ts.map +1 -0
- package/dist/loop-projection.js +142 -0
- package/dist/loop-projection.js.map +1 -0
- package/dist/loop-store.d.ts +112 -24
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js +365 -218
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +216 -0
- package/dist/mcp/round-lifecycle.d.ts.map +1 -0
- package/dist/mcp/round-lifecycle.js +926 -0
- package/dist/mcp/round-lifecycle.js.map +1 -0
- package/dist/mcp/server.d.ts +2 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +28 -42
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +53 -101
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +306 -1105
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.d.ts +13 -16
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +479 -413
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.d.ts +12 -17
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +95 -161
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +44 -35
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +31 -115
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts +37 -6
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +389 -160
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/prompt-policy.d.ts +1 -8
- package/dist/prompt-policy.d.ts.map +1 -1
- package/dist/prompt-policy.js +8 -26
- package/dist/prompt-policy.js.map +1 -1
- package/dist/protocol.d.ts +357 -229
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +139 -15
- package/dist/protocol.js.map +1 -1
- package/dist/replay.d.ts +5 -13
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +19 -55
- package/dist/replay.js.map +1 -1
- package/dist/round-coordinator.d.ts +20 -24
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +99 -92
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +14 -13
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +26 -14
- package/dist/round-driver.js.map +1 -1
- package/dist/round-transaction.d.ts +15 -18
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +38 -47
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +53 -0
- package/dist/self-eval.d.ts.map +1 -0
- package/dist/self-eval.js +284 -0
- package/dist/self-eval.js.map +1 -0
- package/dist/storage.d.ts +9 -4
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +18 -6
- package/dist/storage.js.map +1 -1
- package/dist/token-utils.d.ts +15 -3
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +24 -5
- package/dist/token-utils.js.map +1 -1
- package/dist/verification-gate.d.ts +108 -0
- package/dist/verification-gate.d.ts.map +1 -0
- package/dist/verification-gate.js +971 -0
- package/dist/verification-gate.js.map +1 -0
- package/loop_policy.json +44 -15
- package/package.json +5 -10
- package/skills/perception/SKILL.md +182 -199
- package/dist/canonical-event-writer.d.ts +0 -20
- package/dist/canonical-event-writer.d.ts.map +0 -1
- package/dist/canonical-event-writer.js +0 -131
- package/dist/canonical-event-writer.js.map +0 -1
- package/dist/compiler-subgoals.d.ts +0 -7
- package/dist/compiler-subgoals.d.ts.map +0 -1
- package/dist/compiler-subgoals.js +0 -93
- package/dist/compiler-subgoals.js.map +0 -1
- package/dist/derive-id.d.ts +0 -12
- package/dist/derive-id.d.ts.map +0 -1
- package/dist/derive-id.js +0 -31
- package/dist/derive-id.js.map +0 -1
- package/dist/mcp/session-projection.d.ts +0 -5
- package/dist/mcp/session-projection.d.ts.map +0 -1
- package/dist/mcp/session-projection.js +0 -18
- package/dist/mcp/session-projection.js.map +0 -1
- package/dist/mcp/session-queue.d.ts +0 -3
- package/dist/mcp/session-queue.d.ts.map +0 -1
- package/dist/mcp/session-queue.js +0 -18
- package/dist/mcp/session-queue.js.map +0 -1
- package/dist/mcp/session-types.d.ts +0 -72
- package/dist/mcp/session-types.d.ts.map +0 -1
- package/dist/mcp/session-types.js +0 -2
- package/dist/mcp/session-types.js.map +0 -1
- package/dist/round-commit-store.d.ts +0 -12
- package/dist/round-commit-store.d.ts.map +0 -1
- package/dist/round-commit-store.js +0 -13
- package/dist/round-commit-store.js.map +0 -1
- package/dist/round-gate.d.ts +0 -31
- package/dist/round-gate.d.ts.map +0 -1
- package/dist/round-gate.js +0 -259
- package/dist/round-gate.js.map +0 -1
- package/dist/round-recovery.d.ts +0 -17
- package/dist/round-recovery.d.ts.map +0 -1
- package/dist/round-recovery.js +0 -117
- package/dist/round-recovery.js.map +0 -1
- package/dist/round-report.d.ts +0 -16
- package/dist/round-report.d.ts.map +0 -1
- package/dist/round-report.js +0 -401
- package/dist/round-report.js.map +0 -1
- package/dist/runtime-services.d.ts +0 -59
- package/dist/runtime-services.d.ts.map +0 -1
- package/dist/runtime-services.js +0 -460
- package/dist/runtime-services.js.map +0 -1
- package/dist/vault-format.d.ts +0 -4
- package/dist/vault-format.d.ts.map +0 -1
- package/dist/vault-format.js +0 -4
- package/dist/vault-format.js.map +0 -1
- package/dist/vault-types.d.ts +0 -24
- package/dist/vault-types.d.ts.map +0 -1
- package/dist/vault-types.js +0 -2
- package/dist/vault-types.js.map +0 -1
- package/loopforge-policy.json +0 -340
|
@@ -0,0 +1 @@
|
|
|
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,15 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
3
|
-
"constraints": {
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
"version": "2",
|
|
3
|
+
"constraints": {
|
|
4
|
+
"retire_window": 3
|
|
5
|
+
},
|
|
6
|
+
"summary": {
|
|
7
|
+
"window": 5,
|
|
8
|
+
"health_check_interval": 1,
|
|
9
|
+
"milestone_interval": 20,
|
|
10
|
+
"max_milestones": 10,
|
|
11
|
+
"milestone_head_count": 3,
|
|
12
|
+
"milestone_tail_count": 3,
|
|
13
|
+
"enable_loop_synthesis": true
|
|
14
|
+
},
|
|
15
|
+
"engine": {
|
|
16
|
+
"feedback_flush_interval": 5,
|
|
17
|
+
"max_circuit_breaker": 3,
|
|
18
|
+
"max_rounds": 20
|
|
19
|
+
},
|
|
6
20
|
"prompt": {
|
|
7
21
|
"injection_mode": "adaptive",
|
|
8
22
|
"full_refresh_interval": 0,
|
|
9
|
-
"adaptive_refresh": true,
|
|
10
|
-
"max_l1_streak": 6,
|
|
11
|
-
"stale_round_threshold": 3,
|
|
12
|
-
"min_meaningful_sections": 4,
|
|
13
23
|
"l0_max_chars": 3000,
|
|
14
24
|
"l1_max_chars": 7000,
|
|
15
25
|
"l2_max_chars": 18000,
|
|
@@ -18,31 +28,50 @@
|
|
|
18
28
|
"l2_adaptive_milestone_factor": 1000,
|
|
19
29
|
"l2_adaptive_max_chars": 40000,
|
|
20
30
|
"l2_adaptive_subgoal_factor": 100,
|
|
21
|
-
"
|
|
31
|
+
"l1_collapse_enabled": true,
|
|
32
|
+
"base_prompt_version": "2.0.0",
|
|
33
|
+
"confusion_section_threshold": 0.15
|
|
34
|
+
},
|
|
35
|
+
"backend": {
|
|
36
|
+
"root_dir": ".loopforge"
|
|
22
37
|
},
|
|
23
|
-
"backend": { "root_dir": ".loopforge" },
|
|
24
38
|
"evolution": {
|
|
25
39
|
"max_discovered_constraints_per_round": 5,
|
|
26
40
|
"max_active_constraints": 15,
|
|
27
41
|
"max_objective_versions": 10,
|
|
28
|
-
"
|
|
42
|
+
"progress_stall_threshold": 0.05,
|
|
43
|
+
"progress_stall_rounds": 2,
|
|
44
|
+
"progress_mismatch_threshold": 0.3,
|
|
29
45
|
"criteria_dedup_threshold": 0.45,
|
|
30
46
|
"subgoal_dedup_threshold": 0.6,
|
|
31
47
|
"subgoal_match_threshold": 0.5,
|
|
48
|
+
"subgoal_auto_in_progress_threshold": 0.4,
|
|
32
49
|
"intent_drift_threshold": 0.15,
|
|
33
50
|
"subgoal_auto_complete_threshold": 0.4,
|
|
34
51
|
"constraint_match_threshold": 0.5,
|
|
35
52
|
"subgoal_drift_alignment_threshold": 0.3,
|
|
53
|
+
"subgoal_stale_rounds": 10,
|
|
36
54
|
"max_subgoals_in_prompt": 10,
|
|
37
55
|
"max_done_subgoals_in_prompt": 5,
|
|
38
|
-
"constraint_inactive_rounds": 15
|
|
56
|
+
"constraint_inactive_rounds": 15,
|
|
57
|
+
"task_continuity_threshold": 0.2
|
|
58
|
+
},
|
|
59
|
+
"checkpoint": {
|
|
60
|
+
"outcome_max_chars": 200
|
|
39
61
|
},
|
|
40
|
-
"checkpoint": { "max_carried_constraints": 10, "outcome_max_chars": 200 },
|
|
41
62
|
"state_file": {
|
|
42
63
|
"enabled": true,
|
|
43
|
-
"directory": ".loopforge/state"
|
|
64
|
+
"directory": ".loopforge/state",
|
|
65
|
+
"max_checkpoints": 5,
|
|
66
|
+
"max_summary_rounds": 5
|
|
67
|
+
},
|
|
68
|
+
"evidence": {
|
|
69
|
+
"providers": [
|
|
70
|
+
"git"
|
|
71
|
+
],
|
|
72
|
+
"timeout_ms": 120000,
|
|
73
|
+
"commands": []
|
|
44
74
|
},
|
|
45
|
-
"evidence": { "providers": ["git"], "timeout_ms": 120000, "commands": [] },
|
|
46
75
|
"mcp": {
|
|
47
76
|
"session_lease_ms": 30000,
|
|
48
77
|
"session_lease_renew_interval_ms": 10000
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "loopforge",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "External cognitive infrastructure for AI coding agents — breaks the summary cascade, provides independent verification, and enables model-directed prompt prioritization for 100+ round agent loops.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -31,20 +31,15 @@
|
|
|
31
31
|
"!dist/tests/",
|
|
32
32
|
"skills",
|
|
33
33
|
"loop_policy.json",
|
|
34
|
-
"loopforge-policy.json",
|
|
35
34
|
"LICENSE"
|
|
36
35
|
],
|
|
37
36
|
"scripts": {
|
|
38
|
-
"build": "
|
|
39
|
-
"generate-schema": "
|
|
40
|
-
"test": "
|
|
41
|
-
"test:watch": "
|
|
42
|
-
"test:long-horizon": "npm run clean:dist && tsc && node --test --test-concurrency=1 dist/tests/long-horizon-reconstruction.test.js",
|
|
43
|
-
"clean:dist": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
37
|
+
"build": "tsc && node dist/generate-schema.js",
|
|
38
|
+
"generate-schema": "tsc && node dist/generate-schema.js",
|
|
39
|
+
"test": "tsc && node dist/generate-schema.js && node --test --test-concurrency=1 dist/tests/*.test.js",
|
|
40
|
+
"test:watch": "tsc && node --test --watch dist/tests/*.test.js",
|
|
44
41
|
"check": "tsc --noEmit",
|
|
45
|
-
"check:hygiene": "node scripts/check-repository-hygiene.mjs",
|
|
46
42
|
"verify:artifacts": "node scripts/verify-artifacts.mjs",
|
|
47
|
-
"release:check": "npm run check && npm run check:hygiene && npm test && npm run verify:artifacts && npm --cache ../.npm-cache pack --dry-run --json --ignore-scripts",
|
|
48
43
|
"prepack": "npm run verify:artifacts && npm run build"
|
|
49
44
|
},
|
|
50
45
|
"repository": {
|
|
@@ -1,228 +1,211 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: perception
|
|
3
|
-
description: Drive a recoverable multi-round task through
|
|
3
|
+
description: Drive a recoverable multi-round coding task through LoopForge MCP while the Agent remains the execution owner.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Perception
|
|
7
7
|
|
|
8
|
-
Use LoopForge
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
editing files, running tools, and making technical decisions.
|
|
8
|
+
Use LoopForge when a coding task needs several rounds, must survive context
|
|
9
|
+
compression or process restart, or benefits from an auditable record of goals,
|
|
10
|
+
constraints, evidence, and decisions.
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
LoopForge maintains cognitive state. You remain the Agent that reads files,
|
|
13
|
+
edits code, runs commands, delegates work, and decides how to reason.
|
|
15
14
|
|
|
16
|
-
##
|
|
15
|
+
## Start
|
|
17
16
|
|
|
18
17
|
Call `loopforge_start` with:
|
|
19
18
|
|
|
20
|
-
- `task`: the complete user objective
|
|
21
|
-
- `constraints`: hard boundaries that must survive every round
|
|
22
|
-
- `
|
|
23
|
-
|
|
24
|
-
- `maxRounds`: an explicit safety limit when the default (100) is unsuitable;
|
|
25
|
-
- `domain`: an optional technology or repository hint;
|
|
26
|
-
- `planSource`: an optional path to a user-provided plan (reference only).
|
|
19
|
+
- `task`: the complete user objective.
|
|
20
|
+
- `constraints`: hard boundaries that must survive every round.
|
|
21
|
+
- `maxRounds`: optional safety limit. The default is 20.
|
|
22
|
+
- `domain`: optional context label.
|
|
27
23
|
|
|
28
|
-
Keep the returned `sessionId`, `
|
|
29
|
-
|
|
24
|
+
Keep the returned `sessionId`, `roundId`, prompt, and level. The `roundId`
|
|
25
|
+
anchors your next submission to the exact round it reports on — always pass it
|
|
26
|
+
back with `loopforge_next`.
|
|
30
27
|
|
|
31
|
-
##
|
|
28
|
+
## Execute a round
|
|
32
29
|
|
|
33
|
-
|
|
34
|
-
the
|
|
35
|
-
|
|
30
|
+
1. Execute the returned prompt. Do real repository work.
|
|
31
|
+
2. Use the available tools and reasoning approach that best fit the task.
|
|
32
|
+
3. Check actual evidence before claiming success.
|
|
33
|
+
4. Call `loopforge_next` with `sessionId`, the `roundId` from the most recent
|
|
34
|
+
response, and a structured `evaluation`.
|
|
35
|
+
|
|
36
|
+
If a submission comes back with a warning that its `roundId` does not match the
|
|
37
|
+
current round, the round it reported on has already committed — the returned
|
|
38
|
+
prompt is the one you missed (e.g. a lost response). Work from it and resubmit
|
|
39
|
+
with its `roundId`.
|
|
40
|
+
|
|
41
|
+
### Evaluation fields
|
|
42
|
+
|
|
43
|
+
| Field | Rule |
|
|
44
|
+
| --- | --- |
|
|
45
|
+
| `success` | `true` only when the whole objective and every hard constraint are satisfied. |
|
|
46
|
+
| `output_summary` | State what changed and what was verified this round. |
|
|
47
|
+
| `constraint_violations` | Report real violations. Use constraint IDs (`c-XXXXXXXX`) for exact matching. Do not hide violations to force progress. |
|
|
48
|
+
| `should_continue` | `false` only when the entire task is complete. |
|
|
49
|
+
| `execution_evidence` | `files_changed`, `test_results`, `success_criteria_met`, `success_criteria_remaining`, `progress_estimate`. Use criterion IDs (`cr-XXXXXXXX`) in `success_criteria_met`/`_remaining`. |
|
|
50
|
+
| `discovered_constraints` | New guardrails found this round. Will be assigned stable IDs by the compiler. |
|
|
51
|
+
| `objective_refinement` | Refine the objective when repository evidence changes its meaning. |
|
|
52
|
+
| `emerged_subtasks` | New sub-problems that surfaced. Use clear, distinct descriptions. |
|
|
53
|
+
| `completed_subtasks` | Sub-goal IDs (`sg-XXXXXXXX`) or descriptions you finished this round. |
|
|
54
|
+
| `blocked_subtasks` | Sub-goal IDs or descriptions that cannot proceed. |
|
|
55
|
+
| `canceled_subtasks` | Sub-goal IDs or descriptions that are no longer needed. |
|
|
56
|
+
| `retracted_constraints` | Constraints the agent now believes are wrong or irrelevant. |
|
|
57
|
+
| `revised_success_criteria` | Old → new revisions for criteria discovered to be incorrect. |
|
|
58
|
+
| `wrong_assumptions` | Assumptions disproved this round. |
|
|
59
|
+
| `next_action` | What you plan to do in the next round. Be specific — the verification gate compares this against your actual output. |
|
|
60
|
+
| `compression_checkpoint` | Set `true` and include `checkpoint_label` when you complete a major phase. |
|
|
61
|
+
| `drift_clarification` | Required when you pivot from your declared `next_action`. Must include specific constraint/criterion/sub-goal IDs or file paths. Filler text without concrete references will be rejected. |
|
|
62
|
+
| `prompt_requests` | `emphasize` (what to highlight next round), `expand` (sections to expand), `confusion_points` (what you're confused about). |
|
|
63
|
+
| `stop_reason` | When `should_continue=false` and `success=false`: `"gave_up"`, `"blocked"`, or `"needs_human_input"`. |
|
|
64
|
+
| `outcome` | Optional v2.12 tri-state: `"success" | "partial" | "failed" | "blocked"`. Derived from `success` when absent; `partial`/`blocked` are explicit-only. Declare `blocked` + `blocker` instead of fighting the success checks. |
|
|
65
|
+
| `blocker` | Flat description, required when `outcome="blocked"`. High-risk blockers feed the user/agent gate classification. |
|
|
66
|
+
| `retroactiveClaims` | Optional: `[{"round": 3, "claim": "fixed src/a.ts in round 3"}]` — claims that a PRIOR round satisfied a criterion; verified against that round's git evidence. |
|
|
67
|
+
| `no_change_reason` | When claiming `success` with no machine-verifiable evidence (e.g. docs-only round), declare why — downgrades the evidence check from error to info. |
|
|
68
|
+
| `worker_results` | Record delegated subtask results and discoveries from sub-agents. Each entry may carry `outcome: "success" | "partial" | "failed"`. |
|
|
69
|
+
|
|
70
|
+
Minimal evaluation:
|
|
36
71
|
|
|
37
72
|
```json
|
|
38
73
|
{
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
}
|
|
50
|
-
"agentIntent": "Add parser regression coverage next"
|
|
74
|
+
"success": false,
|
|
75
|
+
"output_summary": "Implemented the parser and added 8 passing tests.",
|
|
76
|
+
"constraint_violations": [],
|
|
77
|
+
"should_continue": true,
|
|
78
|
+
"execution_evidence": {
|
|
79
|
+
"files_changed": ["src/parser.ts", "tests/parser.test.ts"],
|
|
80
|
+
"test_results": { "passed": 8, "failed": 0, "skipped": 0 },
|
|
81
|
+
"success_criteria_met": [],
|
|
82
|
+
"success_criteria_remaining": ["All parser edge cases covered"],
|
|
83
|
+
"progress_estimate": 0.4
|
|
84
|
+
}
|
|
51
85
|
}
|
|
52
86
|
```
|
|
53
87
|
|
|
54
|
-
|
|
88
|
+
**Declared outcomes win.** With `outcome: "partial"`, the success-class
|
|
89
|
+
checks stay silent even if `success` is left `true` — declare the truth,
|
|
90
|
+
don't fight the gates.
|
|
55
91
|
|
|
56
|
-
|
|
57
|
-
`blocked`.
|
|
58
|
-
- `continuation` is only the request to start another round: `continue` or
|
|
59
|
-
`stop`.
|
|
60
|
-
- `success` does not prove the total objective is complete. Completion requires
|
|
61
|
-
runtime-verified claims for every remaining criterion, no contradictory
|
|
62
|
-
checks, and no unresolved User Gate.
|
|
63
|
-
- `blocked` requires a `blocker` object. Use `continuation: "stop"` for a
|
|
64
|
-
user decision, external dependency, or side effect that must not be guessed.
|
|
65
|
-
An Agent-resolvable blocker may use `continue`, but state the required
|
|
66
|
-
evidence and resolution.
|
|
92
|
+
## Using stable IDs
|
|
67
93
|
|
|
68
|
-
|
|
94
|
+
The prompt renders stable IDs beside every constraint, criterion, and sub-goal:
|
|
69
95
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
| `violations` | List every actual hard-constraint violation; do not hide one to obtain acceptance. Prefer `c-XXXXXXXX` IDs. |
|
|
74
|
-
| `evidence` | Report files, checks, claims and references. Agent provenance is only a claim until a runtime provider observes it. |
|
|
75
|
-
| `discoveries` | Record wrong assumptions, emerged work, durable facts and newly discovered constraints. |
|
|
76
|
-
| `subGoalEvents` | Report completed, blocked or canceled existing sub-goals. Do not invent a second sub-goal lifecycle. Prefer `sg-XXXXXXXX` IDs. |
|
|
77
|
-
| `constraintEvents` | Retire a constraint only when repository evidence shows it is no longer valid. |
|
|
78
|
-
| `criterionRevisions` | Propose an old-to-new criterion change; never silently replace the user's objective. |
|
|
79
|
-
| `objectiveRefinement` | Add a safe clarification when evidence changes the interpretation; it is validated by the runtime. |
|
|
80
|
-
| `phaseBoundaryProposal` | Suggest a phase label and reason. The runtime decides whether the boundary is real. |
|
|
81
|
-
| `contextRequest` | Per-round emphasis, expansion or confusion requests. It is consumed once and is not durable state. |
|
|
82
|
-
| `agentIntent` | Optional Agent suggestion used only for audit and drift comparison. Runtime-derived Focus, Todo and Suggested Next Action take precedence. |
|
|
83
|
-
| `driftClarification` | When drift is detected, provide a concrete explanation and a criterion/constraint ID or observed file path. Runtime validates it; do not submit a waiver boolean. |
|
|
84
|
-
|
|
85
|
-
Do not submit derived `currentFocus`, `todoProjection`, `handoff`,
|
|
86
|
-
`progress`, `failedPatterns`, `nextAction`, or `verifiedFacts` as alternate
|
|
87
|
-
facts. These are internal or derived views. A progress estimate, if present in
|
|
88
|
-
the evidence supplied to an embedding, is never authoritative.
|
|
89
|
-
|
|
90
|
-
## 3. Evidence discipline
|
|
91
|
-
|
|
92
|
-
Use stable IDs shown in the prompt:
|
|
93
|
-
|
|
94
|
-
- constraints: `[c-a3f2b1c0]`;
|
|
95
|
-
- criteria: `[cr-b5a6c7d8]`;
|
|
96
|
-
- sub-goals: `[sg-f1e2d3c4]`.
|
|
97
|
-
|
|
98
|
-
Claims should reference a concrete file, check, or provider observation. Do not
|
|
99
|
-
mark your own provenance `verified` to force progress. Runtime providers may
|
|
100
|
-
replace claimed evidence with `verified`, `contradicted`, or `unavailable`.
|
|
101
|
-
Missing provider output is unavailable, not a pass. A rejected attempt and its
|
|
102
|
-
claims are not canonical facts.
|
|
103
|
-
|
|
104
|
-
## 4. Retry, backtrack and continuation
|
|
105
|
-
|
|
106
|
-
Read the returned `decision` and `enforcementAction`:
|
|
107
|
-
|
|
108
|
-
- `accepted`: execute the returned prompt for the next round;
|
|
109
|
-
- `rejected`: correct the evidence or work and call `loopforge_retry`; keep the
|
|
110
|
-
same logical `roundId` and do not call `next` to bypass rejection;
|
|
111
|
-
- `backtracked`: use the returned restore round and requirements, then continue
|
|
112
|
-
from the new prompt;
|
|
113
|
-
- `stopped` or `terminated`: do not submit another report unless a new loop is
|
|
114
|
-
explicitly started.
|
|
115
|
-
|
|
116
|
-
Backtrack is advisory and bounded. It never changes workspace files. Follow the
|
|
117
|
-
exact paths and checks returned by LoopForge, inspect the resulting workspace,
|
|
118
|
-
and report the restoration evidence. Never improvise an unbounded destructive
|
|
119
|
-
command such as `git clean -fd` or `git reset --hard`; ask for a User Gate when
|
|
120
|
-
the required action is destructive or authorization is unclear.
|
|
121
|
-
|
|
122
|
-
## 5. User Gate and Agent Gate
|
|
123
|
-
|
|
124
|
-
For a risky action, call `loopforge_gate_check` with:
|
|
96
|
+
- **Constraints:** `[c-a3f2b1c0] No plaintext passwords`
|
|
97
|
+
- **Criteria:** `[cr-b5a6c7d8] Unit test coverage ≥ 90%`
|
|
98
|
+
- **Sub-goals:** `[sg-f1e2d3c4] Add error handling to login`
|
|
125
99
|
|
|
126
|
-
|
|
127
|
-
{
|
|
128
|
-
"description": "Apply the production database migration",
|
|
129
|
-
"scope": ["db/migrations/2026-01.sql"],
|
|
130
|
-
"effects": ["data_migration", "production"],
|
|
131
|
-
"reversibility": "recoverable",
|
|
132
|
-
"authorization": "user_required"
|
|
133
|
-
}
|
|
134
|
-
```
|
|
100
|
+
**Prefer IDs over descriptions** in `constraint_violations`, `success_criteria_met`/`_remaining`, `completed_subtasks`, `blocked_subtasks`, `canceled_subtasks`, and `drift_clarification`. Exact ID matching eliminates ambiguity — Jaccard similarity is a fallback, not the primary path.
|
|
135
101
|
|
|
136
|
-
|
|
137
|
-
payment, external communication, public API changes, irreversible or unknown
|
|
138
|
-
actions, and unknown authorization. Limit the blocked scope and continue only
|
|
139
|
-
with allowed read-only investigation or dry runs. Agent Gate is for bounded,
|
|
140
|
-
reversible, explicitly `agent_allowed` workspace work or ordinary technical
|
|
141
|
-
blockers. Resolve a User Gate with `loopforge_gate_resolve` using the exact same
|
|
142
|
-
descriptor; its `actionHash` invalidates an approval if the action changes.
|
|
102
|
+
## Backtrack — when the loop rewinds
|
|
143
103
|
|
|
144
|
-
|
|
104
|
+
When progress stalls for multiple rounds, LoopForge triggers a **backtrack**:
|
|
105
|
+
the round counter rolls back to the last clean round, failed work is discarded,
|
|
106
|
+
and a diagnosis is injected into the prompt.
|
|
145
107
|
|
|
146
|
-
|
|
108
|
+
**When you receive a backtrack prompt:**
|
|
147
109
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
110
|
+
1. **Restore your workspace first.** The prompt includes a "Workspace Restore
|
|
111
|
+
Required" section with exact `git checkout -- . && git clean -fd` commands.
|
|
112
|
+
Your working directory still contains changes from the failed rounds —
|
|
113
|
+
you MUST discard them before working.
|
|
114
|
+
2. **Read the restored state.** The prompt reflects the clean round's vault
|
|
115
|
+
state. The state file shows the correct full picture.
|
|
116
|
+
3. **Do NOT repeat the failed approach.** The diagnosis explains why the
|
|
117
|
+
previous path failed. Choose a different technique or decomposition.
|
|
118
|
+
4. **Preserved discoveries** from skipped rounds are merged into the active
|
|
119
|
+
constraints — they remain valid even though the rounds were discarded.
|
|
120
|
+
|
|
121
|
+
If you skip the workspace restore and work on dirty files, the verification
|
|
122
|
+
gate will **reject** your next submission with a `backtrack_workspace_not_restored`
|
|
123
|
+
flag.
|
|
124
|
+
|
|
125
|
+
## Drift — when you change direction
|
|
154
126
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
`
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
`
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
127
|
+
The verification gate compares your `next_action` from the previous round
|
|
128
|
+
against your actual `output_summary` this round. A mismatch triggers an
|
|
129
|
+
`intent_drift` flag.
|
|
130
|
+
|
|
131
|
+
**If you intentionally pivoted**, set `drift_clarification` with:
|
|
132
|
+
- A specific reason for the pivot.
|
|
133
|
+
- At least one concrete reference: a constraint ID (`c-XXXXXXXX`),
|
|
134
|
+
criterion ID (`cr-XXXXXXXX`), sub-goal ID (`sg-XXXXXXXX`), or changed
|
|
135
|
+
file path.
|
|
136
|
+
|
|
137
|
+
✅ Good: `"Pivoted because constraint c-a3f2b1c0 was already satisfied by src/auth.ts. The CSS fix was higher priority."`
|
|
138
|
+
|
|
139
|
+
❌ Rejected: `"I changed direction because I felt this approach was better."`
|
|
140
|
+
|
|
141
|
+
Three consecutive weak clarifications (no concrete references) will
|
|
142
|
+
**terminate the loop**.
|
|
143
|
+
|
|
144
|
+
## Interpret the result
|
|
145
|
+
|
|
146
|
+
If `prompt` is non-null, execute it and submit the next evaluation.
|
|
147
|
+
|
|
148
|
+
If `enforcementAction` is `reject`, redo the same logical round. The round ID
|
|
149
|
+
stays stable and the attempt number increases. Follow the retry requirements;
|
|
150
|
+
the rejected attempt has not been committed.
|
|
151
|
+
|
|
152
|
+
If `enforcementAction` is `backtrack`, the loop has been rolled back. Restore
|
|
153
|
+
your workspace (see Backtrack section above), then work from the restored
|
|
154
|
+
prompt at the new round number.
|
|
155
|
+
|
|
156
|
+
If `prompt` is null, inspect `stopReason`:
|
|
157
|
+
|
|
158
|
+
| Reason | Meaning |
|
|
159
|
+
| --- | --- |
|
|
160
|
+
| `completed` | The complete objective was reported finished. |
|
|
161
|
+
| `failed` | The agent gave up (`should_continue=false`, `success=false`). |
|
|
162
|
+
| `blocked` | Work cannot proceed under current constraints. Human input may be needed. |
|
|
163
|
+
| `max_rounds` | The safety limit was reached. Summarize remaining work. |
|
|
164
|
+
| `stalled` | Evaluation or execution did not produce a usable next state. |
|
|
165
|
+
| `enforcement_terminated` | Repeated invalid claims, stalled progress, or weak clarifications terminated the loop. |
|
|
166
|
+
| `paused` | The durable session remains available for resume. |
|
|
167
|
+
|
|
168
|
+
## Prompt levels
|
|
169
|
+
|
|
170
|
+
- **L0** — Same-round retry with the rejection reason and changed evidence. ~3K chars.
|
|
171
|
+
- **L1** — Normal compact continuation. ~7K chars.
|
|
172
|
+
- **L2** — Full rehydration: first round, checkpoint, goal change, or recovery. In L2 pointer mode (default), the prompt shows a structured dashboard; the full state lives in `.loopforge/state/<loopId>-state.md`. Read it before acting.
|
|
173
|
+
|
|
174
|
+
These levels control state density only. LoopForge does not choose a reasoning
|
|
175
|
+
technique for you.
|
|
176
|
+
|
|
177
|
+
## Recovery and control
|
|
178
|
+
|
|
179
|
+
- Use `loopforge_status` with `view: "session"` (default) to inspect the live round, trajectory, and the typed projection (focus/todo/phase/delegation/handoff facts).
|
|
180
|
+
- Use `loopforge_status` with `view: "all"` after a client restart to find recoverable sessions.
|
|
181
|
+
- Use `loopforge_status` with `view: "loop"` to inspect goal alignment and drift.
|
|
182
|
+
- Use `loopforge_status` with `view: "audit"` for the read-only end-of-loop verification audit (claims, gates, verdict, sequence integrity).
|
|
183
|
+
- Use `loopforge_pause` before an intentional interruption.
|
|
184
|
+
- Use `loopforge_resume` with the loop ID to reconstruct a durable session.
|
|
185
|
+
- Use `loopforge_replay` for the committed timeline.
|
|
186
|
+
- Use `loopforge_gate_check` / `loopforge_gate_resolve` to classify and record human decisions for high-risk actions.
|
|
187
|
+
- Use `loopforge_stop` only for an intentional terminal stop.
|
|
188
|
+
|
|
189
|
+
The `.loopforge/state/<loopId>-state.md` file is the authoritative full-state
|
|
190
|
+
view in L2 pointer mode. Read it at the start of each L2 round — the prompt
|
|
191
|
+
dashboard is a summary, not the complete picture.
|
|
192
|
+
|
|
193
|
+
## Delegation
|
|
194
|
+
|
|
195
|
+
Delegation does not create a separate LoopForge mode. Give each worker a
|
|
196
|
+
self-contained subtask and relevant hard constraints. Add the returned result to
|
|
197
|
+
`worker_results` so discoveries can enter the next canonical state.
|
|
198
|
+
|
|
199
|
+
## Rules
|
|
200
|
+
|
|
201
|
+
1. Execute the prompt instead of generating another prompt.
|
|
202
|
+
2. Submit one honest structured evaluation after each attempt.
|
|
203
|
+
3. Use stable IDs (`c-`/`cr-`/`sg-XXXXXXXX`) for exact matching whenever possible.
|
|
204
|
+
4. When backtrack occurs, restore the workspace before working.
|
|
205
|
+
5. When you pivot from your `next_action`, explain with concrete references in `drift_clarification`.
|
|
206
|
+
6. Treat required command evidence and verification errors as authoritative.
|
|
207
|
+
7. Keep one loop focused on one user objective.
|
|
208
|
+
8. Read the state file at the start of L2 rounds — it holds the complete picture.
|
|
209
|
+
9. Do not advance a paused or stopped session through another process.
|
|
210
|
+
10. Continue within the same Agent task when possible; LoopForge preserves state,
|
|
211
|
+
but it does not create a background Agent.
|