loopforge 2.0.1 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -5
- package/dist/canonical-state.d.ts +23 -2
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +90 -6
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/enforcement-gate.d.ts +1 -1
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +86 -7
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +2 -10
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +56 -106
- package/dist/engine.js.map +1 -1
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +1 -8
- package/dist/evidence-provider.js.map +1 -1
- package/dist/index.d.ts +7 -7
- 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.map +1 -1
- package/dist/loop-compiler.js +511 -48
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js +23 -2
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/session.d.ts +2 -4
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +27 -50
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +32 -5
- package/dist/mcp/tools.js.map +1 -1
- package/dist/observability.d.ts +5 -36
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +9 -79
- package/dist/observability.js.map +1 -1
- package/dist/policy-metrics.d.ts +1 -0
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +2 -0
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +58 -0
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +24 -3
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +104 -0
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/protocol.d.ts +115 -12
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +40 -4
- package/dist/protocol.js.map +1 -1
- package/dist/replay.d.ts +0 -1
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +1 -87
- package/dist/replay.js.map +1 -1
- package/dist/round-coordinator.d.ts +0 -2
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +71 -76
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +1 -0
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +2 -0
- package/dist/round-driver.js.map +1 -1
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +2 -22
- package/dist/round-transaction.js.map +1 -1
- package/dist/run.d.ts +51 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +200 -0
- package/dist/run.js.map +1 -0
- package/dist/self-eval.d.ts +0 -3
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +15 -18
- package/dist/self-eval.js.map +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +13 -3
- package/dist/storage.js.map +1 -1
- package/dist/token-utils.d.ts +22 -0
- package/dist/token-utils.d.ts.map +1 -0
- package/dist/token-utils.js +46 -0
- package/dist/token-utils.js.map +1 -0
- package/dist/verification-gate.d.ts +1 -5
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +109 -58
- package/dist/verification-gate.js.map +1 -1
- package/loop_policy.json +20 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
# LoopForge
|
|
2
2
|
|
|
3
|
-
LoopForge is a cognitive
|
|
4
|
-
|
|
5
|
-
across
|
|
3
|
+
LoopForge is a durable cognitive infrastructure for multi-session AI coding
|
|
4
|
+
tasks. It maintains objectives, constraints, evidence, decisions, progress, and
|
|
5
|
+
recovery state across 100+ rounds — with hierarchical summaries, structured
|
|
6
|
+
sub-goal tracking, time-aware constraint decay, and adaptive prompt budgets.
|
|
6
7
|
|
|
7
8
|
The Agent still reads code, edits files, runs tools, and decides how to reason.
|
|
8
9
|
LoopForge does not provide a model, scheduler, or unattended worker. Its job is
|
|
9
10
|
to make a long task resumable and auditable without letting the prompt become the
|
|
10
|
-
only copy of the state.
|
|
11
|
+
only copy of the state. All similarity thresholds are policy-driven (v2.5);
|
|
12
|
+
Agent trust and stop semantics provide long-horizon observability.
|
|
11
13
|
|
|
12
|
-
LoopForge
|
|
14
|
+
LoopForge is currently available as `2.6.0`. It requires Node.js 18 or
|
|
13
15
|
newer and has no runtime dependencies.
|
|
14
16
|
|
|
15
17
|
## Install
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* The canonical state is data, not Markdown. Prompt and state-file renderers
|
|
4
4
|
* consume the same value so they cannot silently drift apart.
|
|
5
5
|
*/
|
|
6
|
-
import type {
|
|
6
|
+
import type { ConstraintMeta, LoopCompileRequest, LoopCompileResponse, MilestoneSummary, SubGoal, VerificationFlag } from "./protocol.js";
|
|
7
7
|
export declare const CANONICAL_STATE_SCHEMA_VERSION: 1;
|
|
8
8
|
export interface CanonicalLoopState {
|
|
9
9
|
schemaVersion: typeof CANONICAL_STATE_SCHEMA_VERSION;
|
|
@@ -18,6 +18,10 @@ export interface CanonicalLoopState {
|
|
|
18
18
|
hardConstraints: string[];
|
|
19
19
|
activeConstraints: string[];
|
|
20
20
|
retiredConstraints: string[];
|
|
21
|
+
/** v2.3: Constraints demoted to inactive after prolonged inactivity. */
|
|
22
|
+
inactiveConstraints: string[];
|
|
23
|
+
/** v2.3: Per-constraint lifecycle metadata. */
|
|
24
|
+
constraintMetadata: ConstraintMeta[];
|
|
21
25
|
changesSinceLastRound: string[];
|
|
22
26
|
remainingCriteria: string[];
|
|
23
27
|
blockers: string[];
|
|
@@ -27,7 +31,24 @@ export interface CanonicalLoopState {
|
|
|
27
31
|
rollingOutcomes: string[];
|
|
28
32
|
recurringIssues: string[];
|
|
29
33
|
failedPatterns: string[];
|
|
30
|
-
|
|
34
|
+
/** v2.6: derived from agent_declared milestones. */
|
|
35
|
+
checkpoints: Array<{
|
|
36
|
+
label: string;
|
|
37
|
+
declared_at_round: number;
|
|
38
|
+
outcome: string;
|
|
39
|
+
carried_constraints: string[];
|
|
40
|
+
resolved_constraints: string[];
|
|
41
|
+
}>;
|
|
42
|
+
/** v2.1: Phase-boundary milestone summaries that survive window eviction. */
|
|
43
|
+
milestones: MilestoneSummary[];
|
|
44
|
+
/** v2.1: Single-paragraph loop-level synthesis (formulaic). */
|
|
45
|
+
loopSynthesis: string;
|
|
46
|
+
/** v2.2: Structured sub-goals with compiler-managed lifecycle. */
|
|
47
|
+
subGoals: SubGoal[];
|
|
48
|
+
/** v2.5: Agent trust score [0, 1] from verification flags. */
|
|
49
|
+
agentTrustScore: number | undefined;
|
|
50
|
+
/** v2.5: Trust trend over last 10 rounds. */
|
|
51
|
+
agentTrustTrend: number[];
|
|
31
52
|
suggestedNextTask: string;
|
|
32
53
|
externalContext: string;
|
|
33
54
|
stateFilePath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-state.d.ts","sourceRoot":"","sources":["../src/canonical-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"canonical-state.d.ts","sourceRoot":"","sources":["../src/canonical-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,8BAA8B,EAAG,CAAU,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,OAAO,8BAA8B,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wEAAwE;IACxE,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,+CAA+C;IAC/C,kBAAkB,EAAE,cAAc,EAAE,CAAC;IACrC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oDAAoD;IACpD,WAAW,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAAC,oBAAoB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACjJ,6EAA6E;IAC7E,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,8DAA8D;IAC9D,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,6CAA6C;IAC7C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;KACnE,CAAC;CACH;AAID,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAYtD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAEpE;AASD;kEACkE;AAClE,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CA2J9E;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,mBAAmB,EAC7B,aAAa,EAAE,MAAM,GACpB,kBAAkB,CAiFpB"}
|
package/dist/canonical-state.js
CHANGED
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
* consume the same value so they cannot silently drift apart.
|
|
5
5
|
*/
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
|
+
import { unique } from "./token-utils.js";
|
|
7
8
|
export const CANONICAL_STATE_SCHEMA_VERSION = 1;
|
|
8
|
-
|
|
9
|
-
return [...new Set(values.filter((value) => typeof value === "string" && value.trim().length > 0).map((value) => value.trim()))];
|
|
10
|
-
}
|
|
9
|
+
// unique() imported from token-utils.ts
|
|
11
10
|
/** Deterministic JSON serialization used by state and prompt hashes. */
|
|
12
11
|
export function stableStringify(value) {
|
|
13
12
|
if (value === null || typeof value !== "object") {
|
|
@@ -85,6 +84,21 @@ export function renderCanonicalStateMarkdown(state) {
|
|
|
85
84
|
addList(lines, "Recurring Issues", state.recurringIssues);
|
|
86
85
|
addList(lines, "Failed Patterns", state.failedPatterns);
|
|
87
86
|
addList(lines, "Retired Constraints", state.retiredConstraints);
|
|
87
|
+
if (state.inactiveConstraints.length > 0) {
|
|
88
|
+
lines.push("## Inactive Constraints", "");
|
|
89
|
+
lines.push("> Demoted after prolonged inactivity. Removed from prompts ", "but kept here. Auto-reactivated if violated again.", "");
|
|
90
|
+
for (const c of state.inactiveConstraints) {
|
|
91
|
+
const meta = state.constraintMetadata.find((m) => m.text === c);
|
|
92
|
+
const age = meta
|
|
93
|
+
? state.round - (meta.last_violated_at_round || meta.discovered_at_round || 0)
|
|
94
|
+
: "?";
|
|
95
|
+
const lastV = meta?.last_violated_at_round
|
|
96
|
+
? `last violated R${meta.last_violated_at_round}`
|
|
97
|
+
: "never violated";
|
|
98
|
+
lines.push(`- ${c} (${lastV}, ${age} rounds inactive)`);
|
|
99
|
+
}
|
|
100
|
+
lines.push("");
|
|
101
|
+
}
|
|
88
102
|
if (state.nextAction) {
|
|
89
103
|
lines.push("## Next Action", "", state.nextAction, "");
|
|
90
104
|
}
|
|
@@ -95,6 +109,62 @@ export function renderCanonicalStateMarkdown(state) {
|
|
|
95
109
|
}
|
|
96
110
|
lines.push("");
|
|
97
111
|
}
|
|
112
|
+
if (state.milestones.length > 0) {
|
|
113
|
+
lines.push("## Phase History", "");
|
|
114
|
+
for (const m of state.milestones) {
|
|
115
|
+
const kindIcon = m.kind === "agent_declared"
|
|
116
|
+
? "🏁"
|
|
117
|
+
: m.kind === "criteria_milestone" ? "✅" : "📍";
|
|
118
|
+
lines.push(`### ${kindIcon} ${m.label}`, `Rounds ${m.round_range.start}–${m.round_range.end} | ` +
|
|
119
|
+
`Progress: ${(m.progress_at_boundary * 100).toFixed(0)}%`, "", `**Outcome**: ${m.outcome}`, "");
|
|
120
|
+
if (m.carried_constraints.length > 0) {
|
|
121
|
+
lines.push("**Carried Constraints**:");
|
|
122
|
+
for (const c of m.carried_constraints)
|
|
123
|
+
lines.push(`- ${c}`);
|
|
124
|
+
lines.push("");
|
|
125
|
+
}
|
|
126
|
+
if (m.resolved_constraints.length > 0) {
|
|
127
|
+
lines.push("**Resolved During Phase**:");
|
|
128
|
+
for (const c of m.resolved_constraints)
|
|
129
|
+
lines.push(`- ${c}`);
|
|
130
|
+
lines.push("");
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (state.subGoals.length > 0) {
|
|
135
|
+
lines.push("## Sub-Goal Dashboard", "");
|
|
136
|
+
for (const sg of state.subGoals) {
|
|
137
|
+
const statusIcon = sg.status === "in_progress" ? "🔄" :
|
|
138
|
+
sg.status === "done" ? "✅" :
|
|
139
|
+
sg.status === "blocked" ? "🚫" :
|
|
140
|
+
sg.status === "canceled" ? "❌" : "⏳";
|
|
141
|
+
const stale = sg.status === "pending" &&
|
|
142
|
+
state.round - sg.declared_at_round >= 10 ? " ⚠️ stale" : "";
|
|
143
|
+
const detail = sg.status === "done" && sg.completed_at_round
|
|
144
|
+
? ` (done, R${sg.completed_at_round})`
|
|
145
|
+
: sg.status === "in_progress"
|
|
146
|
+
? ` (since R${sg.status_changed_at_round})`
|
|
147
|
+
: sg.status === "pending"
|
|
148
|
+
? ` (since R${sg.declared_at_round})`
|
|
149
|
+
: sg.status === "blocked"
|
|
150
|
+
? ` (blocked R${sg.status_changed_at_round})`
|
|
151
|
+
: ` (canceled R${sg.status_changed_at_round})`;
|
|
152
|
+
lines.push(`- ${statusIcon} ${sg.description}${detail}${stale}`);
|
|
153
|
+
}
|
|
154
|
+
lines.push("");
|
|
155
|
+
}
|
|
156
|
+
if (state.agentTrustScore !== undefined) {
|
|
157
|
+
const barLen = 10;
|
|
158
|
+
const filled = Math.round(state.agentTrustScore * barLen);
|
|
159
|
+
const bar = "█".repeat(filled) + "░".repeat(barLen - filled);
|
|
160
|
+
const avg = state.agentTrustTrend.length > 0
|
|
161
|
+
? (state.agentTrustTrend.reduce((a, b) => a + b, 0) / state.agentTrustTrend.length).toFixed(2)
|
|
162
|
+
: "—";
|
|
163
|
+
lines.push("## Agent Trust", "", `${bar} ${(state.agentTrustScore * 100).toFixed(0)}%`, `Trend (last ${state.agentTrustTrend.length}): ${state.agentTrustTrend.join(" → ")}`, `Average: ${avg}`, "");
|
|
164
|
+
}
|
|
165
|
+
if (state.loopSynthesis) {
|
|
166
|
+
lines.push("## Loop Summary", "", state.loopSynthesis, "");
|
|
167
|
+
}
|
|
98
168
|
if (state.externalContext) {
|
|
99
169
|
lines.push("## External Context", "", state.externalContext, "");
|
|
100
170
|
}
|
|
@@ -134,6 +204,8 @@ export function createCanonicalLoopState(request, response, stateFilePath) {
|
|
|
134
204
|
hardConstraints: unique(objective?.hard_constraints ?? []),
|
|
135
205
|
activeConstraints: unique(response.constraints_active),
|
|
136
206
|
retiredConstraints: unique(response.constraints_retired),
|
|
207
|
+
inactiveConstraints: unique(response.constraints_inactive ?? []),
|
|
208
|
+
constraintMetadata: response.constraint_metadata ?? [],
|
|
137
209
|
changesSinceLastRound: changes,
|
|
138
210
|
remainingCriteria: unique(last?.execution_evidence?.success_criteria_remaining ?? []),
|
|
139
211
|
blockers,
|
|
@@ -143,9 +215,21 @@ export function createCanonicalLoopState(request, response, stateFilePath) {
|
|
|
143
215
|
rollingOutcomes: unique(rolling?.key_outcomes ?? []),
|
|
144
216
|
recurringIssues: unique(rolling?.recurring_issues ?? []),
|
|
145
217
|
failedPatterns: unique(rolling?.failed_patterns ?? []),
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
218
|
+
// v2.5: checkpoints derived from agent_declared milestones (unified)
|
|
219
|
+
checkpoints: (rolling?.milestones ?? [])
|
|
220
|
+
.filter((m) => m.kind === "agent_declared")
|
|
221
|
+
.map((m) => ({
|
|
222
|
+
label: m.label,
|
|
223
|
+
declared_at_round: m.generated_at_round,
|
|
224
|
+
outcome: m.outcome,
|
|
225
|
+
carried_constraints: m.carried_constraints,
|
|
226
|
+
resolved_constraints: m.resolved_constraints,
|
|
227
|
+
})),
|
|
228
|
+
milestones: rolling?.milestones ?? [],
|
|
229
|
+
loopSynthesis: rolling?.loop_synthesis ?? "",
|
|
230
|
+
subGoals: response.sub_goals ?? [],
|
|
231
|
+
agentTrustScore: response.agent_trust_score,
|
|
232
|
+
agentTrustTrend: response.agent_trust_trend ?? [],
|
|
149
233
|
suggestedNextTask: response.suggested_next_task,
|
|
150
234
|
externalContext: request.external_context?.trim() ?? "",
|
|
151
235
|
stateFilePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-state.js","sourceRoot":"","sources":["../src/canonical-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canonical-state.js","sourceRoot":"","sources":["../src/canonical-state.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,sCAAsC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,sCAAsC;AAiMtC,wBAAgB,IAAI,CAAC,IAAI,WAAwB,GAAG,IAAI,CAsBvD"}
|
package/dist/cli.js
CHANGED
|
@@ -40,7 +40,11 @@ function withoutPrompts(value) {
|
|
|
40
40
|
return value;
|
|
41
41
|
const result = {};
|
|
42
42
|
for (const [key, child] of Object.entries(value)) {
|
|
43
|
-
|
|
43
|
+
// Filter keys that contain "prompt" or "Prompt" (case-insensitive word
|
|
44
|
+
// boundary). Safer than a manual allow-list that must be updated for
|
|
45
|
+
// every new prompt-text field. prompt_artifact (meta only, no content)
|
|
46
|
+
// is preserved for audit visibility.
|
|
47
|
+
if (/\bprompt\b/i.test(key) && key !== "prompt_artifact" && key !== "promptArtifact") {
|
|
44
48
|
continue;
|
|
45
49
|
}
|
|
46
50
|
result[key] = withoutPrompts(child);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAgB,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,IAAI,GAAG,aAAa,OAAO;;;;;;;;CAQhC,CAAC;AAEF,SAAS,MAAM,CAAC,IAAc,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,GAAG,CAAC,IAAc,EAAE,IAAY;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,KAAK,CAAC,KAAc,EAAE,IAAa;IAC1C,IAAI,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;SACjE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ import type { EnforcementResult, SelfEvaluation, VerificationResult } from "./pr
|
|
|
30
30
|
* @param consecutiveRejections How many consecutive rounds have already been rejected.
|
|
31
31
|
* Starts at 0; increments on each reject; resets on accept.
|
|
32
32
|
*/
|
|
33
|
-
export declare function enforceRound(selfEval: SelfEvaluation, verifyResult: VerificationResult, currentRound: number, vaultEntries: VaultEntry[], consecutiveRejections?: number): EnforcementResult;
|
|
33
|
+
export declare function enforceRound(selfEval: SelfEvaluation, verifyResult: VerificationResult, currentRound: number, vaultEntries: VaultEntry[], consecutiveRejections?: number, skipEvidenceRules?: boolean): EnforcementResult;
|
|
34
34
|
/** Build a rejection prompt for the agent.
|
|
35
35
|
*
|
|
36
36
|
* The prompt clearly states the round was rejected, why, what the agent
|
|
@@ -1 +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;
|
|
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;AA2TvB;;;;;;;;;;;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,EACjC,iBAAiB,UAAQ,GACxB,iBAAiB,CA0BnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,iBAAiB,GAC/B,MAAM,CAuCR"}
|
package/dist/enforcement-gate.js
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { makeEnforcementResult } from "./protocol.js";
|
|
20
20
|
import { entryRound } from "./verification-gate.js";
|
|
21
|
+
import { getPolicy } from "./policy.js";
|
|
21
22
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
22
23
|
// Helpers
|
|
23
24
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -72,7 +73,9 @@ function enforceRecurringViolation(flags) {
|
|
|
72
73
|
* v1.17: execution_evidence is now MANDATORY for structured self-evaluations.
|
|
73
74
|
* Missing evidence when success=true → reject (agent must provide evidence).
|
|
74
75
|
* Empty evidence (no files + no tests) when success=true → reject. */
|
|
75
|
-
function enforceEmptySuccess(selfEval, _flags) {
|
|
76
|
+
function enforceEmptySuccess(selfEval, _flags, skipEvidenceRules = false) {
|
|
77
|
+
if (skipEvidenceRules)
|
|
78
|
+
return null; // Requires execution_evidence
|
|
76
79
|
if (!selfEval.success)
|
|
77
80
|
return null;
|
|
78
81
|
const ev = selfEval.execution_evidence;
|
|
@@ -113,7 +116,9 @@ function enforceEmptySuccess(selfEval, _flags) {
|
|
|
113
116
|
* Detected by checking progress_estimate deltas across vault entries.
|
|
114
117
|
* First occurrence → REJECT (agent must change approach).
|
|
115
118
|
* Second consecutive occurrence → TERMINATE (agent cannot recover). */
|
|
116
|
-
function enforceProgressStall(_selfEval, _flags, currentRound, vaultEntries, consecutiveRejections) {
|
|
119
|
+
function enforceProgressStall(_selfEval, _flags, currentRound, vaultEntries, consecutiveRejections, skipEvidenceRules = false) {
|
|
120
|
+
if (skipEvidenceRules)
|
|
121
|
+
return null; // Requires execution_evidence
|
|
117
122
|
// Need at least 3 rounds of history
|
|
118
123
|
if (currentRound < 3)
|
|
119
124
|
return null;
|
|
@@ -146,7 +151,7 @@ function enforceProgressStall(_selfEval, _flags, currentRound, vaultEntries, con
|
|
|
146
151
|
const p1 = progressByRound.get(last3[0]);
|
|
147
152
|
const p2 = progressByRound.get(last3[1]);
|
|
148
153
|
const p3 = progressByRound.get(last3[2]);
|
|
149
|
-
const stallThreshold =
|
|
154
|
+
const stallThreshold = getPolicy().evolution.progress_stall_threshold;
|
|
150
155
|
const delta12 = p2 - p1;
|
|
151
156
|
const delta23 = p3 - p2;
|
|
152
157
|
// Both deltas must be below threshold AND not near completion
|
|
@@ -178,7 +183,51 @@ function enforceProgressStall(_selfEval, _flags, currentRound, vaultEntries, con
|
|
|
178
183
|
check: "progress_stall",
|
|
179
184
|
});
|
|
180
185
|
}
|
|
181
|
-
/** R5:
|
|
186
|
+
/** R5: Progress completely stalled (delta = 0) for N consecutive rounds → terminate.
|
|
187
|
+
* Stricter than R4 (which triggers on delta < 5%). R4 gives the agent a chance
|
|
188
|
+
* to change approach via reject; this rule fires when progress has been exactly
|
|
189
|
+
* flat — the agent is making zero forward motion and should be stopped.
|
|
190
|
+
*
|
|
191
|
+
* Uses the engine.max_circuit_breaker policy value as the lookback window. */
|
|
192
|
+
function enforceProgressStallTerminal(_selfEval, _flags, currentRound, vaultEntries, skipEvidenceRules = false) {
|
|
193
|
+
if (skipEvidenceRules)
|
|
194
|
+
return null; // Requires execution_evidence
|
|
195
|
+
const breakerSize = getPolicy().engine.max_circuit_breaker;
|
|
196
|
+
if (currentRound < breakerSize || vaultEntries.length < breakerSize)
|
|
197
|
+
return null;
|
|
198
|
+
// Collect progress estimates for recent completed rounds.
|
|
199
|
+
const progressByRound = new Map();
|
|
200
|
+
for (const entry of vaultEntries) {
|
|
201
|
+
const rnd = entryRound(entry);
|
|
202
|
+
if (rnd < 1 || rnd >= currentRound)
|
|
203
|
+
continue;
|
|
204
|
+
const pe = entryProgress(entry);
|
|
205
|
+
if (pe !== null)
|
|
206
|
+
progressByRound.set(rnd, pe);
|
|
207
|
+
}
|
|
208
|
+
if (progressByRound.size < breakerSize)
|
|
209
|
+
return null;
|
|
210
|
+
const sortedRounds = [...progressByRound.keys()].sort((a, b) => a - b);
|
|
211
|
+
const recent = sortedRounds.slice(-breakerSize);
|
|
212
|
+
if (recent.length < breakerSize)
|
|
213
|
+
return null;
|
|
214
|
+
// Check that progress values are ALL identical (delta = 0).
|
|
215
|
+
// Use epsilon comparison — JSON round-trips can produce float drift
|
|
216
|
+
// (e.g. 0.3 vs 0.30000000000000004) that would defeat strict === .
|
|
217
|
+
const EPSILON = 1e-10;
|
|
218
|
+
const first = progressByRound.get(recent[0]);
|
|
219
|
+
const allFlat = recent.every((r) => Math.abs((progressByRound.get(r) ?? 0) - first) < EPSILON);
|
|
220
|
+
if (!allFlat || first >= 0.95)
|
|
221
|
+
return null;
|
|
222
|
+
return makeEnforcementResult({
|
|
223
|
+
action: "terminate",
|
|
224
|
+
reason: `Progress has been completely flat at ${(first * 100).toFixed(0)}% ` +
|
|
225
|
+
`for ${breakerSize} consecutive rounds. The agent is making zero ` +
|
|
226
|
+
`forward motion and cannot recover.`,
|
|
227
|
+
check: "progress_stall_terminal",
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/** R6: Two consecutive rejections → terminate.
|
|
182
231
|
* The agent has been unable or unwilling to fix the identified issues
|
|
183
232
|
* across two consecutive enforcement rejections. */
|
|
184
233
|
function enforceMaxRejections(consecutiveRejections) {
|
|
@@ -191,6 +240,34 @@ function enforceMaxRejections(consecutiveRejections) {
|
|
|
191
240
|
check: "max_rejections",
|
|
192
241
|
});
|
|
193
242
|
}
|
|
243
|
+
/** R7: Agent declared a next_action but did something unrelated.
|
|
244
|
+
* First occurrence → reject (agent must explain the gap or realign).
|
|
245
|
+
* Second consecutive → terminate (agent cannot/will not follow its own plan). */
|
|
246
|
+
function enforceIntentDrift(flags, consecutiveRejections) {
|
|
247
|
+
const flag = flags.find((f) => f.check === "intent_drift");
|
|
248
|
+
if (!flag)
|
|
249
|
+
return null;
|
|
250
|
+
if (consecutiveRejections >= 1) {
|
|
251
|
+
return makeEnforcementResult({
|
|
252
|
+
action: "terminate",
|
|
253
|
+
reason: `Agent was warned about intent-action drift but continues to do ` +
|
|
254
|
+
`work unrelated to its declared next_action. The agent cannot or ` +
|
|
255
|
+
`will not follow its own plan — terminating loop.`,
|
|
256
|
+
check: "intent_drift",
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
return makeEnforcementResult({
|
|
260
|
+
action: "reject",
|
|
261
|
+
reason: flag.detail,
|
|
262
|
+
fix_instructions: "Your declared next_action from the previous round does not match " +
|
|
263
|
+
"what you actually did this round. You must either: " +
|
|
264
|
+
"(a) explain why you pivoted and what you learned, or " +
|
|
265
|
+
"(b) redo this round and do what you said you would do. " +
|
|
266
|
+
"If you intentionally changed direction, update your objective_refinement " +
|
|
267
|
+
"and set a new next_action that reflects the new plan.",
|
|
268
|
+
check: "intent_drift",
|
|
269
|
+
});
|
|
270
|
+
}
|
|
194
271
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
195
272
|
// Main entry point
|
|
196
273
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -206,16 +283,18 @@ function enforceMaxRejections(consecutiveRejections) {
|
|
|
206
283
|
* @param consecutiveRejections How many consecutive rounds have already been rejected.
|
|
207
284
|
* Starts at 0; increments on each reject; resets on accept.
|
|
208
285
|
*/
|
|
209
|
-
export function enforceRound(selfEval, verifyResult, currentRound, vaultEntries, consecutiveRejections = 0) {
|
|
286
|
+
export function enforceRound(selfEval, verifyResult, currentRound, vaultEntries, consecutiveRejections = 0, skipEvidenceRules = false) {
|
|
210
287
|
const { flags } = verifyResult;
|
|
211
288
|
// Run enforcement rules in priority order.
|
|
212
289
|
// Earlier rules take higher precedence.
|
|
213
290
|
const rules = [
|
|
214
291
|
() => enforceSuccessWithRemainingCriteria(flags),
|
|
215
292
|
() => enforceRecurringViolation(flags),
|
|
216
|
-
() => enforceEmptySuccess(selfEval, flags),
|
|
217
|
-
() => enforceProgressStall(selfEval, flags, currentRound, vaultEntries, consecutiveRejections),
|
|
293
|
+
() => enforceEmptySuccess(selfEval, flags, skipEvidenceRules),
|
|
294
|
+
() => enforceProgressStall(selfEval, flags, currentRound, vaultEntries, consecutiveRejections, skipEvidenceRules),
|
|
295
|
+
() => enforceProgressStallTerminal(selfEval, flags, currentRound, vaultEntries, skipEvidenceRules),
|
|
218
296
|
() => enforceMaxRejections(consecutiveRejections),
|
|
297
|
+
() => enforceIntentDrift(flags, consecutiveRejections),
|
|
219
298
|
];
|
|
220
299
|
for (const rule of rules) {
|
|
221
300
|
const result = rule();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforcement-gate.js","sourceRoot":"","sources":["../src/enforcement-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"enforcement-gate.js","sourceRoot":"","sources":["../src/enforcement-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;0DAC0D;AAC1D,SAAS,aAAa,CAAC,KAAiB;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAyD,CAAC;IACjF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACtC,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,8EAA8E;AAC9E,uEAAuE;AACvE,iEAAiE;AACjE,8EAA8E;AAE9E;;;oDAGoD;AACpD,SAAS,mCAAmC,CAC1C,KAAyB;IAEzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,iCAAiC,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CAC/E,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,gBAAgB,EACd,0DAA0D;YAC1D,kFAAkF;YAClF,uEAAuE;QACzE,KAAK,EAAE,iCAAiC;KACzC,CAAC,CAAC;AACL,CAAC;AAED;;+CAE+C;AAC/C,SAAS,yBAAyB,CAChC,KAAyB;IAEzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,qBAAqB,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CACnE,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,gBAAgB,EACd,sEAAsE;YACtE,4DAA4D;YAC5D,gFAAgF;YAChF,yDAAyD;QAC3D,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAC;AACL,CAAC;AAED;;;uEAGuE;AACvE,SAAS,mBAAmB,CAC1B,QAAwB,EACxB,MAA0B,EAC1B,iBAAiB,GAAG,KAAK;IAEzB,IAAI,iBAAiB;QAAE,OAAO,IAAI,CAAC,CAAC,8BAA8B;IAClE,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,EAAE,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IAEvC,0DAA0D;IAC1D,wEAAwE;IACxE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,qBAAqB,CAAC;YAC3B,MAAM,EAAE,QAAQ;YAChB,MAAM,EACJ,2DAA2D;gBAC3D,8DAA8D;gBAC9D,qDAAqD;YACvD,gBAAgB,EACd,+DAA+D;gBAC/D,sEAAsE;gBACtE,uEAAuE;gBACvE,sEAAsE;gBACtE,qEAAqE;gBACrE,+CAA+C;YACjD,KAAK,EAAE,eAAe;SACvB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC;IAE7C,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE7C,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,QAAQ;QAChB,MAAM,EACJ,qEAAqE;YACrE,iEAAiE;QACnE,gBAAgB,EACd,wCAAwC;YACxC,sEAAsE;YACtE,2EAA2E;YAC3E,qEAAqE;YACrE,+CAA+C;QACjD,KAAK,EAAE,eAAe;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;;wEAGwE;AACxE,SAAS,oBAAoB,CAC3B,SAAyB,EACzB,MAA0B,EAC1B,YAAoB,EACpB,YAA0B,EAC1B,qBAA6B,EAC7B,iBAAiB,GAAG,KAAK;IAEzB,IAAI,iBAAiB;QAAE,OAAO,IAAI,CAAC,CAAC,8BAA8B;IAClE,oCAAoC;IACpC,IAAI,YAAY,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,wEAAwE;IACxE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,8CAA8C;QAC9C,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,YAAY;YAAE,SAAS;QAC7C,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,EAAE,KAAK,IAAI;YAAE,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,8BAA8B;IAC9B,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,sDAAsD;IACtD,MAAM,YAAY,GAAG,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,sEAAsE;IACtE,iEAAiE;IACjE,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,mEAAmE;IACnE,IAAI,SAAS,GAAG,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5E,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC;IAC1C,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC;IAC1C,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC;IAE1C,MAAM,cAAc,GAAG,SAAS,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC;IACtE,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;IAExB,8DAA8D;IAC9D,MAAM,UAAU,GACd,OAAO,GAAG,cAAc;QACxB,OAAO,GAAG,cAAc;QACxB,EAAE,GAAG,IAAI,CAAC;IAEZ,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,6DAA6D;IAC7D,IAAI,qBAAqB,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,qBAAqB,CAAC;YAC3B,MAAM,EAAE,WAAW;YACnB,MAAM,EACJ,iCAAiC;gBACjC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;gBACtF,uEAAuE;YACzE,KAAK,EAAE,gBAAgB;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,QAAQ;QAChB,MAAM,EACJ,yBAAyB,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACpD,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;YACjE,0BAA0B,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;QAC7E,gBAAgB,EACd,sDAAsD;YACtD,yCAAyC;YACzC,+DAA+D;YAC/D,kEAAkE;YAClE,sEAAsE;QACxE,KAAK,EAAE,gBAAgB;KACxB,CAAC,CAAC;AACL,CAAC;AAED;;;;;+EAK+E;AAC/E,SAAS,4BAA4B,CACnC,SAAyB,EACzB,MAA0B,EAC1B,YAAoB,EACpB,YAA0B,EAC1B,iBAAiB,GAAG,KAAK;IAEzB,IAAI,iBAAiB;QAAE,OAAO,IAAI,CAAC,CAAC,8BAA8B;IAClE,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAC3D,IAAI,YAAY,GAAG,WAAW,IAAI,YAAY,CAAC,MAAM,GAAG,WAAW;QAAE,OAAO,IAAI,CAAC;IAEjF,0DAA0D;IAC1D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,YAAY;YAAE,SAAS;QAC7C,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,EAAE,KAAK,IAAI;YAAE,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,GAAG,WAAW;QAAE,OAAO,IAAI,CAAC;IAEpD,MAAM,YAAY,GAAG,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,GAAG,WAAW;QAAE,OAAO,IAAI,CAAC;IAE7C,4DAA4D;IAC5D,oEAAoE;IACpE,mEAAmE;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;IAE/F,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAE3C,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,WAAW;QACnB,MAAM,EACJ,wCAAwC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YACpE,OAAO,WAAW,gDAAgD;YAClE,oCAAoC;QACtC,KAAK,EAAE,yBAAyB;KACjC,CAAC,CAAC;AACL,CAAC;AAED;;qDAEqD;AACrD,SAAS,oBAAoB,CAC3B,qBAA6B;IAE7B,IAAI,qBAAqB,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,WAAW;QACnB,MAAM,EACJ,GAAG,qBAAqB,8CAA8C;YACtE,2FAA2F;QAC7F,KAAK,EAAE,gBAAgB;KACxB,CAAC,CAAC;AACL,CAAC;AAED;;kFAEkF;AAClF,SAAS,kBAAkB,CACzB,KAAyB,EACzB,qBAA6B;IAE7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,IAAI,qBAAqB,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,qBAAqB,CAAC;YAC3B,MAAM,EAAE,WAAW;YACnB,MAAM,EACJ,iEAAiE;gBACjE,kEAAkE;gBAClE,kDAAkD;YACpD,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,gBAAgB,EACd,mEAAmE;YACnE,qDAAqD;YACrD,uDAAuD;YACvD,yDAAyD;YACzD,2EAA2E;YAC3E,uDAAuD;QACzD,KAAK,EAAE,cAAc;KACtB,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAwB,EACxB,YAAgC,EAChC,YAAoB,EACpB,YAA0B,EAC1B,wBAAgC,CAAC,EACjC,iBAAiB,GAAG,KAAK;IAEzB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC;IAE/B,2CAA2C;IAC3C,wCAAwC;IACxC,MAAM,KAAK,GAA0C;QACnD,GAAG,EAAE,CAAC,mCAAmC,CAAC,KAAK,CAAC;QAChD,GAAG,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC;QACtC,GAAG,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC;QAC7D,GAAG,EAAE,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,CAAC;QACjH,GAAG,EAAE,CAAC,4BAA4B,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC;QAClG,GAAG,EAAE,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;QACjD,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,CAAC;KACvD,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC;QACtB,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAED,sCAAsC;IACtC,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,EAAE;QACV,gBAAgB,EAAE,EAAE;KACrB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,IAAY,EACZ,aAAgC;IAEhC,MAAM,KAAK,GAAa;QACtB,aAAa,GAAG,YAAY,GAAG,aAAa;QAC5C,EAAE;QACF,iCAAiC,GAAG,YAAY;YAChD,4CAA4C;QAC5C,EAAE;QACF,YAAY;QACZ,EAAE;QACF,aAAa,CAAC,MAAM;QACpB,EAAE;KACH,CAAC;IAEF,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,YAAY,GAAG,WAAW,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,2DAA2D,EAC3D,wBAAwB,GAAG,YAAY;QACvC,wCAAwC,EACxC,6DAA6D,EAC7D,yCAAyC;QACzC,kEAAkE,EAClE,iDAAiD;QACjD,+EAA+E,CAChF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/engine.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import type { VaultBackend } from "./backends/interface.js";
|
|
9
9
|
import type { LoopStore } from "./loop-store.js";
|
|
10
10
|
import { type AgentLoopResult, type LoopForgeRequest, type SelfEvaluation, type SessionState } from "./protocol.js";
|
|
11
|
-
export { parseExecutionEvidence, parseCriterionRevisions, parseWorkerResults, extractSelfEvaluation, buildSelfEvaluation,
|
|
11
|
+
export { parseExecutionEvidence, parseCriterionRevisions, parseWorkerResults, extractSelfEvaluation, buildSelfEvaluation, } from "./self-eval.js";
|
|
12
12
|
/** A single sub-agent delegation record (v1.9 — AgentTool mode). */
|
|
13
13
|
export interface DelegationEntry {
|
|
14
14
|
index: number;
|
|
@@ -21,19 +21,12 @@ export interface DelegationEntry {
|
|
|
21
21
|
}
|
|
22
22
|
export interface EngineMetrics {
|
|
23
23
|
vaultWriteErrors: number;
|
|
24
|
-
vaultWriteTimeouts: number;
|
|
25
|
-
vaultWriteBytes: number;
|
|
26
|
-
silentAnalysisErrors: number;
|
|
27
|
-
hydrateCacheMisses: number;
|
|
28
|
-
feedbackBufferFlushes: number;
|
|
29
|
-
feedbackBufferMaxSize: number;
|
|
30
24
|
sessionStart: number;
|
|
31
25
|
}
|
|
32
26
|
export declare class LoopForgeEngine {
|
|
33
27
|
state: SessionState | null;
|
|
34
28
|
private backend;
|
|
35
29
|
private metrics;
|
|
36
|
-
private feedbackWriteBuffer;
|
|
37
30
|
lastTask: string | null;
|
|
38
31
|
constructor(storeOrBackend?: LoopStore | VaultBackend);
|
|
39
32
|
private resolveBackend;
|
|
@@ -43,7 +36,7 @@ export declare class LoopForgeEngine {
|
|
|
43
36
|
getMetrics(): EngineMetrics;
|
|
44
37
|
private ensureInit;
|
|
45
38
|
private persistFeedbackToVault;
|
|
46
|
-
|
|
39
|
+
private buildFeedbackEntry;
|
|
47
40
|
private persistLoopLineage;
|
|
48
41
|
/** Record sub-agent delegations for this round into the vault.
|
|
49
42
|
* Written as a lightweight journal entry so the main agent's rolling
|
|
@@ -61,7 +54,6 @@ export declare class LoopForgeEngine {
|
|
|
61
54
|
invokeLoopCompile(request: LoopForgeRequest, hydrateResults?: Record<string, unknown> | null, options?: {
|
|
62
55
|
persistLineage?: boolean;
|
|
63
56
|
}): AgentLoopResult;
|
|
64
|
-
shouldBreak(): boolean;
|
|
65
57
|
}
|
|
66
58
|
export declare function createEngine(store?: LoopStore): LoopForgeEngine;
|
|
67
59
|
//# sourceMappingURL=engine.d.ts.map
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,yBAAyB,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EASL,KAAK,eAAe,EAIpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAWvB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,yBAAyB,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EASL,KAAK,eAAe,EAIpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAWvB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAMxB,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAaD,qBAAa,eAAe;IAC1B,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAClC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAA8B;IAC7C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAEnB,cAAc,CAAC,EAAE,SAAS,GAAG,YAAY;IAQrD,OAAO,CAAC,cAAc;IAStB,iFAAiF;IACjF,UAAU,IAAI,YAAY;IAI1B,6EAA6E;IAC7E,UAAU,IAAI,aAAa;IAO3B,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,kBAAkB;IA8D1B;;yEAEqE;IACrE,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,EAAE,GACzB,IAAI;IAwCP,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA2DlE,cAAc,CACZ,OAAO,EAAE,gBAAgB,EACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC/C,eAAe;IAyElB;;;;;gEAK4D;IAC5D,YAAY,CACV,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,OAAO;IAqHV,iBAAiB,CACf,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC/C,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO,GACzC,eAAe;CAiJnB;AAMD,wBAAgB,YAAY,CAC1B,KAAK,CAAC,EAAE,SAAS,GAChB,eAAe,CAEjB"}
|