loopforge 3.2.1 → 3.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 +67 -67
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +7 -34
- package/dist/audit.js.map +1 -1
- package/dist/canonical-state.d.ts +71 -4
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +176 -9
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +16 -18
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-facts.d.ts +17 -0
- package/dist/cognitive-facts.d.ts.map +1 -0
- package/dist/cognitive-facts.js +99 -0
- package/dist/cognitive-facts.js.map +1 -0
- package/dist/committed-round.d.ts +59 -0
- package/dist/committed-round.d.ts.map +1 -0
- package/dist/committed-round.js +222 -0
- package/dist/committed-round.js.map +1 -0
- package/dist/enforcement-gate.d.ts +4 -2
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +339 -301
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +16 -4
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +63 -15
- package/dist/engine.js.map +1 -1
- package/dist/evidence-claims.d.ts.map +1 -1
- package/dist/evidence-claims.js +21 -39
- package/dist/evidence-claims.js.map +1 -1
- package/dist/evidence-provider.d.ts +29 -0
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +93 -16
- package/dist/evidence-provider.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +21 -4
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +244 -66
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-projection.d.ts +5 -25
- package/dist/loop-projection.d.ts.map +1 -1
- package/dist/loop-projection.js +18 -134
- package/dist/loop-projection.js.map +1 -1
- package/dist/loop-store.d.ts +5 -2
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +6 -8
- package/dist/mcp/round-lifecycle.d.ts.map +1 -1
- package/dist/mcp/round-lifecycle.js +61 -52
- package/dist/mcp/round-lifecycle.js.map +1 -1
- package/dist/mcp/server.js +3 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +14 -3
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +174 -52
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.d.ts +12 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +160 -52
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.d.ts +0 -7
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +15 -55
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +22 -20
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +24 -38
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +120 -140
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/protocol.d.ts +57 -23
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +10 -4
- package/dist/protocol.js.map +1 -1
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +21 -22
- package/dist/replay.js.map +1 -1
- package/dist/round-contract.d.ts +64 -0
- package/dist/round-contract.d.ts.map +1 -0
- package/dist/round-contract.js +80 -0
- package/dist/round-contract.js.map +1 -0
- package/dist/round-coordinator.d.ts +5 -3
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +33 -29
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +0 -1
- 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-transaction.d.ts +0 -1
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +0 -1
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +29 -34
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +112 -148
- package/dist/self-eval.js.map +1 -1
- package/dist/verification-gate.d.ts +53 -12
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +462 -90
- package/dist/verification-gate.js.map +1 -1
- package/dist/workspace.d.ts +29 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +61 -0
- package/dist/workspace.js.map +1 -0
- package/loop_policy.json +5 -13
- package/package.json +1 -1
- package/skills/perception/SKILL.md +135 -136
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/** Canonical read model for committed rounds.
|
|
2
|
+
*
|
|
3
|
+
* Durable documents remain the source of truth. This module is the only
|
|
4
|
+
* place that interprets their transaction envelope or the compiler's merged
|
|
5
|
+
* lineage representation. Consumers receive one stable, read-only view.
|
|
6
|
+
*/
|
|
7
|
+
import type { ProviderSnapshot } from "./evidence-provider.js";
|
|
8
|
+
import type { VaultEntry } from "./loop-store.js";
|
|
9
|
+
import type { ExecutionEvidence, PromptArtifact, RoundContract, RoundOutcome, SelfEvaluation, VerificationFlag } from "./protocol.js";
|
|
10
|
+
import type { RoundProcessResult } from "./round-coordinator.js";
|
|
11
|
+
export type CommittedAction = "continue" | "stop" | "backtrack";
|
|
12
|
+
export interface CommittedRoundView {
|
|
13
|
+
readonly source: "feedback" | "merged";
|
|
14
|
+
readonly sourceEntry: VaultEntry | Record<string, unknown>;
|
|
15
|
+
readonly loopId: string;
|
|
16
|
+
readonly round: number;
|
|
17
|
+
readonly roundId: string;
|
|
18
|
+
readonly sequence?: number;
|
|
19
|
+
readonly attempt: number;
|
|
20
|
+
readonly promptArtifact: PromptArtifact | null;
|
|
21
|
+
readonly evaluation: SelfEvaluation | null;
|
|
22
|
+
readonly executionEvidence: ExecutionEvidence | null;
|
|
23
|
+
readonly verificationFlags: VerificationFlag[];
|
|
24
|
+
readonly result: RoundProcessResult | null;
|
|
25
|
+
readonly action: CommittedAction;
|
|
26
|
+
readonly success: boolean;
|
|
27
|
+
readonly outcome: RoundOutcome | null;
|
|
28
|
+
readonly contractProposal: RoundContract | null;
|
|
29
|
+
readonly beforeEvidence: ProviderSnapshot[];
|
|
30
|
+
readonly afterEvidence: ProviderSnapshot[];
|
|
31
|
+
readonly roundEvidence: ProviderSnapshot[];
|
|
32
|
+
/** Normalized round-level declarations used by compiler projections. */
|
|
33
|
+
readonly outputSummary?: string;
|
|
34
|
+
readonly constraintViolations?: string[];
|
|
35
|
+
readonly discoveredConstraints?: string[];
|
|
36
|
+
readonly activeConstraints?: string[];
|
|
37
|
+
readonly retractedConstraints?: string[];
|
|
38
|
+
readonly emergedSubtasks?: string[];
|
|
39
|
+
readonly completedSubtasks?: string[];
|
|
40
|
+
readonly blockedSubtasks?: string[];
|
|
41
|
+
readonly canceledSubtasks?: string[];
|
|
42
|
+
}
|
|
43
|
+
/** Decode a durable :feedback entry. Reject/terminate/in-flight envelopes are
|
|
44
|
+
* not committed history and therefore do not produce a view. */
|
|
45
|
+
export declare function decodeCommittedRound(entry: VaultEntry): CommittedRoundView | null;
|
|
46
|
+
/** Decode an in-memory lineage entry after the engine merged its committed
|
|
47
|
+
* feedback. The merged shape is intentionally accepted only when stamped
|
|
48
|
+
* with committed_action. */
|
|
49
|
+
export declare function decodeMergedRound(entry: unknown): CommittedRoundView | null;
|
|
50
|
+
/** Normalize committed history: rollback directives disappear, later records
|
|
51
|
+
* replace earlier records for the same logical round, and output is ascending. */
|
|
52
|
+
export declare function historyRounds(views: Iterable<CommittedRoundView | null>, beforeRound?: number): CommittedRoundView[];
|
|
53
|
+
export declare function committedRoundsFromEntries(entries: VaultEntry[], beforeRound?: number): CommittedRoundView[];
|
|
54
|
+
export declare function mergedRoundsFromEntries(entries: unknown[], beforeRound?: number): CommittedRoundView[];
|
|
55
|
+
/** Machine-observed git motion for the most recent contiguous window.
|
|
56
|
+
* Consumers must decode durable or hydrated entries before calling this;
|
|
57
|
+
* transaction-envelope interpretation stays confined to this module. */
|
|
58
|
+
export declare function machineGitMotionSeries(rounds: ReadonlyArray<CommittedRoundView>, currentRound: number, lookback: number): boolean[] | null;
|
|
59
|
+
//# sourceMappingURL=committed-round.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"committed-round.d.ts","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/** Canonical read model for committed rounds.
|
|
2
|
+
*
|
|
3
|
+
* Durable documents remain the source of truth. This module is the only
|
|
4
|
+
* place that interprets their transaction envelope or the compiler's merged
|
|
5
|
+
* lineage representation. Consumers receive one stable, read-only view.
|
|
6
|
+
*/
|
|
7
|
+
import { parseRoundTransactionSnapshot } from "./round-transaction.js";
|
|
8
|
+
import { effectiveOutcome, parseRoundContract } from "./self-eval.js";
|
|
9
|
+
import { entryRound, isRecord } from "./token-utils.js";
|
|
10
|
+
function committedAction(value) {
|
|
11
|
+
return value === "continue" || value === "stop" || value === "backtrack"
|
|
12
|
+
? value
|
|
13
|
+
: null;
|
|
14
|
+
}
|
|
15
|
+
function snapshots(value) {
|
|
16
|
+
return Array.isArray(value) ? value : [];
|
|
17
|
+
}
|
|
18
|
+
function flags(value) {
|
|
19
|
+
return Array.isArray(value) ? value : [];
|
|
20
|
+
}
|
|
21
|
+
function roundOutcome(value) {
|
|
22
|
+
return value === "success" || value === "partial" ||
|
|
23
|
+
value === "failed" || value === "blocked"
|
|
24
|
+
? value
|
|
25
|
+
: null;
|
|
26
|
+
}
|
|
27
|
+
function strings(value) {
|
|
28
|
+
return Array.isArray(value)
|
|
29
|
+
? value.filter((item) => typeof item === "string")
|
|
30
|
+
: [];
|
|
31
|
+
}
|
|
32
|
+
/** Decode a durable :feedback entry. Reject/terminate/in-flight envelopes are
|
|
33
|
+
* not committed history and therefore do not produce a view. */
|
|
34
|
+
export function decodeCommittedRound(entry) {
|
|
35
|
+
if (!String(entry.task_id ?? "").endsWith(":feedback"))
|
|
36
|
+
return null;
|
|
37
|
+
const lineage = isRecord(entry.loop_lineage) ? entry.loop_lineage : null;
|
|
38
|
+
const transaction = lineage && isRecord(lineage.round_transaction)
|
|
39
|
+
? lineage.round_transaction
|
|
40
|
+
: null;
|
|
41
|
+
if (!transaction)
|
|
42
|
+
return null;
|
|
43
|
+
const snapshot = parseRoundTransactionSnapshot(transaction.snapshot);
|
|
44
|
+
if (snapshot && snapshot.phase !== "committed")
|
|
45
|
+
return null;
|
|
46
|
+
const resultValue = isRecord(transaction.result)
|
|
47
|
+
? transaction.result
|
|
48
|
+
: snapshot?.result;
|
|
49
|
+
if (!isRecord(resultValue))
|
|
50
|
+
return null;
|
|
51
|
+
const action = committedAction(resultValue.action);
|
|
52
|
+
if (!action)
|
|
53
|
+
return null;
|
|
54
|
+
const result = resultValue;
|
|
55
|
+
const round = snapshot?.round ?? entryRound(entry);
|
|
56
|
+
const loopId = snapshot?.loopId ?? String(entry.loop_id ?? lineage?.loop_id ?? "");
|
|
57
|
+
if (round < 1 || !loopId)
|
|
58
|
+
return null;
|
|
59
|
+
const evaluation = snapshot?.evaluation ?? null;
|
|
60
|
+
const outcome = evaluation ? effectiveOutcome(evaluation) : null;
|
|
61
|
+
const sequence = typeof entry.sequence === "number" ? entry.sequence : undefined;
|
|
62
|
+
return {
|
|
63
|
+
source: "feedback",
|
|
64
|
+
sourceEntry: entry,
|
|
65
|
+
loopId,
|
|
66
|
+
round,
|
|
67
|
+
roundId: snapshot?.roundId ?? String(transaction.round_id ?? `loop:${loopId}:round:${round}`),
|
|
68
|
+
sequence,
|
|
69
|
+
attempt: snapshot?.attempt ?? 1,
|
|
70
|
+
promptArtifact: snapshot?.promptArtifact ?? null,
|
|
71
|
+
evaluation,
|
|
72
|
+
executionEvidence: evaluation?.execution_evidence ?? null,
|
|
73
|
+
verificationFlags: flags(result.verificationFlags),
|
|
74
|
+
result,
|
|
75
|
+
action,
|
|
76
|
+
success: result.roundSuccess === true,
|
|
77
|
+
outcome,
|
|
78
|
+
contractProposal: evaluation?.round_contract
|
|
79
|
+
? parseRoundContract(evaluation.round_contract) ?? null
|
|
80
|
+
: null,
|
|
81
|
+
beforeEvidence: snapshots(snapshot?.beforeEvidence),
|
|
82
|
+
afterEvidence: snapshots(snapshot?.afterEvidence),
|
|
83
|
+
roundEvidence: snapshots(snapshot?.roundEvidence),
|
|
84
|
+
outputSummary: evaluation?.output_summary,
|
|
85
|
+
constraintViolations: strings(evaluation?.constraint_violations),
|
|
86
|
+
discoveredConstraints: strings(evaluation?.discovered_constraints),
|
|
87
|
+
activeConstraints: strings(lineage?.constraints_active),
|
|
88
|
+
retractedConstraints: strings(evaluation?.retracted_constraints),
|
|
89
|
+
emergedSubtasks: strings(evaluation?.emerged_subtasks),
|
|
90
|
+
completedSubtasks: strings(evaluation?.completed_subtasks),
|
|
91
|
+
blockedSubtasks: strings(evaluation?.blocked_subtasks),
|
|
92
|
+
canceledSubtasks: strings(evaluation?.canceled_subtasks),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/** Decode an in-memory lineage entry after the engine merged its committed
|
|
96
|
+
* feedback. The merged shape is intentionally accepted only when stamped
|
|
97
|
+
* with committed_action. */
|
|
98
|
+
export function decodeMergedRound(entry) {
|
|
99
|
+
if (!isRecord(entry))
|
|
100
|
+
return null;
|
|
101
|
+
const raw = entry;
|
|
102
|
+
const lineageValue = raw.loop_lineage ?? raw.lineage;
|
|
103
|
+
const lineage = isRecord(lineageValue) ? lineageValue : {};
|
|
104
|
+
const action = committedAction(lineage.committed_action ?? raw.committed_action);
|
|
105
|
+
if (!action)
|
|
106
|
+
return null;
|
|
107
|
+
const round = entryRound(raw);
|
|
108
|
+
if (round < 1)
|
|
109
|
+
return null;
|
|
110
|
+
const loopId = typeof raw.loop_id === "string"
|
|
111
|
+
? raw.loop_id
|
|
112
|
+
: typeof lineage.loop_id === "string" ? lineage.loop_id : "";
|
|
113
|
+
const roundId = typeof lineage.round_id === "string"
|
|
114
|
+
? lineage.round_id
|
|
115
|
+
: `loop:${loopId}:round:${round}`;
|
|
116
|
+
const evaluationRaw = {};
|
|
117
|
+
const evaluationKeys = [
|
|
118
|
+
"success", "output_summary", "constraint_violations", "should_continue",
|
|
119
|
+
"discovered_constraints", "objective_refinement", "emerged_subtasks",
|
|
120
|
+
"execution_evidence", "retracted_constraints", "revised_success_criteria",
|
|
121
|
+
"wrong_assumptions", "worker_results", "compression_checkpoint",
|
|
122
|
+
"checkpoint_label", "next_action", "completed_subtasks", "blocked_subtasks",
|
|
123
|
+
"canceled_subtasks", "stop_reason", "outcome", "blocker",
|
|
124
|
+
"retroactiveClaims", "no_change_reason", "drift_clarification",
|
|
125
|
+
"prompt_requests", "round_contract",
|
|
126
|
+
];
|
|
127
|
+
let hasEvaluation = false;
|
|
128
|
+
for (const key of evaluationKeys) {
|
|
129
|
+
const value = raw[key] ?? lineage[key];
|
|
130
|
+
if (value !== undefined) {
|
|
131
|
+
evaluationRaw[key] = value;
|
|
132
|
+
hasEvaluation = true;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
const evaluation = hasEvaluation
|
|
136
|
+
? evaluationRaw
|
|
137
|
+
: null;
|
|
138
|
+
const resultRaw = isRecord(lineage.result) ? lineage.result : null;
|
|
139
|
+
const result = resultRaw ? resultRaw : null;
|
|
140
|
+
const outcome = roundOutcome(evaluationRaw.outcome) ??
|
|
141
|
+
(typeof evaluationRaw.success === "boolean"
|
|
142
|
+
? evaluationRaw.success ? "success" : "failed"
|
|
143
|
+
: null);
|
|
144
|
+
const proposal = parseRoundContract(evaluationRaw.round_contract) ?? null;
|
|
145
|
+
const executionEvidence = isRecord(evaluationRaw.execution_evidence)
|
|
146
|
+
? evaluationRaw.execution_evidence
|
|
147
|
+
: null;
|
|
148
|
+
return {
|
|
149
|
+
source: "merged",
|
|
150
|
+
sourceEntry: raw,
|
|
151
|
+
loopId,
|
|
152
|
+
round,
|
|
153
|
+
roundId,
|
|
154
|
+
sequence: typeof lineage.sequence === "number" ? lineage.sequence : undefined,
|
|
155
|
+
attempt: typeof lineage.attempt === "number" ? lineage.attempt : 1,
|
|
156
|
+
promptArtifact: isRecord(lineage.prompt_artifact)
|
|
157
|
+
? lineage.prompt_artifact
|
|
158
|
+
: null,
|
|
159
|
+
evaluation,
|
|
160
|
+
executionEvidence,
|
|
161
|
+
verificationFlags: flags(raw.verification_flags ?? lineage.verification_flags),
|
|
162
|
+
result,
|
|
163
|
+
action,
|
|
164
|
+
success: typeof raw.success === "boolean"
|
|
165
|
+
? raw.success
|
|
166
|
+
: typeof lineage.success === "boolean" ? lineage.success : false,
|
|
167
|
+
outcome,
|
|
168
|
+
contractProposal: proposal,
|
|
169
|
+
beforeEvidence: snapshots(lineage.before_evidence),
|
|
170
|
+
afterEvidence: snapshots(lineage.after_evidence),
|
|
171
|
+
roundEvidence: snapshots(lineage.round_evidence),
|
|
172
|
+
outputSummary: typeof evaluationRaw.output_summary === "string"
|
|
173
|
+
? evaluationRaw.output_summary
|
|
174
|
+
: undefined,
|
|
175
|
+
constraintViolations: strings(evaluationRaw.constraint_violations),
|
|
176
|
+
discoveredConstraints: strings(evaluationRaw.discovered_constraints),
|
|
177
|
+
activeConstraints: strings(raw.constraints_active ?? lineage.constraints_active),
|
|
178
|
+
retractedConstraints: strings(evaluationRaw.retracted_constraints),
|
|
179
|
+
emergedSubtasks: strings(evaluationRaw.emerged_subtasks),
|
|
180
|
+
completedSubtasks: strings(evaluationRaw.completed_subtasks),
|
|
181
|
+
blockedSubtasks: strings(evaluationRaw.blocked_subtasks),
|
|
182
|
+
canceledSubtasks: strings(evaluationRaw.canceled_subtasks),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
/** Normalize committed history: rollback directives disappear, later records
|
|
186
|
+
* replace earlier records for the same logical round, and output is ascending. */
|
|
187
|
+
export function historyRounds(views, beforeRound = Number.POSITIVE_INFINITY) {
|
|
188
|
+
const byRound = new Map();
|
|
189
|
+
for (const view of views) {
|
|
190
|
+
if (!view || view.action === "backtrack" || view.round >= beforeRound)
|
|
191
|
+
continue;
|
|
192
|
+
byRound.set(view.round, view);
|
|
193
|
+
}
|
|
194
|
+
return [...byRound.values()].sort((a, b) => a.round - b.round);
|
|
195
|
+
}
|
|
196
|
+
export function committedRoundsFromEntries(entries, beforeRound = Number.POSITIVE_INFINITY) {
|
|
197
|
+
return historyRounds(entries.map(decodeCommittedRound), beforeRound);
|
|
198
|
+
}
|
|
199
|
+
export function mergedRoundsFromEntries(entries, beforeRound = Number.POSITIVE_INFINITY) {
|
|
200
|
+
return historyRounds(entries.map(decodeMergedRound), beforeRound);
|
|
201
|
+
}
|
|
202
|
+
/** Machine-observed git motion for the most recent contiguous window.
|
|
203
|
+
* Consumers must decode durable or hydrated entries before calling this;
|
|
204
|
+
* transaction-envelope interpretation stays confined to this module. */
|
|
205
|
+
export function machineGitMotionSeries(rounds, currentRound, lookback) {
|
|
206
|
+
const byRound = new Map();
|
|
207
|
+
for (const round of rounds) {
|
|
208
|
+
if (round.round < 1 || round.round >= currentRound)
|
|
209
|
+
continue;
|
|
210
|
+
const git = round.roundEvidence.find((snapshot) => snapshot.provider === "git");
|
|
211
|
+
if (!git)
|
|
212
|
+
continue;
|
|
213
|
+
byRound.set(round.round, Array.isArray(git.files) && git.files.length > 0);
|
|
214
|
+
}
|
|
215
|
+
if (byRound.size < lookback)
|
|
216
|
+
return null;
|
|
217
|
+
const recent = [...byRound.keys()].sort((a, b) => a - b).slice(-lookback);
|
|
218
|
+
if (recent[0] < currentRound - lookback)
|
|
219
|
+
return null;
|
|
220
|
+
return recent.map((round) => byRound.get(round));
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=committed-round.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"committed-round.js","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,9 @@ gitHead?: string): string;
|
|
|
45
45
|
/** Enforce round-boundary rules based on the verification gate's findings
|
|
46
46
|
* and the agent's self-evaluation integrity.
|
|
47
47
|
*
|
|
48
|
-
* Rules run in priority order
|
|
48
|
+
* Rules run in priority order — the rules array below IS the priority
|
|
49
|
+
* order; numeric IDs (R1–R9, R-EVID) reflect insertion history, not
|
|
50
|
+
* priority. The first rule that fires wins.
|
|
49
51
|
*
|
|
50
52
|
* @param selfEval The agent's self-evaluation for the current round.
|
|
51
53
|
* @param verifyResult The verification gate's output (from verifySelfEvaluation).
|
|
@@ -54,7 +56,7 @@ gitHead?: string): string;
|
|
|
54
56
|
* @param consecutiveRejections How many consecutive rounds have already been rejected.
|
|
55
57
|
* Starts at 0; increments on each reject; resets on accept.
|
|
56
58
|
*/
|
|
57
|
-
export declare function enforceRound(selfEval: SelfEvaluation, verifyResult: VerificationResult, currentRound: number, vaultEntries: VaultEntry[], consecutiveRejections?: number,
|
|
59
|
+
export declare function enforceRound(selfEval: SelfEvaluation, verifyResult: VerificationResult, currentRound: number, vaultEntries: VaultEntry[], consecutiveRejections?: number,
|
|
58
60
|
/** v2.12: Current clarification streak for R7 escalation. */
|
|
59
61
|
driftClarificationStreak?: number): EnforcementResult;
|
|
60
62
|
/** Build a rejection prompt for 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,iBAAiB,CAAC;AAClD,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,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,iBAAiB,CAAC;AAClD,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AA2FvB;;iEAEiE;AACjE,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,EAAE,EAC1B,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAgCxD;AAED;;;sCAGsC;AACtC,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,EAAE,GACzB,MAAM,GAAG,IAAI,CAaf;AAED;;;;oDAIoD;AACpD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAAE;AAC5B;gEACgE;AAChE,YAAY,GAAE,MAAM,EAAO;AAC3B;mEACmE;AACnE,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAsJR;AAi4BD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,kBAAkB,EAChC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,EAAE,EAC1B,qBAAqB,GAAE,MAAU;AACjC,6DAA6D;AAC7D,wBAAwB,GAAE,MAAU,GACnC,iBAAiB,CA2FnB;AAED;;;;;;;;;;;;;;sEAcsE;AACtE,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,iBAAiB,EAChC,iBAAiB,GAAE,gBAAgB,EAAO,GACzC,MAAM,CA6CR"}
|