loopforge 3.9.0 → 3.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/dist/audit.d.ts +13 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +18 -3
- package/dist/audit.js.map +1 -1
- package/dist/committed-round.d.ts +29 -32
- package/dist/committed-round.d.ts.map +1 -1
- package/dist/committed-round.js +164 -157
- package/dist/committed-round.js.map +1 -1
- package/dist/contract-items.d.ts +3 -2
- package/dist/contract-items.d.ts.map +1 -1
- package/dist/contract-items.js +18 -7
- package/dist/contract-items.js.map +1 -1
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +13 -61
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +16 -9
- package/dist/engine.js.map +1 -1
- package/dist/evidence-claims.d.ts +6 -5
- package/dist/evidence-claims.d.ts.map +1 -1
- package/dist/evidence-claims.js +21 -20
- package/dist/evidence-claims.js.map +1 -1
- package/dist/evidence-provider.d.ts +73 -42
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +437 -138
- package/dist/evidence-provider.js.map +1 -1
- package/dist/explain.d.ts +18 -3
- package/dist/explain.d.ts.map +1 -1
- package/dist/explain.js +26 -5
- package/dist/explain.js.map +1 -1
- package/dist/field-accounting.d.ts +29 -0
- package/dist/field-accounting.d.ts.map +1 -0
- package/dist/field-accounting.js +132 -0
- package/dist/field-accounting.js.map +1 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +5 -11
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +29 -86
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-store.d.ts +3 -0
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js +21 -11
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +26 -2
- package/dist/mcp/round-lifecycle.d.ts.map +1 -1
- package/dist/mcp/round-lifecycle.js +193 -25
- package/dist/mcp/round-lifecycle.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +17 -14
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +15 -1
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +34 -1
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/submission-boundary.d.ts +5 -2
- package/dist/mcp/submission-boundary.d.ts.map +1 -1
- package/dist/mcp/submission-boundary.js +38 -6
- package/dist/mcp/submission-boundary.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +73 -39
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.d.ts +14 -0
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +53 -1
- package/dist/policy-metrics.js.map +1 -1
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +63 -11
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/protocol.d.ts +182 -11
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +4 -1
- package/dist/protocol.js.map +1 -1
- package/dist/replay.d.ts +3 -0
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +46 -7
- package/dist/replay.js.map +1 -1
- package/dist/round-contract.d.ts +5 -4
- package/dist/round-contract.d.ts.map +1 -1
- package/dist/round-contract.js +4 -4
- package/dist/round-contract.js.map +1 -1
- package/dist/round-coordinator.d.ts +2 -1
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +17 -9
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +4 -1
- 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-facts.d.ts +3 -2
- package/dist/round-facts.d.ts.map +1 -1
- package/dist/round-facts.js +4 -4
- package/dist/round-facts.js.map +1 -1
- package/dist/round-transaction.d.ts +21 -10
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +81 -19
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +28 -10
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +522 -124
- package/dist/self-eval.js.map +1 -1
- package/dist/submission-diagnostics.d.ts +12 -0
- package/dist/submission-diagnostics.d.ts.map +1 -0
- package/dist/submission-diagnostics.js +12 -0
- package/dist/submission-diagnostics.js.map +1 -0
- package/dist/submission-guidance.d.ts +119 -0
- package/dist/submission-guidance.d.ts.map +1 -0
- package/dist/submission-guidance.js +766 -0
- package/dist/submission-guidance.js.map +1 -0
- package/dist/submission-receipt.d.ts +48 -0
- package/dist/submission-receipt.d.ts.map +1 -0
- package/dist/submission-receipt.js +336 -0
- package/dist/submission-receipt.js.map +1 -0
- package/dist/verification-gate.d.ts +10 -6
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +95 -87
- package/dist/verification-gate.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -1
- package/skills/perception/SKILL.md +66 -27
package/dist/committed-round.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* place that interprets their transaction envelope or the compiler's merged
|
|
5
5
|
* lineage representation. Consumers receive one stable, read-only view.
|
|
6
6
|
*/
|
|
7
|
-
import { PROMPT_ARTIFACT_SCHEMA_VERSION } from "./protocol.js";
|
|
7
|
+
import { GIT_OBSERVATION_SCHEMA_VERSION, PROMPT_ARTIFACT_SCHEMA_VERSION, } from "./protocol.js";
|
|
8
8
|
import { ROUND_TRANSACTION_SCHEMA_VERSION, deriveRoundObservationDelta, parseRoundTransactionSnapshot, transactionSchemaVersionOf, } from "./round-transaction.js";
|
|
9
9
|
import { claimedMetCriteria, claimedRemainingCriteria, effectiveOutcome, parseRoundContract } from "./self-eval.js";
|
|
10
10
|
import { entryRound, isRecord } from "./token-utils.js";
|
|
@@ -98,49 +98,46 @@ function subGoalUpdates(value) {
|
|
|
98
98
|
}
|
|
99
99
|
/** Decode a durable :feedback entry. Reject/terminate/in-flight envelopes are
|
|
100
100
|
* not committed history and therefore do not produce a view. */
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
//
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
101
|
+
/** v3.9.1: a round is evidence-incomplete when it has no after evidence at
|
|
102
|
+
* all, or when Git was configured/appeared but either boundary is not
|
|
103
|
+
* observable. A command-only round is not incomplete merely because it has
|
|
104
|
+
* no Git observation. */
|
|
105
|
+
function evidenceIncomplete(after, deltas) {
|
|
106
|
+
if (after.length === 0)
|
|
107
|
+
return true;
|
|
108
|
+
// No Git delta means Git was not part of this round. A Git delta whose
|
|
109
|
+
// change set is null means the boundary pair could not be compared —
|
|
110
|
+
// including a missing before baseline.
|
|
111
|
+
return deltas.some((delta) => delta.kind === "git" && delta.changedFiles === null);
|
|
112
|
+
}
|
|
113
|
+
/** v3.9.1: ONE view builder over ONE transaction snapshot. Both the durable
|
|
114
|
+
* feedback entry and the engine's hydrated merged entry call it, so there is
|
|
115
|
+
* no second evaluation/history interpretation. */
|
|
116
|
+
function viewFromSnapshot(input) {
|
|
117
|
+
const { snapshot, result, lineage } = input;
|
|
117
118
|
if (snapshot.phase !== "committed")
|
|
118
119
|
return null;
|
|
119
|
-
const
|
|
120
|
-
? transaction.result
|
|
121
|
-
: snapshot.result;
|
|
122
|
-
if (!isRecord(resultValue))
|
|
123
|
-
return null;
|
|
124
|
-
const action = committedAction(resultValue.action);
|
|
120
|
+
const action = committedAction(result.action);
|
|
125
121
|
if (!action)
|
|
126
122
|
return null;
|
|
127
|
-
const
|
|
128
|
-
const
|
|
129
|
-
const loopId = snapshot?.loopId ?? String(entry.loop_id ?? lineage?.loop_id ?? "");
|
|
123
|
+
const round = snapshot.round;
|
|
124
|
+
const loopId = snapshot.loopId;
|
|
130
125
|
if (round < 1 || !loopId)
|
|
131
126
|
return null;
|
|
132
|
-
const evaluation = snapshot
|
|
127
|
+
const evaluation = snapshot.evaluation ?? null;
|
|
133
128
|
const outcome = evaluation ? effectiveOutcome(evaluation) : null;
|
|
134
|
-
const
|
|
129
|
+
const beforeEvidence = snapshots(snapshot.beforeEvidence);
|
|
130
|
+
const afterEvidence = snapshots(snapshot.afterEvidence);
|
|
131
|
+
const observationDelta = deriveRoundObservationDelta(beforeEvidence, afterEvidence);
|
|
135
132
|
return {
|
|
136
|
-
source:
|
|
137
|
-
sourceEntry:
|
|
133
|
+
source: input.source,
|
|
134
|
+
sourceEntry: input.sourceEntry,
|
|
138
135
|
loopId,
|
|
139
136
|
round,
|
|
140
|
-
roundId: snapshot
|
|
141
|
-
sequence,
|
|
142
|
-
attempt: snapshot
|
|
143
|
-
promptArtifact: snapshot
|
|
137
|
+
roundId: snapshot.roundId,
|
|
138
|
+
sequence: input.sequence,
|
|
139
|
+
attempt: snapshot.attempt,
|
|
140
|
+
promptArtifact: snapshot.promptArtifact ?? null,
|
|
144
141
|
evaluation,
|
|
145
142
|
executionReport: evaluation?.execution_report ?? null,
|
|
146
143
|
verificationFlags: flags(result.verificationFlags),
|
|
@@ -151,11 +148,13 @@ export function decodeCommittedRound(entry) {
|
|
|
151
148
|
contractProposal: evaluation?.round_contract
|
|
152
149
|
? parseRoundContract(evaluation.round_contract) ?? null
|
|
153
150
|
: null,
|
|
154
|
-
contractBinding: snapshot
|
|
155
|
-
beforeEvidence
|
|
156
|
-
afterEvidence
|
|
157
|
-
observationDelta
|
|
158
|
-
|
|
151
|
+
contractBinding: snapshot.contractBinding ?? null,
|
|
152
|
+
beforeEvidence,
|
|
153
|
+
afterEvidence,
|
|
154
|
+
observationDelta,
|
|
155
|
+
normalizationDiagnostics: snapshot.normalizationDiagnostics ?? [],
|
|
156
|
+
submittedFields: snapshot.submittedFields ?? [],
|
|
157
|
+
evidenceIncomplete: evidenceIncomplete(afterEvidence, observationDelta),
|
|
159
158
|
outputSummary: evaluation?.output_summary,
|
|
160
159
|
constraintViolations: strings(evaluation?.constraint_violations),
|
|
161
160
|
discoveredConstraints: strings(evaluation?.discovered_constraints),
|
|
@@ -163,102 +162,76 @@ export function decodeCommittedRound(entry) {
|
|
|
163
162
|
retractedConstraints: strings(evaluation?.retracted_constraints),
|
|
164
163
|
emergedSubtasks: strings(evaluation?.emerged_subtasks),
|
|
165
164
|
subgoalUpdates: subGoalUpdates(evaluation?.subgoal_updates),
|
|
166
|
-
backtrack: action === "backtrack"
|
|
165
|
+
backtrack: action === "backtrack"
|
|
166
|
+
? decodeBacktrackRecord(result)
|
|
167
|
+
: null,
|
|
167
168
|
};
|
|
168
169
|
}
|
|
170
|
+
export function decodeCommittedRound(entry) {
|
|
171
|
+
if (!String(entry.task_id ?? "").endsWith(":feedback"))
|
|
172
|
+
return null;
|
|
173
|
+
const lineage = isRecord(entry.loop_lineage) ? entry.loop_lineage : null;
|
|
174
|
+
const transaction = lineage && isRecord(lineage.round_transaction)
|
|
175
|
+
? lineage.round_transaction
|
|
176
|
+
: null;
|
|
177
|
+
if (!transaction)
|
|
178
|
+
return null;
|
|
179
|
+
// v3.8: the transaction schema is a HARD break — an envelope that does not
|
|
180
|
+
// parse (legacy version, malformed observations) is not committed history.
|
|
181
|
+
// legacyTransactionRounds() reports the loss explicitly; it is never
|
|
182
|
+
// silently decoded into a partial view.
|
|
183
|
+
const snapshot = parseRoundTransactionSnapshot(transaction.snapshot);
|
|
184
|
+
if (!snapshot)
|
|
185
|
+
return null;
|
|
186
|
+
const resultValue = isRecord(transaction.result)
|
|
187
|
+
? transaction.result
|
|
188
|
+
: snapshot.result;
|
|
189
|
+
if (!isRecord(resultValue))
|
|
190
|
+
return null;
|
|
191
|
+
return viewFromSnapshot({
|
|
192
|
+
source: "feedback",
|
|
193
|
+
sourceEntry: entry,
|
|
194
|
+
lineage,
|
|
195
|
+
snapshot,
|
|
196
|
+
result: resultValue,
|
|
197
|
+
sequence: typeof entry.sequence === "number" ? entry.sequence : undefined,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
169
200
|
/** Decode an in-memory lineage entry after the engine merged its committed
|
|
170
|
-
* feedback. The merged
|
|
171
|
-
*
|
|
201
|
+
* feedback. The merged entry MUST carry the embedded transaction snapshot;
|
|
202
|
+
* the old raw top-level evaluation reconstruction is gone, so a partial
|
|
203
|
+
* lineage entry cannot become a second history. */
|
|
172
204
|
export function decodeMergedRound(entry) {
|
|
173
205
|
if (!isRecord(entry))
|
|
174
206
|
return null;
|
|
175
207
|
const raw = entry;
|
|
176
|
-
// v3.7: the legacy top-level `lineage` alias was removed — committed
|
|
177
|
-
// entries always carry `loop_lineage`.
|
|
178
208
|
const lineage = isRecord(raw.loop_lineage) ? raw.loop_lineage : {};
|
|
179
209
|
const action = committedAction(lineage.committed_action ?? raw.committed_action);
|
|
180
210
|
if (!action)
|
|
181
211
|
return null;
|
|
182
|
-
const
|
|
183
|
-
|
|
212
|
+
const transaction = isRecord(lineage.round_transaction)
|
|
213
|
+
? lineage.round_transaction
|
|
214
|
+
: isRecord(raw.round_transaction)
|
|
215
|
+
? raw.round_transaction
|
|
216
|
+
: null;
|
|
217
|
+
if (!transaction)
|
|
184
218
|
return null;
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const
|
|
189
|
-
?
|
|
190
|
-
:
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
"discovered_constraints", "objective_refinement", "emerged_subtasks",
|
|
195
|
-
"execution_report", "retracted_constraints", "revised_success_criteria",
|
|
196
|
-
"wrong_assumptions", "worker_results", "compression_checkpoint",
|
|
197
|
-
"checkpoint_label", "subgoal_updates", "stop_reason",
|
|
198
|
-
"outcome", "blocker", "gate_ids",
|
|
199
|
-
"retroactiveClaims", "no_change_reason",
|
|
200
|
-
"prompt_requests", "round_contract",
|
|
201
|
-
];
|
|
202
|
-
let hasEvaluation = false;
|
|
203
|
-
for (const key of evaluationKeys) {
|
|
204
|
-
const value = raw[key] ?? lineage[key];
|
|
205
|
-
if (value !== undefined) {
|
|
206
|
-
evaluationRaw[key] = value;
|
|
207
|
-
hasEvaluation = true;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
const evaluation = hasEvaluation
|
|
211
|
-
? evaluationRaw
|
|
212
|
-
: null;
|
|
213
|
-
const resultRaw = isRecord(lineage.result) ? lineage.result : null;
|
|
214
|
-
const result = resultRaw ? resultRaw : null;
|
|
215
|
-
const outcome = roundOutcome(evaluationRaw.outcome) ??
|
|
216
|
-
(typeof evaluationRaw.success === "boolean"
|
|
217
|
-
? evaluationRaw.success ? "success" : "failed"
|
|
218
|
-
: null);
|
|
219
|
-
const proposal = parseRoundContract(evaluationRaw.round_contract) ?? null;
|
|
220
|
-
const executionReport = isRecord(evaluationRaw.execution_report)
|
|
221
|
-
? evaluationRaw.execution_report
|
|
222
|
-
: null;
|
|
223
|
-
return {
|
|
219
|
+
const snapshot = parseRoundTransactionSnapshot(transaction.snapshot);
|
|
220
|
+
if (!snapshot)
|
|
221
|
+
return null;
|
|
222
|
+
const resultValue = isRecord(transaction.result)
|
|
223
|
+
? transaction.result
|
|
224
|
+
: snapshot.result;
|
|
225
|
+
if (!isRecord(resultValue))
|
|
226
|
+
return null;
|
|
227
|
+
return viewFromSnapshot({
|
|
224
228
|
source: "merged",
|
|
225
229
|
sourceEntry: raw,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
230
|
+
lineage,
|
|
231
|
+
snapshot,
|
|
232
|
+
result: resultValue,
|
|
229
233
|
sequence: typeof lineage.sequence === "number" ? lineage.sequence : undefined,
|
|
230
|
-
|
|
231
|
-
promptArtifact: isRecord(lineage.prompt_artifact)
|
|
232
|
-
? lineage.prompt_artifact
|
|
233
|
-
: null,
|
|
234
|
-
evaluation,
|
|
235
|
-
executionReport,
|
|
236
|
-
verificationFlags: flags(raw.verification_flags ?? lineage.verification_flags),
|
|
237
|
-
result,
|
|
238
|
-
action,
|
|
239
|
-
success: typeof raw.success === "boolean"
|
|
240
|
-
? raw.success
|
|
241
|
-
: typeof lineage.success === "boolean" ? lineage.success : false,
|
|
242
|
-
outcome,
|
|
243
|
-
contractProposal: proposal,
|
|
244
|
-
contractBinding: isRecord(lineage.contract_binding)
|
|
245
|
-
? lineage.contract_binding
|
|
246
|
-
: null,
|
|
247
|
-
beforeEvidence: snapshots(lineage.before_evidence),
|
|
248
|
-
afterEvidence: snapshots(lineage.after_evidence),
|
|
249
|
-
observationDelta: deriveRoundObservationDelta(snapshots(lineage.before_evidence), snapshots(lineage.after_evidence)),
|
|
250
|
-
evidenceIncomplete: snapshots(lineage.after_evidence).length === 0,
|
|
251
|
-
outputSummary: typeof evaluationRaw.output_summary === "string"
|
|
252
|
-
? evaluationRaw.output_summary
|
|
253
|
-
: undefined,
|
|
254
|
-
constraintViolations: strings(evaluationRaw.constraint_violations),
|
|
255
|
-
discoveredConstraints: strings(evaluationRaw.discovered_constraints),
|
|
256
|
-
activeConstraints: strings(raw.constraints_active ?? lineage.constraints_active),
|
|
257
|
-
retractedConstraints: strings(evaluationRaw.retracted_constraints),
|
|
258
|
-
emergedSubtasks: strings(evaluationRaw.emerged_subtasks),
|
|
259
|
-
subgoalUpdates: subGoalUpdates(evaluationRaw.subgoal_updates),
|
|
260
|
-
backtrack: action === "backtrack" ? decodeBacktrackRecord(lineage) : null,
|
|
261
|
-
};
|
|
234
|
+
});
|
|
262
235
|
}
|
|
263
236
|
/** Normalize committed history: rollback directives disappear, later records
|
|
264
237
|
* replace earlier records for the same logical round, and output is ascending. */
|
|
@@ -452,17 +425,12 @@ export function readOnlyRounds(entries) {
|
|
|
452
425
|
return historyRounds(views, persistedFrontier(entries) ?? Number.POSITIVE_INFINITY);
|
|
453
426
|
}
|
|
454
427
|
/** The machine-evidence set that best represents a committed round: the
|
|
455
|
-
* after-phase observations (captured post-execution), else the
|
|
456
|
-
* delta
|
|
457
|
-
*
|
|
458
|
-
* used to inline with subtly different tiers. Distinct from
|
|
459
|
-
* machineGitMotionSeries, which reads the derived delta plus Git HEAD
|
|
460
|
-
* movement so commit-per-slice work remains visible. */
|
|
428
|
+
* after-phase observations (captured post-execution), else the pre-round
|
|
429
|
+
* baseline. The derived delta is never evidence — it is a change-set view
|
|
430
|
+
* over these facts, not a second observation collection. */
|
|
461
431
|
export function machineEvidenceForRound(view) {
|
|
462
432
|
if (view.afterEvidence.length > 0)
|
|
463
433
|
return view.afterEvidence;
|
|
464
|
-
if (view.observationDelta.length > 0)
|
|
465
|
-
return view.observationDelta;
|
|
466
434
|
return view.beforeEvidence;
|
|
467
435
|
}
|
|
468
436
|
export function legacyTransactionRounds(entries) {
|
|
@@ -495,6 +463,30 @@ export function legacyTransactionRounds(entries) {
|
|
|
495
463
|
if (typeof artifactVersion === "number" &&
|
|
496
464
|
artifactVersion !== PROMPT_ARTIFACT_SCHEMA_VERSION) {
|
|
497
465
|
out.push({ round, schemaVersion: artifactVersion, envelope: "prompt_artifact" });
|
|
466
|
+
continue;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
// v3.9.1: an observation schema mismatch is also a hard break. The
|
|
470
|
+
// transaction parser drops the whole round on it; report the loss here
|
|
471
|
+
// instead of letting the round vanish from history.
|
|
472
|
+
const observations = [
|
|
473
|
+
...(Array.isArray(snapshot.beforeEvidence) ? snapshot.beforeEvidence : []),
|
|
474
|
+
...(Array.isArray(snapshot.afterEvidence) ? snapshot.afterEvidence : []),
|
|
475
|
+
];
|
|
476
|
+
for (const item of observations) {
|
|
477
|
+
if (!isRecord(item) || typeof item.kind !== "string") {
|
|
478
|
+
out.push({ round, schemaVersion: -1, envelope: "observation" });
|
|
479
|
+
break;
|
|
480
|
+
}
|
|
481
|
+
const expected = item.kind === "git" ? GIT_OBSERVATION_SCHEMA_VERSION : 1;
|
|
482
|
+
const observationVersion = item.schemaVersion;
|
|
483
|
+
if (typeof observationVersion !== "number" || observationVersion !== expected) {
|
|
484
|
+
out.push({
|
|
485
|
+
round,
|
|
486
|
+
schemaVersion: typeof observationVersion === "number" ? observationVersion : -1,
|
|
487
|
+
envelope: "observation",
|
|
488
|
+
});
|
|
489
|
+
break;
|
|
498
490
|
}
|
|
499
491
|
}
|
|
500
492
|
}
|
|
@@ -513,7 +505,7 @@ export function legacyTransactionRounds(entries) {
|
|
|
513
505
|
* short hashes, the rule `checkBacktrackGitHeadRestore` uses; the
|
|
514
506
|
* before/after arm compares the observations themselves. */
|
|
515
507
|
export function gitMotionSignal(input) {
|
|
516
|
-
if (input.
|
|
508
|
+
if (input.changedFiles !== null && input.changedFiles.length > 0)
|
|
517
509
|
return true;
|
|
518
510
|
const { headBefore, headAfter, restoreTargetHead } = input;
|
|
519
511
|
if (headAfter && headBefore && headAfter !== headBefore)
|
|
@@ -521,6 +513,12 @@ export function gitMotionSignal(input) {
|
|
|
521
513
|
if (headAfter && restoreTargetHead &&
|
|
522
514
|
headAfter.slice(0, 12) === restoreTargetHead.slice(0, 12))
|
|
523
515
|
return true;
|
|
516
|
+
if (input.changedFiles === null)
|
|
517
|
+
return null;
|
|
518
|
+
// An observed empty change set is no motion only when both HEADs are known;
|
|
519
|
+
// otherwise a commit-only slice could still have moved HEAD.
|
|
520
|
+
if (!headBefore || !headAfter)
|
|
521
|
+
return null;
|
|
524
522
|
return false;
|
|
525
523
|
}
|
|
526
524
|
/** Git HEAD as a machine observation exposes it, or null when it is silent. */
|
|
@@ -530,30 +528,34 @@ export function observedGitHead(observation) {
|
|
|
530
528
|
? observation.data.head
|
|
531
529
|
: null;
|
|
532
530
|
}
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
531
|
+
function observedGitObservation(observation) {
|
|
532
|
+
return observation && observation.kind === "git" && observation.status === "observed"
|
|
533
|
+
? observation
|
|
534
|
+
: null;
|
|
535
|
+
}
|
|
536
|
+
function observedGitIn(observations) {
|
|
537
|
+
return observations.find((observation) => observation.kind === "git" && observation.status === "observed") ?? null;
|
|
538
|
+
}
|
|
539
|
+
/** The in-flight round's own motion, from its derived Git delta. A Git
|
|
540
|
+
* boundary that cannot be compared yields `null` unless HEAD movement or the
|
|
541
|
+
* restore point independently proves motion. */
|
|
542
|
+
export function inFlightGitMotion(deltas, restoreTargetHead) {
|
|
543
|
+
const git = deltas.find((delta) => delta.kind === "git");
|
|
544
|
+
if (!git)
|
|
546
545
|
return null;
|
|
546
|
+
const before = observedGitObservation(git.before);
|
|
547
|
+
const after = observedGitObservation(git.after);
|
|
547
548
|
return gitMotionSignal({
|
|
548
|
-
|
|
549
|
-
headBefore: observedGitHead(
|
|
550
|
-
headAfter: observedGitHead(
|
|
549
|
+
changedFiles: git.changedFiles,
|
|
550
|
+
headBefore: observedGitHead(before ?? undefined),
|
|
551
|
+
headAfter: observedGitHead(after ?? undefined),
|
|
551
552
|
restoreTargetHead: restoreTargetHead ?? null,
|
|
552
553
|
});
|
|
553
554
|
}
|
|
554
555
|
/** Machine-observed git motion for the most recent contiguous window.
|
|
555
556
|
* A clean worktree is not the same thing as no progress: commit-per-slice
|
|
556
|
-
* workflows leave no file delta even though HEAD advanced.
|
|
557
|
+
* workflows leave no file delta even though HEAD advanced. Unknown motion in
|
|
558
|
+
* any round makes the window undecidable rather than falsely empty. */
|
|
557
559
|
export function machineGitMotionSeries(rounds, currentRound, lookback) {
|
|
558
560
|
if (!Number.isInteger(lookback) || lookback < 1 || currentRound <= lookback)
|
|
559
561
|
return null;
|
|
@@ -566,24 +568,29 @@ export function machineGitMotionSeries(rounds, currentRound, lookback) {
|
|
|
566
568
|
const recent = [];
|
|
567
569
|
for (let number = currentRound - lookback; number < currentRound; number++) {
|
|
568
570
|
const round = byRound.get(number);
|
|
569
|
-
if (!round
|
|
571
|
+
if (!round)
|
|
572
|
+
return null;
|
|
573
|
+
if (!round.observationDelta.some((delta) => delta.kind === "git"))
|
|
570
574
|
return null;
|
|
571
575
|
recent.push(round);
|
|
572
576
|
}
|
|
573
|
-
const observedGit = (observations) => observations.find((snapshot) => snapshot.providerId === "git" && snapshot.status === "observed");
|
|
574
577
|
const motion = [];
|
|
575
578
|
for (const round of recent) {
|
|
576
|
-
const git =
|
|
579
|
+
const git = round.observationDelta.find((delta) => delta.kind === "git");
|
|
577
580
|
// The round's baseline: its own before observation, else the previous
|
|
578
581
|
// round's after observation. Older Git observations do not carry a HEAD
|
|
579
|
-
// field; their
|
|
580
|
-
const baseline =
|
|
581
|
-
??
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
582
|
+
// field; their change set is still a valid motion signal.
|
|
583
|
+
const baseline = observedGitObservation(git.before)
|
|
584
|
+
?? observedGitIn(byRound.get(round.round - 1)?.afterEvidence ?? []);
|
|
585
|
+
const after = observedGitObservation(git.after);
|
|
586
|
+
const signal = gitMotionSignal({
|
|
587
|
+
changedFiles: git.changedFiles,
|
|
588
|
+
headBefore: observedGitHead(baseline ?? undefined),
|
|
589
|
+
headAfter: observedGitHead(after ?? undefined),
|
|
590
|
+
});
|
|
591
|
+
if (signal === null)
|
|
592
|
+
return null;
|
|
593
|
+
motion.push(signal);
|
|
587
594
|
}
|
|
588
595
|
return motion;
|
|
589
596
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"committed-round.js","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"committed-round.js","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"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"}
|
package/dist/contract-items.d.ts
CHANGED
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
* it is a pure function of the committed round views, the current report,
|
|
8
8
|
* the current observations, and policy.
|
|
9
9
|
*/
|
|
10
|
-
import type { ContractItemStatus, ExecutionReport
|
|
10
|
+
import type { ContractItemStatus, ExecutionReport } from "./protocol.js";
|
|
11
11
|
import type { ActiveContractView } from "./round-contract.js";
|
|
12
12
|
import type { CommittedRoundView } from "./committed-round.js";
|
|
13
|
+
import type { ObservationDelta } from "./evidence-provider.js";
|
|
13
14
|
import type { CommandEvidencePolicy } from "./policy.js";
|
|
14
15
|
export interface ItemStatusHistoryEntry {
|
|
15
16
|
round: number;
|
|
@@ -40,7 +41,7 @@ export interface ContractItemInput {
|
|
|
40
41
|
rounds: ReadonlyArray<CommittedRoundView>;
|
|
41
42
|
currentRound: number;
|
|
42
43
|
currentReport: ExecutionReport | null;
|
|
43
|
-
|
|
44
|
+
currentDeltas: ReadonlyArray<ObservationDelta>;
|
|
44
45
|
/** The in-flight round's own effective outcome. A `blocked` round CLOSES its
|
|
45
46
|
* contract, so the closure cannot be derived from the committed slices
|
|
46
47
|
* alone — the round being decided is not committed yet. Leave null where no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-items.d.ts","sourceRoot":"","sources":["../src/contract-items.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,kBAAkB,EAClB,eAAe,
|
|
1
|
+
{"version":3,"file":"contract-items.d.ts","sourceRoot":"","sources":["../src/contract-items.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,kBAAkB,EAClB,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAUzD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kDAAkD;IAClD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,2EAA2E;IAC3E,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,eAAe,GAAG,IAAI,CAAC;IACtC,aAAa,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC/C;;;oEAGgE;IAChE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CAChD;AAiHD,oEAAoE;AACpE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,GAAG,sBAAsB,CAkF3F;AAED,kDAAkD;AAClD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,sBAAsB,EAC5B,MAAM,EAAE,eAAe,GAAG,IAAI,GAC7B,SAAS,GAAG,cAAc,GAAG,cAAc,CAS7C"}
|
package/dist/contract-items.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* it is a pure function of the committed round views, the current report,
|
|
8
8
|
* the current observations, and policy.
|
|
9
9
|
*/
|
|
10
|
+
import { gitDeltaState } from "./evidence-provider.js";
|
|
10
11
|
const EMPTY_VIEW = {
|
|
11
12
|
contractId: "",
|
|
12
13
|
closure: "open",
|
|
@@ -47,7 +48,10 @@ function evaluateCommand(commandId, declaredHash, slices, fromRound, configured)
|
|
|
47
48
|
for (const slice of [...slices].reverse()) {
|
|
48
49
|
if (slice.round < fromRound)
|
|
49
50
|
continue;
|
|
50
|
-
const observation = slice.
|
|
51
|
+
const observation = slice.deltas
|
|
52
|
+
.map((delta) => delta.after)
|
|
53
|
+
.find((item) => item !== null &&
|
|
54
|
+
item.kind === "command" &&
|
|
51
55
|
item.phase === "after" &&
|
|
52
56
|
item.data.commandId === commandId);
|
|
53
57
|
if (!observation || observation.kind !== "command")
|
|
@@ -59,16 +63,23 @@ function evaluateCommand(commandId, declaredHash, slices, fromRound, configured)
|
|
|
59
63
|
reason: `command "${commandId}" was reconfigured after declaration (round ${slice.round})`,
|
|
60
64
|
};
|
|
61
65
|
}
|
|
62
|
-
const
|
|
63
|
-
.filter((item) => item.providerId === "git")
|
|
64
|
-
.flatMap((item) => item.files));
|
|
66
|
+
const git = gitDeltaState(slice.deltas);
|
|
65
67
|
if (observation.status === "passed") {
|
|
68
|
+
// An unknown boundary cannot rule out entrypoint tampering; it is not
|
|
69
|
+
// an empty change set. The absolute entrypoint-trust arm still runs in
|
|
70
|
+
// the verification gate.
|
|
71
|
+
if (git.state === "unknown") {
|
|
72
|
+
return {
|
|
73
|
+
verdict: "insufficient",
|
|
74
|
+
reason: `command "${commandId}" passed, but the Git boundary is unobservable in round ${slice.round}`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
66
77
|
// A malformed observation must not crash the derivation the compile
|
|
67
78
|
// path, the projection, the coordinator, explain and audit all share:
|
|
68
79
|
// no entrypoint list means the tamper check simply has nothing to
|
|
69
80
|
// compare, the same posture as a command with no entrypoint files.
|
|
70
81
|
const entrypoints = Array.isArray(data.entrypointFiles) ? data.entrypointFiles : [];
|
|
71
|
-
if (
|
|
82
|
+
if (git.state === "observed" && entrypoints.some((file) => git.changedFiles.has(file))) {
|
|
72
83
|
return {
|
|
73
84
|
verdict: "contradicted",
|
|
74
85
|
reason: `command "${commandId}" passed but its entrypoint changed in round ${slice.round}`,
|
|
@@ -102,13 +113,13 @@ export function deriveContractItemStatuses(input) {
|
|
|
102
113
|
...input.rounds.map((round) => ({
|
|
103
114
|
round: round.round,
|
|
104
115
|
report: round.executionReport,
|
|
105
|
-
|
|
116
|
+
deltas: round.observationDelta,
|
|
106
117
|
outcome: round.outcome,
|
|
107
118
|
})),
|
|
108
119
|
{
|
|
109
120
|
round: input.currentRound,
|
|
110
121
|
report: input.currentReport,
|
|
111
|
-
|
|
122
|
+
deltas: input.currentDeltas,
|
|
112
123
|
outcome: input.currentOutcome ?? null,
|
|
113
124
|
},
|
|
114
125
|
].filter((slice) => slice.round < input.currentRound || slice.round === input.currentRound);
|