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
|
@@ -1 +1 @@
|
|
|
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,CAoDd;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;
|
|
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,CAoDd;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;IA+C3B,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"}
|
package/dist/backends/fs.js
CHANGED
|
@@ -250,20 +250,24 @@ export class FSBackend {
|
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
252
|
const lockPath = resolveVaultPath(this.vaultPath).replace(/\.json$/, ".lock");
|
|
253
|
-
|
|
253
|
+
// Cross-process mutex via mkdir (atomic on POSIX and Windows).
|
|
254
|
+
// Lock is held only for the duration of vault I/O (microseconds),
|
|
255
|
+
// so contention is rare and brief. Spin-wait with short pauses
|
|
256
|
+
// because Node.js has no synchronous sleep primitive.
|
|
257
|
+
const lockTimeout = Date.now() + 500;
|
|
258
|
+
for (;;) {
|
|
254
259
|
try {
|
|
255
260
|
mkdirSync(lockPath);
|
|
256
261
|
break;
|
|
257
262
|
}
|
|
258
263
|
catch {
|
|
259
|
-
if (
|
|
260
|
-
throw new Error("Vault lock timeout");
|
|
261
|
-
|
|
262
|
-
// spin-wait 10ms
|
|
263
|
-
const start = Date.now();
|
|
264
|
-
while (Date.now() - start < 10) {
|
|
265
|
-
/* spin */
|
|
264
|
+
if (Date.now() >= lockTimeout) {
|
|
265
|
+
throw new Error("Vault lock timeout (500ms)");
|
|
266
|
+
}
|
|
266
267
|
}
|
|
268
|
+
// Brief yield — 2ms per iteration, ~250 retries max
|
|
269
|
+
const spinEnd = Date.now() + 2;
|
|
270
|
+
while (Date.now() < spinEnd) { /* spin */ }
|
|
267
271
|
}
|
|
268
272
|
this.lockDepth = 1;
|
|
269
273
|
try {
|
package/dist/backends/fs.js.map
CHANGED
|
@@ -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
|
@@ -6,7 +6,14 @@
|
|
|
6
6
|
* after consecutive failures only.
|
|
7
7
|
*/
|
|
8
8
|
import { type Analysis } from "./protocol.js";
|
|
9
|
+
/** Absolute path to the skills/ directory shipped with this package.
|
|
10
|
+
* Derived from this module's location in dist/ → ../skills/. */
|
|
11
|
+
export declare const SKILLS_DIR: string;
|
|
9
12
|
export declare const TECHNIQUE_REFERENCE: Record<string, string>;
|
|
10
13
|
export declare function routeTechnique(task: string): Analysis;
|
|
11
|
-
export declare function routeTechniqueAdaptive(task: string,
|
|
14
|
+
export declare function routeTechniqueAdaptive(task: string,
|
|
15
|
+
/** @deprecated v1.15 — escalation removed; no longer read. Kept for API compat. */
|
|
16
|
+
_vaultContext?: Record<string, unknown> | null,
|
|
17
|
+
/** @deprecated v1.15 — escalation removed; no longer read. Kept for API compat. */
|
|
18
|
+
_loopId?: string, isCheckpoint?: boolean): Analysis;
|
|
12
19
|
//# sourceMappingURL=builder.d.ts.map
|
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAWvB;iEACiE;AACjE,eAAO,MAAM,UAAU,QAItB,CAAC;AA+BF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQtD,CAAC;AAgCF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAmCrD;AA8ED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM;AACZ,mFAAmF;AACnF,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAW;AACpD,mFAAmF;AACnF,OAAO,SAAK,EACZ,YAAY,UAAQ,GACnB,QAAQ,CAyCV"}
|
package/dist/builder.js
CHANGED
|
@@ -5,9 +5,18 @@
|
|
|
5
5
|
* Tier 2 (step-back / least-to-most / ToT): checkpoint boundaries or
|
|
6
6
|
* after consecutive failures only.
|
|
7
7
|
*/
|
|
8
|
-
import { getPolicy } from "./policy.js";
|
|
9
|
-
import { logEvent } from "./observability.js";
|
|
10
8
|
import { makeAnalysis, Technique, } from "./protocol.js";
|
|
9
|
+
import { fileURLToPath } from "node:url";
|
|
10
|
+
import { dirname, join } from "node:path";
|
|
11
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
12
|
+
// Skills directory — resolved at module load time from the package install
|
|
13
|
+
// location. Absolute paths ensure the Agent can find skill files regardless
|
|
14
|
+
// of cwd (critical for npm-installed loopforge where skills are under
|
|
15
|
+
// node_modules/loopforge/skills/, not at the project root).
|
|
16
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
17
|
+
/** Absolute path to the skills/ directory shipped with this package.
|
|
18
|
+
* Derived from this module's location in dist/ → ../skills/. */
|
|
19
|
+
export const SKILLS_DIR = join(dirname(fileURLToPath(import.meta.url)), "..", "skills");
|
|
11
20
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
12
21
|
// Routing table
|
|
13
22
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -29,13 +38,13 @@ const RATIONALE = {
|
|
|
29
38
|
[Technique.TREE_OF_THOUGHT]: "High risk, multi-path — explore + evaluate + prune.",
|
|
30
39
|
};
|
|
31
40
|
export const TECHNIQUE_REFERENCE = {
|
|
32
|
-
"zero-shot": "
|
|
33
|
-
"few-shot": "
|
|
34
|
-
"zero-shot-cot": "
|
|
35
|
-
"few-shot-cot": "
|
|
36
|
-
"step-back": "
|
|
37
|
-
"least-to-most": "
|
|
38
|
-
"tree-of-thought": "
|
|
41
|
+
"zero-shot": join(SKILLS_DIR, "prompt-techniques", "references", "zero-shot.md"),
|
|
42
|
+
"few-shot": join(SKILLS_DIR, "prompt-techniques", "references", "few-shot.md"),
|
|
43
|
+
"zero-shot-cot": join(SKILLS_DIR, "prompt-techniques", "references", "chain-of-thought.md"),
|
|
44
|
+
"few-shot-cot": join(SKILLS_DIR, "prompt-techniques", "references", "chain-of-thought.md"),
|
|
45
|
+
"step-back": join(SKILLS_DIR, "prompt-techniques", "references", "step-back.md"),
|
|
46
|
+
"least-to-most": join(SKILLS_DIR, "prompt-techniques", "references", "least-to-most.md"),
|
|
47
|
+
"tree-of-thought": join(SKILLS_DIR, "prompt-techniques", "references", "tree-of-thought.md"),
|
|
39
48
|
};
|
|
40
49
|
// Keyword sets for heuristic classification
|
|
41
50
|
const HIGH_LOAD_WORDS = new Set([
|
|
@@ -125,43 +134,6 @@ function downgradeToTier1(technique) {
|
|
|
125
134
|
return DOWNGRADE_TIER2_TO_TIER1[technique] ?? Technique.FEW_SHOT;
|
|
126
135
|
}
|
|
127
136
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
128
|
-
// Consecutive failure detection
|
|
129
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
130
|
-
function countConsecutiveFailures(loopId, vaultContext) {
|
|
131
|
-
if (vaultContext === null)
|
|
132
|
-
return 0;
|
|
133
|
-
const results = vaultContext.results || [];
|
|
134
|
-
if (!results.length)
|
|
135
|
-
return 0;
|
|
136
|
-
// Collect rounds with success field from feedback entries
|
|
137
|
-
const rounds = [];
|
|
138
|
-
for (const r of results) {
|
|
139
|
-
const lineage = (r.loop_lineage || r.lineage || {});
|
|
140
|
-
if (lineage.loop_id !== loopId)
|
|
141
|
-
continue;
|
|
142
|
-
const success = r.success !== undefined
|
|
143
|
-
? r.success
|
|
144
|
-
: lineage.success;
|
|
145
|
-
if (success === undefined)
|
|
146
|
-
continue; // lineage entries without merged feedback — skip
|
|
147
|
-
rounds.push({
|
|
148
|
-
round: lineage.round ?? 0,
|
|
149
|
-
success,
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
rounds.sort((a, b) => b.round - a.round);
|
|
153
|
-
let count = 0;
|
|
154
|
-
for (const rnd of rounds) {
|
|
155
|
-
if (rnd.success === false) {
|
|
156
|
-
count++;
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
break;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return count;
|
|
163
|
-
}
|
|
164
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
165
137
|
// Keyword routing restricted to a subset of techniques
|
|
166
138
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
167
139
|
function keywordRouteRestricted(task, allowedTechniques) {
|
|
@@ -197,20 +169,20 @@ function keywordRouteRestricted(task, allowedTechniques) {
|
|
|
197
169
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
198
170
|
// Tier-gated technique router (v4.0)
|
|
199
171
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
200
|
-
export function routeTechniqueAdaptive(task,
|
|
172
|
+
export function routeTechniqueAdaptive(task,
|
|
173
|
+
/** @deprecated v1.15 — escalation removed; no longer read. Kept for API compat. */
|
|
174
|
+
_vaultContext = null,
|
|
175
|
+
/** @deprecated v1.15 — escalation removed; no longer read. Kept for API compat. */
|
|
176
|
+
_loopId = "", isCheckpoint = false) {
|
|
201
177
|
// Step 1: Full keyword routing over all 7 techniques
|
|
202
178
|
const keyword = routeTechnique(task);
|
|
203
179
|
const technique = keyword.technique;
|
|
204
|
-
// Step 2: Determine which tier is allowed this round
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
const consecutiveFailures = vaultContext && loopId
|
|
208
|
-
? countConsecutiveFailures(loopId, vaultContext)
|
|
209
|
-
: 0;
|
|
180
|
+
// Step 2: Determine which tier is allowed this round.
|
|
181
|
+
// v1.15: Escalation (3 failures → Tier 2) removed. The Agent freely
|
|
182
|
+
// chooses techniques at L2; at L1, keyword routing stays in Tier 1.
|
|
210
183
|
let allowedTechniques;
|
|
211
184
|
let tierLabel;
|
|
212
185
|
if (isCheckpoint) {
|
|
213
|
-
// Checkpoint boundary: full access to all 7 techniques
|
|
214
186
|
allowedTechniques = [
|
|
215
187
|
Technique.ZERO_SHOT, Technique.FEW_SHOT,
|
|
216
188
|
Technique.ZERO_SHOT_COT, Technique.FEW_SHOT_COT,
|
|
@@ -218,20 +190,7 @@ export function routeTechniqueAdaptive(task, vaultContext = null, loopId = "", i
|
|
|
218
190
|
];
|
|
219
191
|
tierLabel = "checkpoint";
|
|
220
192
|
}
|
|
221
|
-
else if (consecutiveFailures >= tier2Failures) {
|
|
222
|
-
// Escalation: Tier 2 only
|
|
223
|
-
allowedTechniques = [
|
|
224
|
-
Technique.STEP_BACK, Technique.LEAST_TO_MOST, Technique.TREE_OF_THOUGHT,
|
|
225
|
-
];
|
|
226
|
-
tierLabel = `escalated (${consecutiveFailures} consecutive failures)`;
|
|
227
|
-
logEvent("tier2_escalation", {
|
|
228
|
-
loopId,
|
|
229
|
-
consecutiveFailures,
|
|
230
|
-
keywordTechnique: technique,
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
193
|
else {
|
|
234
|
-
// Normal: Tier 1 only
|
|
235
194
|
allowedTechniques = [
|
|
236
195
|
Technique.ZERO_SHOT, Technique.FEW_SHOT,
|
|
237
196
|
Technique.ZERO_SHOT_COT, Technique.FEW_SHOT_COT,
|
|
@@ -241,13 +200,10 @@ export function routeTechniqueAdaptive(task, vaultContext = null, loopId = "", i
|
|
|
241
200
|
// Step 3: Apply gate — if keyword result is in allowed set, use it
|
|
242
201
|
if (allowedTechniques.includes(technique)) {
|
|
243
202
|
if (tierLabel === "default")
|
|
244
|
-
return keyword;
|
|
245
|
-
const label = tierLabel === "checkpoint"
|
|
246
|
-
? `${keyword.rationale} [CHECKPOINT: full technique access]`
|
|
247
|
-
: `${keyword.rationale} [ESCALATED: Tier 2 — ${consecutiveFailures} consecutive failures]`;
|
|
203
|
+
return keyword;
|
|
248
204
|
return makeAnalysis({
|
|
249
205
|
technique,
|
|
250
|
-
rationale:
|
|
206
|
+
rationale: `${keyword.rationale} [CHECKPOINT: full technique access]`,
|
|
251
207
|
independence: keyword.independence,
|
|
252
208
|
cognitive_load: keyword.cognitive_load,
|
|
253
209
|
reference_file: keyword.reference_file,
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** Enforcement Gate — Layer 2 round-boundary runtime enforcement (v1.13).
|
|
2
|
+
*
|
|
3
|
+
* Pure-function module. Receives the verification gate's findings plus
|
|
4
|
+
* round-level context and decides whether to accept the round, reject it
|
|
5
|
+
* (force the agent to redo), or terminate the loop.
|
|
6
|
+
*
|
|
7
|
+
* This is the "runtime" that prompt-only constraint systems lack.
|
|
8
|
+
* Verification gate detects WHAT is wrong; enforcement gate decides
|
|
9
|
+
* what to DO about it.
|
|
10
|
+
*
|
|
11
|
+
* Decision semantics:
|
|
12
|
+
* - accept: round passes all checks; advance to next round as normal.
|
|
13
|
+
* - reject: agent's self-evaluation or round output is invalid; the
|
|
14
|
+
* agent receives a rejection prompt and must redo the SAME
|
|
15
|
+
* round. Round counter does NOT increment.
|
|
16
|
+
* - terminate: loop has reached an unrecoverable state; stop immediately
|
|
17
|
+
* with stopReason "enforcement_terminated".
|
|
18
|
+
*/
|
|
19
|
+
import type { VaultEntry } from "./backends/interface.js";
|
|
20
|
+
import type { EnforcementResult, SelfEvaluation, VerificationResult } from "./protocol.js";
|
|
21
|
+
/** Enforce round-boundary rules based on the verification gate's findings
|
|
22
|
+
* and the agent's self-evaluation integrity.
|
|
23
|
+
*
|
|
24
|
+
* Rules run in priority order (R1 → R5). The first rule that fires wins.
|
|
25
|
+
*
|
|
26
|
+
* @param selfEval The agent's self-evaluation for the current round.
|
|
27
|
+
* @param verifyResult The verification gate's output (from verifySelfEvaluation).
|
|
28
|
+
* @param currentRound Current round number (1-based, BEFORE increment).
|
|
29
|
+
* @param vaultEntries Vault entries for this loop (used for progress tracking).
|
|
30
|
+
* @param consecutiveRejections How many consecutive rounds have already been rejected.
|
|
31
|
+
* Starts at 0; increments on each reject; resets on accept.
|
|
32
|
+
*/
|
|
33
|
+
export declare function enforceRound(selfEval: SelfEvaluation, verifyResult: VerificationResult, currentRound: number, vaultEntries: VaultEntry[], consecutiveRejections?: number): EnforcementResult;
|
|
34
|
+
/** Build a rejection prompt for the agent.
|
|
35
|
+
*
|
|
36
|
+
* The prompt clearly states the round was rejected, why, what the agent
|
|
37
|
+
* must fix, and that the agent must redo the SAME round (not advance).
|
|
38
|
+
*
|
|
39
|
+
* @param currentRound The round number that was rejected (NOT incremented).
|
|
40
|
+
* @param task The original loop task description.
|
|
41
|
+
* @param enforceResult The enforcement decision with reason and fix instructions.
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildRejectionPrompt(currentRound: number, task: string, enforceResult: EnforcementResult): string;
|
|
44
|
+
//# sourceMappingURL=enforcement-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enforcement-gate.d.ts","sourceRoot":"","sources":["../src/enforcement-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAEd,kBAAkB,EACnB,MAAM,eAAe,CAAC;AA0MvB;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,kBAAkB,EAChC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,EAAE,EAC1B,qBAAqB,GAAE,MAAU,GAChC,iBAAiB,CAwBnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,iBAAiB,GAC/B,MAAM,CAuCR"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/** Enforcement Gate — Layer 2 round-boundary runtime enforcement (v1.13).
|
|
2
|
+
*
|
|
3
|
+
* Pure-function module. Receives the verification gate's findings plus
|
|
4
|
+
* round-level context and decides whether to accept the round, reject it
|
|
5
|
+
* (force the agent to redo), or terminate the loop.
|
|
6
|
+
*
|
|
7
|
+
* This is the "runtime" that prompt-only constraint systems lack.
|
|
8
|
+
* Verification gate detects WHAT is wrong; enforcement gate decides
|
|
9
|
+
* what to DO about it.
|
|
10
|
+
*
|
|
11
|
+
* Decision semantics:
|
|
12
|
+
* - accept: round passes all checks; advance to next round as normal.
|
|
13
|
+
* - reject: agent's self-evaluation or round output is invalid; the
|
|
14
|
+
* agent receives a rejection prompt and must redo the SAME
|
|
15
|
+
* round. Round counter does NOT increment.
|
|
16
|
+
* - terminate: loop has reached an unrecoverable state; stop immediately
|
|
17
|
+
* with stopReason "enforcement_terminated".
|
|
18
|
+
*/
|
|
19
|
+
import { makeEnforcementResult } from "./protocol.js";
|
|
20
|
+
import { entryRound } from "./verification-gate.js";
|
|
21
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
22
|
+
// Helpers
|
|
23
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
24
|
+
/** Extract progress_estimate from a vault entry's execution_evidence.
|
|
25
|
+
* Returns null if no execution evidence is available. */
|
|
26
|
+
function entryProgress(entry) {
|
|
27
|
+
const evidence = entry.execution_evidence;
|
|
28
|
+
if (!evidence)
|
|
29
|
+
return null;
|
|
30
|
+
const pe = evidence.progress_estimate;
|
|
31
|
+
return typeof pe === "number" ? pe : null;
|
|
32
|
+
}
|
|
33
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
34
|
+
// Individual enforcement rules — each returns EnforcementResult | null
|
|
35
|
+
// Rules are ordered by priority. The first non-null result wins.
|
|
36
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
37
|
+
/** R1: Agent claims success but success_criteria_remaining has items.
|
|
38
|
+
* This is a lie — the agent must either finish the criteria or
|
|
39
|
+
* set success=false honestly. Triggered by the verification gate's
|
|
40
|
+
* "success_with_remaining_criteria" error flag. */
|
|
41
|
+
function enforceSuccessWithRemainingCriteria(flags) {
|
|
42
|
+
const flag = flags.find((f) => f.check === "success_with_remaining_criteria" && f.severity === "error");
|
|
43
|
+
if (!flag)
|
|
44
|
+
return null;
|
|
45
|
+
return makeEnforcementResult({
|
|
46
|
+
action: "reject",
|
|
47
|
+
reason: flag.detail,
|
|
48
|
+
fix_instructions: "You set success=true but success criteria remain unmet. " +
|
|
49
|
+
"Either: (a) complete the remaining criteria and re-submit your self-evaluation, " +
|
|
50
|
+
"or (b) set success=false and honestly report what remains to be done.",
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/** R2: Same constraint violation appears in 3 consecutive rounds.
|
|
54
|
+
* The agent is repeating the same mistake. Triggered by the verification
|
|
55
|
+
* gate's "recurring_violation" error flag. */
|
|
56
|
+
function enforceRecurringViolation(flags) {
|
|
57
|
+
const flag = flags.find((f) => f.check === "recurring_violation" && f.severity === "error");
|
|
58
|
+
if (!flag)
|
|
59
|
+
return null;
|
|
60
|
+
return makeEnforcementResult({
|
|
61
|
+
action: "reject",
|
|
62
|
+
reason: flag.detail,
|
|
63
|
+
fix_instructions: "The same constraint violation has appeared in 3 consecutive rounds. " +
|
|
64
|
+
"You must: (a) explain WHY this violation keeps occurring, " +
|
|
65
|
+
"and (b) propose a DIFFERENT approach than what you used in the last 3 rounds. " +
|
|
66
|
+
"Do NOT retry the same strategy — it has failed 3 times.",
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/** R3: Agent claims success but did nothing verifiable.
|
|
70
|
+
* Only fires when execution_evidence IS provided (structured self-eval path)
|
|
71
|
+
* but shows no files changed AND no tests run AND success=true.
|
|
72
|
+
* Skips when execution_evidence is undefined (heuristic fallback) —
|
|
73
|
+
* heuristic evaluations have no evidence by definition. */
|
|
74
|
+
function enforceEmptySuccess(selfEval, _flags) {
|
|
75
|
+
if (!selfEval.success)
|
|
76
|
+
return null;
|
|
77
|
+
const ev = selfEval.execution_evidence;
|
|
78
|
+
// Skip if no execution_evidence at all — this is the heuristic fallback
|
|
79
|
+
// case where the agent didn't provide structured evidence.
|
|
80
|
+
if (!ev)
|
|
81
|
+
return null;
|
|
82
|
+
const filesEmpty = ev.files_changed.length === 0;
|
|
83
|
+
const testsNotRun = ev.test_results === null;
|
|
84
|
+
if (!filesEmpty || !testsNotRun)
|
|
85
|
+
return null;
|
|
86
|
+
return makeEnforcementResult({
|
|
87
|
+
action: "reject",
|
|
88
|
+
reason: "Agent claims success but execution_evidence shows no files changed " +
|
|
89
|
+
"and no tests were run. There is no verifiable evidence of work.",
|
|
90
|
+
fix_instructions: "You must provide verifiable evidence: " +
|
|
91
|
+
"(a) list the files you changed in execution_evidence.files_changed, " +
|
|
92
|
+
"and (b) run tests and report results in execution_evidence.test_results. " +
|
|
93
|
+
"If you genuinely completed the task without file changes or tests, " +
|
|
94
|
+
"explain why in detail in your output_summary.",
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/** R4: Progress has stalled for 3+ consecutive rounds.
|
|
98
|
+
* Detected by checking progress_estimate deltas across vault entries.
|
|
99
|
+
* First occurrence → REJECT (agent must change approach).
|
|
100
|
+
* Second consecutive occurrence → TERMINATE (agent cannot recover). */
|
|
101
|
+
function enforceProgressStall(_selfEval, _flags, currentRound, vaultEntries, consecutiveRejections) {
|
|
102
|
+
// Need at least 3 rounds of history
|
|
103
|
+
if (currentRound < 3)
|
|
104
|
+
return null;
|
|
105
|
+
// Collect progress estimates for the last 3 completed rounds from vault
|
|
106
|
+
const progressByRound = new Map();
|
|
107
|
+
for (const entry of vaultEntries) {
|
|
108
|
+
const rnd = entryRound(entry);
|
|
109
|
+
// Only consider rounds before the current one
|
|
110
|
+
if (rnd < 1 || rnd >= currentRound)
|
|
111
|
+
continue;
|
|
112
|
+
const pe = entryProgress(entry);
|
|
113
|
+
if (pe !== null)
|
|
114
|
+
progressByRound.set(rnd, pe);
|
|
115
|
+
}
|
|
116
|
+
// Need at least 3 data points
|
|
117
|
+
if (progressByRound.size < 3)
|
|
118
|
+
return null;
|
|
119
|
+
// Get the three most recent rounds with progress data
|
|
120
|
+
const sortedRounds = [...progressByRound.keys()].sort((a, b) => a - b);
|
|
121
|
+
const last3 = sortedRounds.slice(-3);
|
|
122
|
+
if (last3.length < 3)
|
|
123
|
+
return null;
|
|
124
|
+
// Verify these are the actual last 3 rounds (contiguous with current)
|
|
125
|
+
// Accept rounds that are within [currentRound-3, currentRound-1]
|
|
126
|
+
const expectedMin = currentRound - 3;
|
|
127
|
+
const actualMin = last3[0];
|
|
128
|
+
// Allow up to 1 round gap (some rounds may not have progress data)
|
|
129
|
+
if (actualMin < expectedMin - 1 || last3[2] > currentRound - 1)
|
|
130
|
+
return null;
|
|
131
|
+
const p1 = progressByRound.get(last3[0]);
|
|
132
|
+
const p2 = progressByRound.get(last3[1]);
|
|
133
|
+
const p3 = progressByRound.get(last3[2]);
|
|
134
|
+
const stallThreshold = 0.05;
|
|
135
|
+
const delta12 = p2 - p1;
|
|
136
|
+
const delta23 = p3 - p2;
|
|
137
|
+
// Both deltas must be below threshold AND not near completion
|
|
138
|
+
const isStalling = delta12 < stallThreshold &&
|
|
139
|
+
delta23 < stallThreshold &&
|
|
140
|
+
p3 < 0.95;
|
|
141
|
+
if (!isStalling)
|
|
142
|
+
return null;
|
|
143
|
+
// If already rejected once for stall → escalate to terminate
|
|
144
|
+
if (consecutiveRejections >= 1) {
|
|
145
|
+
return makeEnforcementResult({
|
|
146
|
+
action: "terminate",
|
|
147
|
+
reason: `Progress stalled for 3+ rounds ` +
|
|
148
|
+
`(${(p1 * 100).toFixed(0)}% → ${(p2 * 100).toFixed(0)}% → ${(p3 * 100).toFixed(0)}%) ` +
|
|
149
|
+
`and agent did not resolve after previous rejection. Terminating loop.`,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
return makeEnforcementResult({
|
|
153
|
+
action: "reject",
|
|
154
|
+
reason: `Progress has stalled: ${(p1 * 100).toFixed(0)}% → ` +
|
|
155
|
+
`${(p2 * 100).toFixed(0)}% → ${(p3 * 100).toFixed(0)}% over the ` +
|
|
156
|
+
`last 3 rounds (delta < ${(stallThreshold * 100).toFixed(0)}% each round).`,
|
|
157
|
+
fix_instructions: "Your progress has been flat for 3 rounds. You must: " +
|
|
158
|
+
"(a) explain what is blocking progress, " +
|
|
159
|
+
"(b) propose a DIFFERENT technique or task decomposition, and " +
|
|
160
|
+
"(c) set a concrete, verifiable goal for the redo of this round. " +
|
|
161
|
+
"Do NOT repeat the same approach — it has not moved progress forward.",
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
/** R5: Two consecutive rejections → terminate.
|
|
165
|
+
* The agent has been unable or unwilling to fix the identified issues
|
|
166
|
+
* across two consecutive enforcement rejections. */
|
|
167
|
+
function enforceMaxRejections(consecutiveRejections) {
|
|
168
|
+
if (consecutiveRejections < 2)
|
|
169
|
+
return null;
|
|
170
|
+
return makeEnforcementResult({
|
|
171
|
+
action: "terminate",
|
|
172
|
+
reason: `${consecutiveRejections} consecutive enforcement rejections without ` +
|
|
173
|
+
`resolution. The agent has been unable to correct the identified issues.`,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
177
|
+
// Main entry point
|
|
178
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
179
|
+
/** Enforce round-boundary rules based on the verification gate's findings
|
|
180
|
+
* and the agent's self-evaluation integrity.
|
|
181
|
+
*
|
|
182
|
+
* Rules run in priority order (R1 → R5). The first rule that fires wins.
|
|
183
|
+
*
|
|
184
|
+
* @param selfEval The agent's self-evaluation for the current round.
|
|
185
|
+
* @param verifyResult The verification gate's output (from verifySelfEvaluation).
|
|
186
|
+
* @param currentRound Current round number (1-based, BEFORE increment).
|
|
187
|
+
* @param vaultEntries Vault entries for this loop (used for progress tracking).
|
|
188
|
+
* @param consecutiveRejections How many consecutive rounds have already been rejected.
|
|
189
|
+
* Starts at 0; increments on each reject; resets on accept.
|
|
190
|
+
*/
|
|
191
|
+
export function enforceRound(selfEval, verifyResult, currentRound, vaultEntries, consecutiveRejections = 0) {
|
|
192
|
+
const { flags } = verifyResult;
|
|
193
|
+
// Run enforcement rules in priority order.
|
|
194
|
+
// Earlier rules take higher precedence.
|
|
195
|
+
const rules = [
|
|
196
|
+
() => enforceSuccessWithRemainingCriteria(flags),
|
|
197
|
+
() => enforceRecurringViolation(flags),
|
|
198
|
+
() => enforceEmptySuccess(selfEval, flags),
|
|
199
|
+
() => enforceProgressStall(selfEval, flags, currentRound, vaultEntries, consecutiveRejections),
|
|
200
|
+
() => enforceMaxRejections(consecutiveRejections),
|
|
201
|
+
];
|
|
202
|
+
for (const rule of rules) {
|
|
203
|
+
const result = rule();
|
|
204
|
+
if (result)
|
|
205
|
+
return result;
|
|
206
|
+
}
|
|
207
|
+
// All rules passed — accept the round
|
|
208
|
+
return makeEnforcementResult({
|
|
209
|
+
action: "accept",
|
|
210
|
+
reason: "",
|
|
211
|
+
fix_instructions: "",
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
/** Build a rejection prompt for the agent.
|
|
215
|
+
*
|
|
216
|
+
* The prompt clearly states the round was rejected, why, what the agent
|
|
217
|
+
* must fix, and that the agent must redo the SAME round (not advance).
|
|
218
|
+
*
|
|
219
|
+
* @param currentRound The round number that was rejected (NOT incremented).
|
|
220
|
+
* @param task The original loop task description.
|
|
221
|
+
* @param enforceResult The enforcement decision with reason and fix instructions.
|
|
222
|
+
*/
|
|
223
|
+
export function buildRejectionPrompt(currentRound, task, enforceResult) {
|
|
224
|
+
const lines = [
|
|
225
|
+
"## ⛔ Round " + currentRound + " — REJECTED",
|
|
226
|
+
"",
|
|
227
|
+
"Your self-evaluation for Round " + currentRound +
|
|
228
|
+
" was **rejected** by the enforcement gate.",
|
|
229
|
+
"",
|
|
230
|
+
"### Reason",
|
|
231
|
+
"",
|
|
232
|
+
enforceResult.reason,
|
|
233
|
+
"",
|
|
234
|
+
];
|
|
235
|
+
if (enforceResult.fix_instructions) {
|
|
236
|
+
lines.push("### Required Fix");
|
|
237
|
+
lines.push("");
|
|
238
|
+
lines.push(enforceResult.fix_instructions);
|
|
239
|
+
lines.push("");
|
|
240
|
+
}
|
|
241
|
+
lines.push("### Your Task (Round " + currentRound + " — Retry)");
|
|
242
|
+
lines.push("");
|
|
243
|
+
lines.push(task);
|
|
244
|
+
lines.push("");
|
|
245
|
+
lines.push("### Instructions");
|
|
246
|
+
lines.push("");
|
|
247
|
+
lines.push("1. Read and address each issue in **Required Fix** above.", "2. Re-execute **Round " + currentRound +
|
|
248
|
+
"** — do NOT advance to the next round.", "3. Submit a corrected self-evaluation via `loopforge_next`.", "4. Be honest in your self-evaluation — " +
|
|
249
|
+
"claiming success when criteria are unmet will be rejected again.", "5. If you believe this rejection is incorrect, " +
|
|
250
|
+
"explain why in your output_summary and the enforcement gate will re-evaluate.");
|
|
251
|
+
return lines.join("\n");
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=enforcement-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enforcement-gate.js","sourceRoot":"","sources":["../src/enforcement-gate.ts"],"names":[],"mappings":"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"}
|