loopforge 3.7.1 → 3.8.2
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 +84 -130
- package/dist/audit.d.ts +53 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +106 -22
- package/dist/audit.js.map +1 -1
- package/dist/canonical-state.d.ts +52 -67
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +134 -147
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +103 -4
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-facts.d.ts +13 -0
- package/dist/cognitive-facts.d.ts.map +1 -1
- package/dist/cognitive-facts.js +28 -13
- package/dist/cognitive-facts.js.map +1 -1
- package/dist/committed-round.d.ts +103 -21
- package/dist/committed-round.d.ts.map +1 -1
- package/dist/committed-round.js +188 -45
- package/dist/committed-round.js.map +1 -1
- package/dist/contract-items.d.ts +55 -0
- package/dist/contract-items.d.ts.map +1 -0
- package/dist/contract-items.js +180 -0
- package/dist/contract-items.js.map +1 -0
- package/dist/enforcement-gate.d.ts +20 -2
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +197 -386
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +53 -38
- package/dist/engine.js.map +1 -1
- package/dist/evidence-claims.d.ts +4 -4
- package/dist/evidence-claims.d.ts.map +1 -1
- package/dist/evidence-claims.js +16 -14
- package/dist/evidence-claims.js.map +1 -1
- package/dist/evidence-provider.d.ts +85 -89
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +328 -184
- package/dist/evidence-provider.js.map +1 -1
- package/dist/explain.d.ts +76 -0
- package/dist/explain.d.ts.map +1 -0
- package/dist/explain.js +127 -0
- package/dist/explain.js.map +1 -0
- package/dist/generate-schema.js +152 -16
- package/dist/generate-schema.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +40 -53
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +229 -553
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-extras-parser.d.ts +0 -1
- package/dist/loop-extras-parser.d.ts.map +1 -1
- package/dist/loop-extras-parser.js +0 -4
- package/dist/loop-extras-parser.js.map +1 -1
- package/dist/loop-projection.d.ts.map +1 -1
- package/dist/loop-projection.js +3 -1
- package/dist/loop-projection.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +30 -21
- package/dist/mcp/round-lifecycle.d.ts.map +1 -1
- package/dist/mcp/round-lifecycle.js +47 -103
- package/dist/mcp/round-lifecycle.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +51 -7
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +39 -23
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +148 -163
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/submission-boundary.d.ts +89 -0
- package/dist/mcp/submission-boundary.d.ts.map +1 -0
- package/dist/mcp/submission-boundary.js +203 -0
- package/dist/mcp/submission-boundary.js.map +1 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +249 -128
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.js +2 -2
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +55 -93
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +149 -38
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts +1 -32
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +282 -435
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/prompt-policy.d.ts +1 -4
- package/dist/prompt-policy.d.ts.map +1 -1
- package/dist/prompt-policy.js +6 -7
- package/dist/prompt-policy.js.map +1 -1
- package/dist/protocol.d.ts +365 -142
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +21 -66
- package/dist/protocol.js.map +1 -1
- package/dist/replay.js +2 -2
- package/dist/replay.js.map +1 -1
- package/dist/round-contract.d.ts +69 -57
- package/dist/round-contract.d.ts.map +1 -1
- package/dist/round-contract.js +104 -64
- package/dist/round-contract.js.map +1 -1
- package/dist/round-coordinator.d.ts +36 -16
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +166 -102
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +3 -5
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +0 -1
- package/dist/round-driver.js.map +1 -1
- package/dist/round-facts.d.ts +96 -0
- package/dist/round-facts.d.ts.map +1 -0
- package/dist/round-facts.js +216 -0
- package/dist/round-facts.js.map +1 -0
- package/dist/round-transaction.d.ts +19 -9
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +90 -22
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +87 -9
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +396 -27
- package/dist/self-eval.js.map +1 -1
- package/dist/subgoal-state.d.ts +77 -0
- package/dist/subgoal-state.d.ts.map +1 -0
- package/dist/subgoal-state.js +198 -0
- package/dist/subgoal-state.js.map +1 -0
- package/dist/token-utils.d.ts +52 -19
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +83 -72
- package/dist/token-utils.js.map +1 -1
- package/dist/verification-gate.d.ts +14 -31
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +178 -496
- package/dist/verification-gate.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workspace.d.ts +9 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +17 -0
- package/dist/workspace.js.map +1 -1
- package/loop_policy.json +59 -83
- package/package.json +67 -67
- package/skills/perception/SKILL.md +218 -204
|
@@ -13,7 +13,7 @@ import { randomUUID } from "node:crypto";
|
|
|
13
13
|
import { LoopForgeEngine } from "../engine.js";
|
|
14
14
|
import { deriveGate } from "../cognitive-governance.js";
|
|
15
15
|
import { Mode, makeLoopCompileRequest, makeLoopRoundResult, } from "../protocol.js";
|
|
16
|
-
import { EvidenceCollector
|
|
16
|
+
import { EvidenceCollector } from "../evidence-provider.js";
|
|
17
17
|
import { makeRoundId, parseRoundTransactionSnapshot, prepareRoundTransaction, } from "../round-transaction.js";
|
|
18
18
|
import { RoundDriver } from "../round-driver.js";
|
|
19
19
|
import { getPolicy } from "../policy.js";
|
|
@@ -63,7 +63,7 @@ export function buildLoopRequest(session, lastEval, verificationFlags) {
|
|
|
63
63
|
objective_refinement: lastEval.objective_refinement ?? "",
|
|
64
64
|
emerged_subtasks: lastEval.emerged_subtasks ?? [],
|
|
65
65
|
// P4: Execution evidence
|
|
66
|
-
|
|
66
|
+
execution_report: lastEval.execution_report ?? undefined,
|
|
67
67
|
// P5: Self-correction
|
|
68
68
|
retracted_constraints: lastEval.retracted_constraints ?? [],
|
|
69
69
|
revised_success_criteria: lastEval.revised_success_criteria ?? [],
|
|
@@ -73,12 +73,8 @@ export function buildLoopRequest(session, lastEval, verificationFlags) {
|
|
|
73
73
|
// v1.10: Checkpoint boundary
|
|
74
74
|
compression_checkpoint: lastEval.compression_checkpoint ?? false,
|
|
75
75
|
checkpoint_label: lastEval.checkpoint_label ?? "",
|
|
76
|
-
// v1.16: Agent's declared next action
|
|
77
|
-
next_action: lastEval.next_action,
|
|
78
76
|
// v3.7.1: Sub-goal lifecycle — explicit transitions
|
|
79
77
|
subgoal_updates: lastEval.subgoal_updates ?? [],
|
|
80
|
-
// v2.8: Drift clarification
|
|
81
|
-
drift_clarification: lastEval.drift_clarification,
|
|
82
78
|
// v2.9: Model's information needs for the next prompt
|
|
83
79
|
prompt_requests: lastEval.prompt_requests,
|
|
84
80
|
// v2.12: Tri-state outcome + blocker + retroactive claims
|
|
@@ -89,9 +85,9 @@ export function buildLoopRequest(session, lastEval, verificationFlags) {
|
|
|
89
85
|
// round's Current Task. v3.4: intentionally NOT forwarded — the
|
|
90
86
|
// submission's round_contract is a PROPOSAL for the next round, and
|
|
91
87
|
// the ACTIVE contract is derived from committed rounds at compile time
|
|
92
|
-
// (
|
|
93
|
-
// retry / resume / unpause / backtrack compiles that have
|
|
94
|
-
// last_round_result. Reading this field again would reintroduce the
|
|
88
|
+
// (`deriveRoundFacts` → `deriveActiveRoundContract`), which also keeps
|
|
89
|
+
// it correct on retry / resume / unpause / backtrack compiles that have
|
|
90
|
+
// no last_round_result. Reading this field again would reintroduce the
|
|
95
91
|
// second source of truth the derivation replaced.
|
|
96
92
|
});
|
|
97
93
|
}
|
|
@@ -138,8 +134,6 @@ export class RoundLifecycle {
|
|
|
138
134
|
// v1.13: Enforcement gate state
|
|
139
135
|
consecutive_rejections: session.consecutiveRejections,
|
|
140
136
|
last_rejection_check: session.lastRejectionCheck,
|
|
141
|
-
// v2.12: Clarification streak
|
|
142
|
-
drift_clarification_streak: session.driftClarificationStreak,
|
|
143
137
|
// v2.13: Backtrack skipped files for workspace restore check
|
|
144
138
|
backtrack_skipped_files: session.backtrackSkippedFiles,
|
|
145
139
|
// M3: skipped-file fingerprints at their failed rounds (restore
|
|
@@ -210,7 +204,6 @@ export class RoundLifecycle {
|
|
|
210
204
|
lastRejectionCheck: typeof lineage.last_rejection_check === "string"
|
|
211
205
|
? lineage.last_rejection_check
|
|
212
206
|
: "",
|
|
213
|
-
driftClarificationStreak: lineage.drift_clarification_streak ?? 0,
|
|
214
207
|
backtrackSkippedFiles: lineage.backtrack_skipped_files ?? [],
|
|
215
208
|
backtrackSkippedFingerprints: parseFingerprintMap(lineage.backtrack_skipped_fingerprints),
|
|
216
209
|
backtrackTargetGitHead: typeof lineage.backtrack_target_git_head === "string" &&
|
|
@@ -231,6 +224,33 @@ export class RoundLifecycle {
|
|
|
231
224
|
/** Apply a prepared round to the session, persist, and build the result.
|
|
232
225
|
* Shared by reconcileCommittedRound, resume, and unpause — the three
|
|
233
226
|
* compile-then-persist tails were previously copy-pasted. */
|
|
227
|
+
/** Apply a processed round's counters to the session.
|
|
228
|
+
*
|
|
229
|
+
* v3.8.1: per-rule rejection tracking — same-check rejections accumulate,
|
|
230
|
+
* and a DIFFERENT rejection reason resets the counter to 1, so an agent
|
|
231
|
+
* that fixes what it was told to fix is not punished by an unrelated
|
|
232
|
+
* earlier rejection. This rule ran as two byte-identical copies (the live
|
|
233
|
+
* advance path and the crash replay); one rule, one implementation, so the
|
|
234
|
+
* two paths cannot drift.
|
|
235
|
+
*
|
|
236
|
+
* `newConsecutiveRejections` comes from the enforcement gate and already
|
|
237
|
+
* counts the round; it is only honoured when the check is unchanged. */
|
|
238
|
+
applyRoundCounters(session, pr) {
|
|
239
|
+
if (pr.action === "reject" && pr.rejectionCheck) {
|
|
240
|
+
session.consecutiveRejections =
|
|
241
|
+
pr.rejectionCheck === session.lastRejectionCheck
|
|
242
|
+
? pr.newConsecutiveRejections
|
|
243
|
+
: 1;
|
|
244
|
+
session.lastRejectionCheck = pr.rejectionCheck;
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
session.consecutiveRejections = pr.newConsecutiveRejections;
|
|
248
|
+
if (pr.action !== "reject")
|
|
249
|
+
session.lastRejectionCheck = "";
|
|
250
|
+
}
|
|
251
|
+
if (pr.newLastSelfEval)
|
|
252
|
+
session.lastSelfEval = pr.newLastSelfEval;
|
|
253
|
+
}
|
|
234
254
|
persistPrepared(session, prepared, roundSuccess, warningsOverride) {
|
|
235
255
|
session.evidenceBaseline = prepared.baseline;
|
|
236
256
|
session.roundSnapshot = prepared.snapshot;
|
|
@@ -247,6 +267,9 @@ export class RoundLifecycle {
|
|
|
247
267
|
prompt: prepared.prompt,
|
|
248
268
|
level: prepared.level,
|
|
249
269
|
roundSuccess,
|
|
270
|
+
// v3.8: the posture of the round that just committed — read from the
|
|
271
|
+
// transaction's committed result, not recomputed here.
|
|
272
|
+
verificationStatus: session.roundSnapshot?.result?.verificationStatus,
|
|
250
273
|
warnings: warningsOverride ?? session.currentWarnings ?? [],
|
|
251
274
|
};
|
|
252
275
|
}
|
|
@@ -275,21 +298,7 @@ export class RoundLifecycle {
|
|
|
275
298
|
return null;
|
|
276
299
|
const pr = recovered.result;
|
|
277
300
|
session.roundSnapshot = recovered.snapshot;
|
|
278
|
-
|
|
279
|
-
if (pr.action === "reject" && pr.rejectionCheck) {
|
|
280
|
-
session.consecutiveRejections =
|
|
281
|
-
pr.rejectionCheck === session.lastRejectionCheck
|
|
282
|
-
? pr.newConsecutiveRejections
|
|
283
|
-
: 1;
|
|
284
|
-
session.lastRejectionCheck = pr.rejectionCheck;
|
|
285
|
-
}
|
|
286
|
-
else {
|
|
287
|
-
session.consecutiveRejections = pr.newConsecutiveRejections;
|
|
288
|
-
if (pr.action !== "reject")
|
|
289
|
-
session.lastRejectionCheck = "";
|
|
290
|
-
}
|
|
291
|
-
if (pr.newLastSelfEval)
|
|
292
|
-
session.lastSelfEval = pr.newLastSelfEval;
|
|
301
|
+
this.applyRoundCounters(session, pr);
|
|
293
302
|
// L1 (v3.7.x): trajectory push guard must use the SAME judgement as the
|
|
294
303
|
// counter guard below (recovered.snapshot.round). Comparing against
|
|
295
304
|
// session.currentRound conflates two windows: the crash window (persisted
|
|
@@ -332,7 +341,6 @@ export class RoundLifecycle {
|
|
|
332
341
|
session.currentRound = restoreTarget + 1;
|
|
333
342
|
session.consecutiveRejections = 0;
|
|
334
343
|
session.lastRejectionCheck = "";
|
|
335
|
-
session.driftClarificationStreak = 0;
|
|
336
344
|
session.lastSelfEval = undefined;
|
|
337
345
|
session.currentPrompt = null;
|
|
338
346
|
this.save(session);
|
|
@@ -444,7 +452,6 @@ export class RoundLifecycle {
|
|
|
444
452
|
domain: undefined,
|
|
445
453
|
plan_source: null,
|
|
446
454
|
constraints_from_plan: [],
|
|
447
|
-
health_check_interval: 1,
|
|
448
455
|
});
|
|
449
456
|
const compileRequest = {
|
|
450
457
|
task: session.task,
|
|
@@ -458,7 +465,6 @@ export class RoundLifecycle {
|
|
|
458
465
|
domain: lcr.domain ?? "",
|
|
459
466
|
plan_source: lcr.plan_source ?? null,
|
|
460
467
|
constraints_from_plan: lcr.constraints_from_plan ?? [],
|
|
461
|
-
health_check_interval: lcr.health_check_interval,
|
|
462
468
|
max_rounds: session.maxRounds,
|
|
463
469
|
};
|
|
464
470
|
const prepared = await new RoundDriver(session.engine, this.store).prepare(compileRequest, session.loopId, session.currentRound);
|
|
@@ -529,7 +535,7 @@ export class RoundLifecycle {
|
|
|
529
535
|
/** Execute the round transaction and apply per-rule rejection tracking.
|
|
530
536
|
* MUTATES: session.roundSnapshot, session.consecutiveRejections,
|
|
531
537
|
* session.lastRejectionCheck, session.lastSelfEval,
|
|
532
|
-
* session.successTrajectory
|
|
538
|
+
* session.successTrajectory */
|
|
533
539
|
async executeRoundTransaction(session, selfEval) {
|
|
534
540
|
const snapshot = session.roundSnapshot ?? prepareRoundTransaction(session.loopId, session.currentRound, session.evidenceBaseline ?? []);
|
|
535
541
|
const completed = await new RoundDriver(session.engine, this.store).complete({
|
|
@@ -542,7 +548,6 @@ export class RoundLifecycle {
|
|
|
542
548
|
consecutiveRejections: session.consecutiveRejections,
|
|
543
549
|
lastRejectionCheck: session.lastRejectionCheck,
|
|
544
550
|
successTrajectory: session.successTrajectory,
|
|
545
|
-
driftClarificationStreak: session.driftClarificationStreak,
|
|
546
551
|
backtrackSkippedFiles: session.backtrackSkippedFiles,
|
|
547
552
|
backtrackSkippedFingerprints: session.backtrackSkippedFingerprints,
|
|
548
553
|
backtrackTargetGitHead: session.backtrackTargetGitHead,
|
|
@@ -551,25 +556,7 @@ export class RoundLifecycle {
|
|
|
551
556
|
const actualEvidence = completed.actualEvidence;
|
|
552
557
|
session.roundSnapshot = outcome.snapshot;
|
|
553
558
|
const pr = outcome.result;
|
|
554
|
-
|
|
555
|
-
// Reset on rounds without intent_drift; track substantive vs weak clarifications.
|
|
556
|
-
this.updateClarificationStreak(session, pr);
|
|
557
|
-
// Per-rule rejection tracking: same-check rejections accumulate;
|
|
558
|
-
// a different rejection reason resets the counter.
|
|
559
|
-
if (pr.action === "reject" && pr.rejectionCheck) {
|
|
560
|
-
session.consecutiveRejections =
|
|
561
|
-
pr.rejectionCheck === session.lastRejectionCheck
|
|
562
|
-
? pr.newConsecutiveRejections
|
|
563
|
-
: 1;
|
|
564
|
-
session.lastRejectionCheck = pr.rejectionCheck;
|
|
565
|
-
}
|
|
566
|
-
else {
|
|
567
|
-
session.consecutiveRejections = pr.newConsecutiveRejections;
|
|
568
|
-
if (pr.action !== "reject")
|
|
569
|
-
session.lastRejectionCheck = "";
|
|
570
|
-
}
|
|
571
|
-
if (pr.newLastSelfEval)
|
|
572
|
-
session.lastSelfEval = pr.newLastSelfEval;
|
|
559
|
+
this.applyRoundCounters(session, pr);
|
|
573
560
|
// L1 (v3.7.x): never push a REPLAYED outcome onto the trajectory. When a
|
|
574
561
|
// crash/exception window left the committed round undelivered, the replay
|
|
575
562
|
// re-executes the same round in memory — its success was already recorded
|
|
@@ -580,39 +567,6 @@ export class RoundLifecycle {
|
|
|
580
567
|
}
|
|
581
568
|
return { pr, verificationFlags: pr.verificationFlags, actualEvidence };
|
|
582
569
|
}
|
|
583
|
-
/** v2.12: Update the clarification streak based on the round result.
|
|
584
|
-
* - Substantive clarification (anchors present): keep streak — genuine pivot.
|
|
585
|
-
* - No intent_drift this round: reset streak to 0.
|
|
586
|
-
* - Weak clarification rejected by R7: streak was already consumed by
|
|
587
|
-
* enforceIntentDrift to decide reject vs terminate; staleness is handled
|
|
588
|
-
* on the enforcement side. We sync the persisted counter for crash recovery.
|
|
589
|
-
* v3.2.1: when a HIGHER-PRIORITY rule (R1–R6/R8/R9/R-EVID) rejected the
|
|
590
|
-
* round, R7 never participated — clarificationAccepted is undefined (it
|
|
591
|
-
* is only set on the continue path). Touching the streak there would
|
|
592
|
-
* pollute it with rejections unrelated to drift and terminate the loop
|
|
593
|
-
* one weak clarification early.
|
|
594
|
-
* MUTATES: session.driftClarificationStreak */
|
|
595
|
-
updateClarificationStreak(session, pr) {
|
|
596
|
-
const hasIntentDrift = pr.verificationFlags.some((f) => f.check === "intent_drift");
|
|
597
|
-
if (!hasIntentDrift) {
|
|
598
|
-
// No drift this round — reset streak
|
|
599
|
-
session.driftClarificationStreak = 0;
|
|
600
|
-
return;
|
|
601
|
-
}
|
|
602
|
-
// R7 did not participate in this round's decision (a higher-priority
|
|
603
|
-
// rule rejected/accepted first) — leave the streak untouched.
|
|
604
|
-
if (pr.clarificationAccepted === undefined)
|
|
605
|
-
return;
|
|
606
|
-
// v2.12: Clarification accepted with anchors → substantive pivot.
|
|
607
|
-
// Keep streak as-is (don't increment for genuine explanations).
|
|
608
|
-
if (pr.clarificationAccepted) {
|
|
609
|
-
return;
|
|
610
|
-
}
|
|
611
|
-
// R7 rejected (weak or no clarification). The enforcement gate
|
|
612
|
-
// already used the streak to decide reject vs terminate.
|
|
613
|
-
// Increment the persisted counter so crash recovery sees it.
|
|
614
|
-
session.driftClarificationStreak += 1;
|
|
615
|
-
}
|
|
616
570
|
/** Build a rejection result: compile a retry prompt, persist, return.
|
|
617
571
|
* MUTATES: session.roundSnapshot, session.currentPrompt, session.currentLevel */
|
|
618
572
|
async buildRejectionResult(sessionId, session, pr, verificationFlags) {
|
|
@@ -644,6 +598,7 @@ export class RoundLifecycle {
|
|
|
644
598
|
prompt: preparedRetry.prompt,
|
|
645
599
|
level: preparedRetry.level,
|
|
646
600
|
enforcementAction: "reject",
|
|
601
|
+
verificationStatus: pr.verificationStatus,
|
|
647
602
|
enforcementReason: pr.enforcementReason,
|
|
648
603
|
};
|
|
649
604
|
}
|
|
@@ -655,24 +610,11 @@ export class RoundLifecycle {
|
|
|
655
610
|
* session.currentPrompt, session.currentLevel,
|
|
656
611
|
* session.consecutiveRejections, session.lastSelfEval */
|
|
657
612
|
async buildBacktrackResult(sessionId, session, pr) {
|
|
658
|
-
// v3.
|
|
659
|
-
//
|
|
660
|
-
//
|
|
661
|
-
//
|
|
662
|
-
//
|
|
663
|
-
// commit so the failed rounds' state is gone before the agent redoes
|
|
664
|
-
// the round. DANGEROUS by design and off by default; when off, the
|
|
665
|
-
// prompt instructs manual restore and the verification gate enforces it.
|
|
666
|
-
if (getPolicy().engine.backtrack_auto_restore) {
|
|
667
|
-
const outcome = await runBacktrackAutoRestore(pr.backtrackTargetGitHead, session.currentRound);
|
|
668
|
-
logEvent("backtrack_auto_restore", {
|
|
669
|
-
sessionId,
|
|
670
|
-
loopId: session.loopId,
|
|
671
|
-
fromRound: session.currentRound,
|
|
672
|
-
ok: outcome.ok,
|
|
673
|
-
detail: outcome.detail,
|
|
674
|
-
});
|
|
675
|
-
}
|
|
613
|
+
// v3.8: LoopForge never mutates the working tree. The backtrack prompt
|
|
614
|
+
// carries the restore facts (files, fingerprints, target HEAD) and the
|
|
615
|
+
// verification gate enforces the check on the redo submission; the agent
|
|
616
|
+
// executes the restore itself. The former `backtrack_auto_restore` policy
|
|
617
|
+
// and its git stash/reset implementation were deleted.
|
|
676
618
|
const restoreTarget = pr.backtrackTarget ?? (session.currentRound - 1);
|
|
677
619
|
const newRound = restoreTarget + 1;
|
|
678
620
|
logEvent("session_backtrack", {
|
|
@@ -687,7 +629,6 @@ export class RoundLifecycle {
|
|
|
687
629
|
session.currentRound = newRound;
|
|
688
630
|
session.consecutiveRejections = 0;
|
|
689
631
|
session.lastRejectionCheck = "";
|
|
690
|
-
session.driftClarificationStreak = 0;
|
|
691
632
|
session.backtrackSkippedFiles = pr.backtrackSkippedFiles ?? [];
|
|
692
633
|
// M3: carry each skipped file's failed-round fingerprint for the
|
|
693
634
|
// machine-proven restore check on the redo submission.
|
|
@@ -725,6 +666,7 @@ export class RoundLifecycle {
|
|
|
725
666
|
stopReason: "stalled",
|
|
726
667
|
stopDetail: "Backtrack failed: RoundDriver.prepare returned null — could not compile from restore point.",
|
|
727
668
|
enforcementAction: "backtrack",
|
|
669
|
+
verificationStatus: pr.verificationStatus,
|
|
728
670
|
enforcementReason: pr.enforcementReason,
|
|
729
671
|
};
|
|
730
672
|
}
|
|
@@ -747,6 +689,7 @@ export class RoundLifecycle {
|
|
|
747
689
|
prompt: fullPrompt,
|
|
748
690
|
level: prepared.level,
|
|
749
691
|
enforcementAction: "backtrack",
|
|
692
|
+
verificationStatus: pr.verificationStatus,
|
|
750
693
|
enforcementReason: pr.enforcementReason,
|
|
751
694
|
warnings: prepared?.warnings ?? [],
|
|
752
695
|
};
|
|
@@ -770,6 +713,7 @@ export class RoundLifecycle {
|
|
|
770
713
|
stopReason: "enforcement_terminated",
|
|
771
714
|
stopDetail: pr.enforcementReason ?? "The enforcement gate terminated the loop.",
|
|
772
715
|
enforcementAction: "terminate",
|
|
716
|
+
verificationStatus: pr.verificationStatus,
|
|
773
717
|
enforcementReason: pr.enforcementReason,
|
|
774
718
|
};
|
|
775
719
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"round-lifecycle.js","sourceRoot":"","sources":["../../src/mcp/round-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"round-lifecycle.js","sourceRoot":"","sources":["../../src/mcp/round-lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAsDlD,eAAO,MAAM,mBAAmB,QAgBtB,CAAC;AAyDX,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,YAAY,CAAoC;gBAE5C,KAAK,CAAC,EAAE,SAAS;IAI7B,KAAK,IAAI,IAAI;YAiBC,UAAU;IA4BxB,OAAO,CAAC,KAAK;YAUC,QAAQ;YAmDR,WAAW;CA+E1B"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -11,6 +11,38 @@ import { isRecord } from "../token-utils.js";
|
|
|
11
11
|
import { getPolicy } from "../policy.js";
|
|
12
12
|
import { VERSION } from "../version.js";
|
|
13
13
|
const SERVER_INFO = { name: "loopforge-mcp", version: VERSION };
|
|
14
|
+
/** v3.8: Error codes whose fix is a corrected payload the agent may resend.
|
|
15
|
+
* Everything else is a state/transport condition. */
|
|
16
|
+
const RETRYABLE_ERROR_CODES = new Set([
|
|
17
|
+
"evaluation_invalid",
|
|
18
|
+
"contract_invalid",
|
|
19
|
+
"policy_invalid",
|
|
20
|
+
"round_id_required",
|
|
21
|
+
"round_id_mismatch",
|
|
22
|
+
"invalid_argument",
|
|
23
|
+
]);
|
|
24
|
+
/** v3.8: The uniform tool result envelope. A handler returns the stable code in
|
|
25
|
+
* `error` and the human sentence in `errorMessage` (absent → the code is also
|
|
26
|
+
* the message, for the errors whose code IS self-explanatory); every other
|
|
27
|
+
* result is `ok: true` with its payload unchanged. */
|
|
28
|
+
function applyToolEnvelope(output) {
|
|
29
|
+
const code = typeof output.error === "string" ? output.error : null;
|
|
30
|
+
if (code === null)
|
|
31
|
+
return { ok: true, ...output };
|
|
32
|
+
const { error: _error, errorMessage, details, sessionId, roundId, ...rest } = output;
|
|
33
|
+
return {
|
|
34
|
+
ok: false,
|
|
35
|
+
error: {
|
|
36
|
+
code,
|
|
37
|
+
message: typeof errorMessage === "string" && errorMessage.length > 0 ? errorMessage : code,
|
|
38
|
+
retryable: RETRYABLE_ERROR_CODES.has(code),
|
|
39
|
+
...(typeof sessionId === "string" ? { sessionId } : {}),
|
|
40
|
+
...(typeof roundId === "string" ? { roundId } : {}),
|
|
41
|
+
...(details !== undefined ? { details } : {}),
|
|
42
|
+
},
|
|
43
|
+
...rest,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
14
46
|
const SUPPORTED_PROTOCOL_VERSIONS = new Set([
|
|
15
47
|
"2024-11-05",
|
|
16
48
|
"2025-03-26",
|
|
@@ -21,9 +53,16 @@ export const SERVER_INSTRUCTIONS = [
|
|
|
21
53
|
"Use LoopForge directly for long-running work. Start by calling loopforge_status ",
|
|
22
54
|
"with view=all to list loops, then loopforge_status for a matching session or ",
|
|
23
55
|
"loopforge_start for a new one. ",
|
|
56
|
+
// v3.8.1: the report fields named here must exist. The old text asked for
|
|
57
|
+
// "remaining criteria" and "a concrete next action" — `success_criteria_remaining`
|
|
58
|
+
// and `next_action` were both deleted in v3.8, so the runtime was instructing
|
|
59
|
+
// every client to submit fields it would drop.
|
|
24
60
|
"Before each agent-process boundary, call loopforge_next with the roundId from ",
|
|
25
|
-
"the most recent response, honest
|
|
26
|
-
"
|
|
61
|
+
"the most recent response, one honest evaluation (success, output_summary, ",
|
|
62
|
+
"constraint_violations, should_continue) plus an execution_report carrying ",
|
|
63
|
+
"files_changed, tests_reported, criterion_claims and contract_item_claims. ",
|
|
64
|
+
"Claims never verify themselves: only machine observations do. ",
|
|
65
|
+
"Follow reject or backtrack prompts and retry loopforge_next. ",
|
|
27
66
|
"Keep one LoopForge session across outer agent rounds. ",
|
|
28
67
|
"Do not replace these MCP calls with shell or CLI wrappers.",
|
|
29
68
|
].join("");
|
|
@@ -169,11 +208,16 @@ export class McpServer {
|
|
|
169
208
|
throw error;
|
|
170
209
|
}
|
|
171
210
|
const output = await handler(this.mgr, args);
|
|
211
|
+
// v3.8: the uniform tool result envelope — every tool answers with
|
|
212
|
+
// { ok: true, ...payload } or { ok: false, error: ToolError }. Handlers
|
|
213
|
+
// keep returning their in-band error string; this boundary is the single
|
|
214
|
+
// place that turns it into the wire contract.
|
|
215
|
+
const wrapped = applyToolEnvelope(output);
|
|
172
216
|
// v2.14: enforce the declared output contracts — a handler output that
|
|
173
217
|
// violates its outputSchema is a contract bug, surfaced as a clean
|
|
174
218
|
// JSON-RPC error instead of silently shipping a schema-violating result.
|
|
175
219
|
try {
|
|
176
|
-
validateToolOutput(name,
|
|
220
|
+
validateToolOutput(name, wrapped);
|
|
177
221
|
}
|
|
178
222
|
catch (error) {
|
|
179
223
|
if (error instanceof ToolInputValidationError) {
|
|
@@ -181,7 +225,7 @@ export class McpServer {
|
|
|
181
225
|
}
|
|
182
226
|
throw error;
|
|
183
227
|
}
|
|
184
|
-
const isError =
|
|
228
|
+
const isError = wrapped.ok === false;
|
|
185
229
|
// Extract the compiled prompt (present in start/next/resume responses).
|
|
186
230
|
// MCP content annotations signal priority to the host so it can
|
|
187
231
|
// preserve critical assistant-facing content during compaction.
|
|
@@ -199,7 +243,7 @@ export class McpServer {
|
|
|
199
243
|
});
|
|
200
244
|
// Secondary: structured metadata (sessionId, round, level, warnings,
|
|
201
245
|
// enforcementAction, etc.) without the prompt.
|
|
202
|
-
const { prompt: _prompt, ...meta } =
|
|
246
|
+
const { prompt: _prompt, ...meta } = wrapped;
|
|
203
247
|
content.push({
|
|
204
248
|
type: "text",
|
|
205
249
|
text: JSON.stringify(meta),
|
|
@@ -209,7 +253,7 @@ export class McpServer {
|
|
|
209
253
|
else if (isError) {
|
|
210
254
|
content.push({
|
|
211
255
|
type: "text",
|
|
212
|
-
text: JSON.stringify(
|
|
256
|
+
text: JSON.stringify(wrapped),
|
|
213
257
|
annotations: { priority: 1.0, audience: ["user", "assistant"] },
|
|
214
258
|
});
|
|
215
259
|
}
|
|
@@ -217,7 +261,7 @@ export class McpServer {
|
|
|
217
261
|
// Non-prompt tools (status, list, replay, health, pause)
|
|
218
262
|
content.push({
|
|
219
263
|
type: "text",
|
|
220
|
-
text: JSON.stringify(
|
|
264
|
+
text: JSON.stringify(wrapped),
|
|
221
265
|
annotations: { priority: 0.5, audience: ["assistant"] },
|
|
222
266
|
});
|
|
223
267
|
}
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|