loopforge 3.0.0 → 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 +126 -143
- package/dist/audit.d.ts +50 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +131 -0
- package/dist/audit.js.map +1 -0
- package/dist/canonical-state.d.ts +98 -23
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +257 -181
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +40 -33
- 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/cognitive-governance.d.ts +25 -33
- package/dist/cognitive-governance.d.ts.map +1 -1
- package/dist/cognitive-governance.js +38 -138
- package/dist/cognitive-governance.js.map +1 -1
- 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 +78 -0
- package/dist/enforcement-gate.d.ts.map +1 -0
- package/dist/enforcement-gate.js +1109 -0
- package/dist/enforcement-gate.js.map +1 -0
- package/dist/engine.d.ts +111 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +887 -0
- package/dist/engine.js.map +1 -0
- package/dist/evidence-claims.d.ts +50 -0
- package/dist/evidence-claims.d.ts.map +1 -0
- package/dist/evidence-claims.js +116 -0
- package/dist/evidence-claims.js.map +1 -0
- package/dist/evidence-provider.d.ts +50 -23
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +167 -50
- package/dist/evidence-provider.js.map +1 -1
- package/dist/generate-schema.js +1 -84
- package/dist/generate-schema.js.map +1 -1
- package/dist/index.d.ts +19 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -15
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +58 -3
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +841 -304
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-extras-parser.d.ts +2 -2
- package/dist/loop-extras-parser.d.ts.map +1 -1
- package/dist/loop-extras-parser.js +2 -2
- package/dist/loop-extras-parser.js.map +1 -1
- package/dist/loop-projection.d.ts +6 -0
- package/dist/loop-projection.d.ts.map +1 -0
- package/dist/loop-projection.js +26 -0
- package/dist/loop-projection.js.map +1 -0
- package/dist/loop-store.d.ts +115 -24
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js +365 -218
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +214 -0
- package/dist/mcp/round-lifecycle.d.ts.map +1 -0
- package/dist/mcp/round-lifecycle.js +935 -0
- package/dist/mcp/round-lifecycle.js.map +1 -0
- package/dist/mcp/server.d.ts +2 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +29 -43
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +64 -101
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +433 -1110
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.d.ts +20 -11
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +587 -413
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.d.ts +12 -24
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +78 -184
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +61 -50
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +48 -146
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts +37 -6
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +487 -278
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/prompt-policy.d.ts +1 -8
- package/dist/prompt-policy.d.ts.map +1 -1
- package/dist/prompt-policy.js +8 -26
- package/dist/prompt-policy.js.map +1 -1
- package/dist/protocol.d.ts +398 -236
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +147 -17
- package/dist/protocol.js.map +1 -1
- package/dist/replay.d.ts +5 -13
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +32 -69
- 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 +23 -25
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +103 -92
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +13 -13
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +25 -14
- package/dist/round-driver.js.map +1 -1
- package/dist/round-transaction.d.ts +14 -18
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +37 -47
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +48 -0
- package/dist/self-eval.d.ts.map +1 -0
- package/dist/self-eval.js +248 -0
- package/dist/self-eval.js.map +1 -0
- package/dist/storage.d.ts +9 -4
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +18 -6
- package/dist/storage.js.map +1 -1
- package/dist/token-utils.d.ts +15 -3
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +24 -5
- package/dist/token-utils.js.map +1 -1
- package/dist/verification-gate.d.ts +149 -0
- package/dist/verification-gate.d.ts.map +1 -0
- package/dist/verification-gate.js +1343 -0
- package/dist/verification-gate.js.map +1 -0
- 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 +37 -16
- package/package.json +5 -10
- package/skills/perception/SKILL.md +184 -202
- package/dist/canonical-event-writer.d.ts +0 -20
- package/dist/canonical-event-writer.d.ts.map +0 -1
- package/dist/canonical-event-writer.js +0 -131
- package/dist/canonical-event-writer.js.map +0 -1
- package/dist/compiler-subgoals.d.ts +0 -7
- package/dist/compiler-subgoals.d.ts.map +0 -1
- package/dist/compiler-subgoals.js +0 -93
- package/dist/compiler-subgoals.js.map +0 -1
- package/dist/derive-id.d.ts +0 -12
- package/dist/derive-id.d.ts.map +0 -1
- package/dist/derive-id.js +0 -31
- package/dist/derive-id.js.map +0 -1
- package/dist/mcp/session-projection.d.ts +0 -5
- package/dist/mcp/session-projection.d.ts.map +0 -1
- package/dist/mcp/session-projection.js +0 -18
- package/dist/mcp/session-projection.js.map +0 -1
- package/dist/mcp/session-queue.d.ts +0 -3
- package/dist/mcp/session-queue.d.ts.map +0 -1
- package/dist/mcp/session-queue.js +0 -18
- package/dist/mcp/session-queue.js.map +0 -1
- package/dist/mcp/session-types.d.ts +0 -72
- package/dist/mcp/session-types.d.ts.map +0 -1
- package/dist/mcp/session-types.js +0 -2
- package/dist/mcp/session-types.js.map +0 -1
- package/dist/round-commit-store.d.ts +0 -12
- package/dist/round-commit-store.d.ts.map +0 -1
- package/dist/round-commit-store.js +0 -13
- package/dist/round-commit-store.js.map +0 -1
- package/dist/round-gate.d.ts +0 -31
- package/dist/round-gate.d.ts.map +0 -1
- package/dist/round-gate.js +0 -259
- package/dist/round-gate.js.map +0 -1
- package/dist/round-recovery.d.ts +0 -17
- package/dist/round-recovery.d.ts.map +0 -1
- package/dist/round-recovery.js +0 -117
- package/dist/round-recovery.js.map +0 -1
- package/dist/round-report.d.ts +0 -16
- package/dist/round-report.d.ts.map +0 -1
- package/dist/round-report.js +0 -401
- package/dist/round-report.js.map +0 -1
- package/dist/runtime-services.d.ts +0 -59
- package/dist/runtime-services.d.ts.map +0 -1
- package/dist/runtime-services.js +0 -460
- package/dist/runtime-services.js.map +0 -1
- package/dist/vault-format.d.ts +0 -4
- package/dist/vault-format.d.ts.map +0 -1
- package/dist/vault-format.js +0 -4
- package/dist/vault-format.js.map +0 -1
- package/dist/vault-types.d.ts +0 -24
- package/dist/vault-types.d.ts.map +0 -1
- package/dist/vault-types.js +0 -2
- package/dist/vault-types.js.map +0 -1
- package/loopforge-policy.json +0 -340
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** v2.12: Derived claim provenance — the runtime's honest view of which
|
|
2
|
+
* agent-reported criteria completions are backed by machine evidence.
|
|
3
|
+
*
|
|
4
|
+
* Pure functions, no persistence. The inputs (evaluation + round evidence +
|
|
5
|
+
* verification flags) are already committed in the round transaction
|
|
6
|
+
* snapshot, so every claim view can be re-derived deterministically for
|
|
7
|
+
* audit and handoff purposes.
|
|
8
|
+
*
|
|
9
|
+
* Rules (honesty first — machine evidence is the only upgrade path):
|
|
10
|
+
* - every `success_criteria_met` entry is a claim, `claimed` by default;
|
|
11
|
+
* - upgraded to `verified` only when a machine-verifiable test pass is
|
|
12
|
+
* observed (test results with 0 failures AND a passed after-phase
|
|
13
|
+
* command snapshot);
|
|
14
|
+
* - downgraded to `contradicted` when error-level verification flags say
|
|
15
|
+
* the machine contradicted the claim.
|
|
16
|
+
*/
|
|
17
|
+
import type { VaultEntry } from "./loop-store.js";
|
|
18
|
+
import type { ProviderSnapshot } from "./evidence-provider.js";
|
|
19
|
+
import type { SelfEvaluation, VerificationFlag } from "./protocol.js";
|
|
20
|
+
export interface DerivedClaim {
|
|
21
|
+
/** Success criterion text as reported by the agent. */
|
|
22
|
+
targetId: string;
|
|
23
|
+
status: "verified" | "claimed" | "contradicted";
|
|
24
|
+
source: "agent" | "command" | "provider" | "verification";
|
|
25
|
+
/** Machine evidence reference, e.g. "command:npm-test". */
|
|
26
|
+
ref?: string;
|
|
27
|
+
detail?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface ClaimView {
|
|
30
|
+
claims: DerivedClaim[];
|
|
31
|
+
verifiedCount: number;
|
|
32
|
+
contradictedCount: number;
|
|
33
|
+
/** True when any machine-observable test evidence exists this round. */
|
|
34
|
+
hasMachineEvidence: boolean;
|
|
35
|
+
}
|
|
36
|
+
/** Derive the runtime claim view for a round. No file-level or text-level
|
|
37
|
+
* guessing: git observations only serve the evidence_integrity warn. */
|
|
38
|
+
export declare function deriveClaimView(selfEval: SelfEvaluation, evidenceSnapshots: ProviderSnapshot[]): ClaimView;
|
|
39
|
+
/** Re-derive a claim view including the contradiction downgrade driven by
|
|
40
|
+
* verification flags. Used by audit and listVerifiedClaims on persisted
|
|
41
|
+
* snapshots; the live round path uses deriveClaimView only. */
|
|
42
|
+
export declare function rederiveClaimViewWithFlags(selfEval: SelfEvaluation, evidenceSnapshots: ProviderSnapshot[], flags: VerificationFlag[]): ClaimView;
|
|
43
|
+
/** Files actually changed in a committed round (git provider, after evidence
|
|
44
|
+
* preferred). Returns null when the round has no observable git snapshot. */
|
|
45
|
+
export declare function resolveRoundFiles(vaultEntries: VaultEntry[], loopId: string, round: number): string[] | null;
|
|
46
|
+
/** Stable cr-IDs (and criterion texts) backed by verified claims across all
|
|
47
|
+
* committed rounds. Criterion texts are mapped to cr-IDs by callers that
|
|
48
|
+
* know the objective; this returns the raw verified targets. */
|
|
49
|
+
export declare function listVerifiedClaims(vaultEntries: VaultEntry[], loopId: string): string[];
|
|
50
|
+
//# sourceMappingURL=evidence-claims.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-claims.d.ts","sourceRoot":"","sources":["../src/evidence-claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,CAAC;IAChD,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,cAAc,CAAC;IAC1D,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AA2BD;yEACyE;AACzE,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,gBAAgB,EAAE,GACpC,SAAS,CAoBX;AAED;;gEAEgE;AAChE,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,KAAK,EAAE,gBAAgB,EAAE,GACxB,SAAS,CAcX;AAED;8EAC8E;AAC9E,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,UAAU,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,GAAG,IAAI,CAcjB;AAED;;iEAEiE;AACjE,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,UAAU,EAAE,EAC1B,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAiBV"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/** v2.12: Derived claim provenance — the runtime's honest view of which
|
|
2
|
+
* agent-reported criteria completions are backed by machine evidence.
|
|
3
|
+
*
|
|
4
|
+
* Pure functions, no persistence. The inputs (evaluation + round evidence +
|
|
5
|
+
* verification flags) are already committed in the round transaction
|
|
6
|
+
* snapshot, so every claim view can be re-derived deterministically for
|
|
7
|
+
* audit and handoff purposes.
|
|
8
|
+
*
|
|
9
|
+
* Rules (honesty first — machine evidence is the only upgrade path):
|
|
10
|
+
* - every `success_criteria_met` entry is a claim, `claimed` by default;
|
|
11
|
+
* - upgraded to `verified` only when a machine-verifiable test pass is
|
|
12
|
+
* observed (test results with 0 failures AND a passed after-phase
|
|
13
|
+
* command snapshot);
|
|
14
|
+
* - downgraded to `contradicted` when error-level verification flags say
|
|
15
|
+
* the machine contradicted the claim.
|
|
16
|
+
*/
|
|
17
|
+
import { committedRoundsFromEntries } from "./committed-round.js";
|
|
18
|
+
import { isRecord } from "./token-utils.js";
|
|
19
|
+
/** Contradicting error flags that invalidate agent claims. */
|
|
20
|
+
// NOTE: keep these as literals — importing the CHECK_* constants here would
|
|
21
|
+
// create a verification-gate ⇄ evidence-claims import cycle.
|
|
22
|
+
const CONTRADICTING_CHECKS = new Set([
|
|
23
|
+
"required_command_failed",
|
|
24
|
+
"command_evidence_mismatch",
|
|
25
|
+
"success_with_remaining_criteria",
|
|
26
|
+
]);
|
|
27
|
+
function hasPassingTestEvidence(selfEval) {
|
|
28
|
+
const results = selfEval.execution_evidence?.test_results;
|
|
29
|
+
return results !== null &&
|
|
30
|
+
results !== undefined &&
|
|
31
|
+
results.failed === 0 &&
|
|
32
|
+
results.passed > 0;
|
|
33
|
+
}
|
|
34
|
+
function hasPassedAfterCommand(snapshots) {
|
|
35
|
+
return snapshots.some((snapshot) => isRecord(snapshot.data) &&
|
|
36
|
+
snapshot.data.kind === "command" &&
|
|
37
|
+
snapshot.data.phase === "after" &&
|
|
38
|
+
snapshot.data.status === "passed");
|
|
39
|
+
}
|
|
40
|
+
/** Derive the runtime claim view for a round. No file-level or text-level
|
|
41
|
+
* guessing: git observations only serve the evidence_integrity warn. */
|
|
42
|
+
export function deriveClaimView(selfEval, evidenceSnapshots) {
|
|
43
|
+
const met = selfEval.execution_evidence?.success_criteria_met ?? [];
|
|
44
|
+
const machineVerified = hasPassingTestEvidence(selfEval) &&
|
|
45
|
+
hasPassedAfterCommand(evidenceSnapshots);
|
|
46
|
+
const claims = met.map((targetId) => ({
|
|
47
|
+
targetId,
|
|
48
|
+
status: machineVerified ? "verified" : "claimed",
|
|
49
|
+
source: machineVerified ? "command" : "agent",
|
|
50
|
+
}));
|
|
51
|
+
return {
|
|
52
|
+
claims,
|
|
53
|
+
verifiedCount: claims.filter((claim) => claim.status === "verified").length,
|
|
54
|
+
contradictedCount: 0,
|
|
55
|
+
// v3.3: machine evidence requires a passed after-phase command observed
|
|
56
|
+
// by the runtime itself — the agent's self-reported test_results are a
|
|
57
|
+
// claim, not evidence. Without a passed command, R8 and the
|
|
58
|
+
// criteria-claims check can no longer be satisfied by fabrication.
|
|
59
|
+
hasMachineEvidence: hasPassingTestEvidence(selfEval) &&
|
|
60
|
+
hasPassedAfterCommand(evidenceSnapshots),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/** Re-derive a claim view including the contradiction downgrade driven by
|
|
64
|
+
* verification flags. Used by audit and listVerifiedClaims on persisted
|
|
65
|
+
* snapshots; the live round path uses deriveClaimView only. */
|
|
66
|
+
export function rederiveClaimViewWithFlags(selfEval, evidenceSnapshots, flags) {
|
|
67
|
+
const view = deriveClaimView(selfEval, evidenceSnapshots);
|
|
68
|
+
const contradicted = flags.some((flag) => flag.severity === "error" && CONTRADICTING_CHECKS.has(flag.check));
|
|
69
|
+
if (contradicted) {
|
|
70
|
+
view.claims = view.claims.map((claim) => ({
|
|
71
|
+
...claim,
|
|
72
|
+
status: "contradicted",
|
|
73
|
+
source: "verification",
|
|
74
|
+
}));
|
|
75
|
+
view.verifiedCount = 0;
|
|
76
|
+
view.contradictedCount = view.claims.length;
|
|
77
|
+
}
|
|
78
|
+
return view;
|
|
79
|
+
}
|
|
80
|
+
/** Files actually changed in a committed round (git provider, after evidence
|
|
81
|
+
* preferred). Returns null when the round has no observable git snapshot. */
|
|
82
|
+
export function resolveRoundFiles(vaultEntries, loopId, round) {
|
|
83
|
+
const committed = committedRoundsFromEntries(vaultEntries)
|
|
84
|
+
.find((view) => view.loopId === loopId && view.round === round);
|
|
85
|
+
if (!committed)
|
|
86
|
+
return null;
|
|
87
|
+
const evidence = committed.afterEvidence.length > 0
|
|
88
|
+
? committed.afterEvidence
|
|
89
|
+
: committed.roundEvidence.length > 0
|
|
90
|
+
? committed.roundEvidence
|
|
91
|
+
: committed.beforeEvidence;
|
|
92
|
+
const git = evidence.find((item) => isRecord(item) && item.provider === "git" && Array.isArray(item.files));
|
|
93
|
+
if (!git)
|
|
94
|
+
return null;
|
|
95
|
+
return git.files.filter((file) => typeof file === "string");
|
|
96
|
+
}
|
|
97
|
+
/** Stable cr-IDs (and criterion texts) backed by verified claims across all
|
|
98
|
+
* committed rounds. Criterion texts are mapped to cr-IDs by callers that
|
|
99
|
+
* know the objective; this returns the raw verified targets. */
|
|
100
|
+
export function listVerifiedClaims(vaultEntries, loopId) {
|
|
101
|
+
const verified = new Set();
|
|
102
|
+
for (const round of committedRoundsFromEntries(vaultEntries)) {
|
|
103
|
+
if (round.loopId !== loopId || !round.evaluation)
|
|
104
|
+
continue;
|
|
105
|
+
const evidence = round.afterEvidence.length > 0
|
|
106
|
+
? round.afterEvidence
|
|
107
|
+
: round.roundEvidence;
|
|
108
|
+
const view = rederiveClaimViewWithFlags(round.evaluation, evidence, round.verificationFlags);
|
|
109
|
+
for (const claim of view.claims) {
|
|
110
|
+
if (claim.status === "verified")
|
|
111
|
+
verified.add(claim.targetId);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return [...verified];
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=evidence-claims.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-claims.js","sourceRoot":"","sources":["../src/evidence-claims.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* can be added without touching the verification pipeline.
|
|
6
6
|
*
|
|
7
7
|
* Built-in provider: GitEvidenceProvider — git file state capture with
|
|
8
|
-
* parallel async execution.
|
|
8
|
+
* parallel async execution (v2.0.1) and a synchronous fallback.
|
|
9
9
|
*/
|
|
10
10
|
import type { CommandEvidencePolicy } from "./policy.js";
|
|
11
11
|
/** A snapshot of evidence captured by a single provider. */
|
|
@@ -19,12 +19,6 @@ export interface ProviderSnapshot {
|
|
|
19
19
|
files: string[];
|
|
20
20
|
/** Provider-specific structured data. */
|
|
21
21
|
data: Record<string, unknown>;
|
|
22
|
-
/**
|
|
23
|
-
* Explicitly declares that this provider can verify claims. Providers that
|
|
24
|
-
* only report observations must leave this unset; their snapshots are
|
|
25
|
-
* never promoted to runtime-verified evidence.
|
|
26
|
-
*/
|
|
27
|
-
claimCapable?: boolean;
|
|
28
22
|
}
|
|
29
23
|
/** Interface for evidence capture providers.
|
|
30
24
|
*
|
|
@@ -45,11 +39,6 @@ export interface EvidenceProvider {
|
|
|
45
39
|
* (e.g. git not installed, no test config found). */
|
|
46
40
|
capture(context?: EvidenceCaptureContext): EvidenceCaptureResult;
|
|
47
41
|
}
|
|
48
|
-
/** Raised when the synchronous collector is asked to run an async provider. */
|
|
49
|
-
export declare class AsyncEvidenceProviderError extends Error {
|
|
50
|
-
readonly code: "async_provider_requires_collect_async";
|
|
51
|
-
constructor(provider: string);
|
|
52
|
-
}
|
|
53
42
|
export interface EvidenceCollectOptions {
|
|
54
43
|
timeoutMs?: number;
|
|
55
44
|
loopId?: string;
|
|
@@ -63,7 +52,7 @@ export declare function unregisterEvidenceProvider(name: string): boolean;
|
|
|
63
52
|
*
|
|
64
53
|
* Usage:
|
|
65
54
|
* const collector = new EvidenceCollector([new GitEvidenceProvider()]);
|
|
66
|
-
* const snapshots =
|
|
55
|
+
* const snapshots = collector.collect();
|
|
67
56
|
* // snapshots = [{ provider: "git", files: [...], data: {...} }]
|
|
68
57
|
*/
|
|
69
58
|
export declare class EvidenceCollector {
|
|
@@ -74,13 +63,9 @@ export declare class EvidenceCollector {
|
|
|
74
63
|
static fromProviderNames(providerNames: string[]): EvidenceCollector;
|
|
75
64
|
/** Build built-ins and explicitly configured command providers. */
|
|
76
65
|
static fromPolicy(): EvidenceCollector;
|
|
77
|
-
/** Run
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* asynchronous providers must use collectAsync(); silently treating an
|
|
81
|
-
* async provider as unavailable would turn a caller limitation into a
|
|
82
|
-
* misleading evidence result.
|
|
83
|
-
*/
|
|
66
|
+
/** Run all providers and return non-null snapshots.
|
|
67
|
+
* Providers that return null (e.g. git not available) are silently
|
|
68
|
+
* skipped — the caller handles missing evidence. */
|
|
84
69
|
collect(options?: EvidenceCollectOptions): ProviderSnapshot[];
|
|
85
70
|
/** Capture all providers concurrently with per-provider timeout isolation. */
|
|
86
71
|
collectAsync(options?: EvidenceCollectOptions): Promise<ProviderSnapshot[]>;
|
|
@@ -97,6 +82,13 @@ export interface CommandEvidenceData extends Record<string, unknown> {
|
|
|
97
82
|
stdout: string;
|
|
98
83
|
stderr: string;
|
|
99
84
|
truncated: boolean;
|
|
85
|
+
/** v3.3: Workspace files this command depends on (resolved at capture
|
|
86
|
+
* time from executable + args, plus package.json). The verification gate
|
|
87
|
+
* cross-checks these against the round's git diff to detect verification
|
|
88
|
+
* domain tampering — a command whose entrypoint changed this round is not
|
|
89
|
+
* trustworthy. Forward-slash paths (git convention). Empty = unresolvable
|
|
90
|
+
* (external command like `bash -c`) — the gate fails open. */
|
|
91
|
+
entrypointFiles: string[];
|
|
100
92
|
}
|
|
101
93
|
/** Explicit, shell-free verification command. Disabled unless configured. */
|
|
102
94
|
export declare class CommandEvidenceProvider implements EvidenceProvider {
|
|
@@ -131,16 +123,51 @@ export interface GitFileState {
|
|
|
131
123
|
* On a normal repo (~200ms/command): ~200ms vs ~600ms sequential.
|
|
132
124
|
* On Windows with antivirus (~4s/command): ~4s vs ~12s sequential. */
|
|
133
125
|
export declare function captureGitFileStateAsync(signal?: AbortSignal, timeoutMs?: number): Promise<GitFileState | null>;
|
|
134
|
-
/**
|
|
126
|
+
/** v1.17 (sync): Capture git file state using sequential execFileSync.
|
|
127
|
+
*
|
|
128
|
+
* @deprecated Use captureGitFileStateAsync() for the primary path.
|
|
129
|
+
* This sync fallback exists for legacy callers that cannot be made async
|
|
130
|
+
* (e.g. reconstructSession during startup). Uses execFileSync — shell-free,
|
|
131
|
+
* unlike the old execSync-based implementation. */
|
|
132
|
+
export declare function captureGitFileState(): GitFileState | null;
|
|
133
|
+
/** Captures git file state (tracked, staged, untracked) via the async
|
|
134
|
+
* captureGitFileStateAsync() when a context is provided, falling back
|
|
135
|
+
* to the synchronous captureGitFileState() for legacy callers. */
|
|
135
136
|
export declare class GitEvidenceProvider implements EvidenceProvider {
|
|
136
137
|
readonly name = "git";
|
|
137
|
-
capture(context?: EvidenceCaptureContext): Promise<ProviderSnapshot | null>;
|
|
138
|
+
capture(context?: EvidenceCaptureContext): ProviderSnapshot | null | Promise<ProviderSnapshot | null>;
|
|
138
139
|
}
|
|
139
|
-
/** Extract
|
|
140
|
+
/** Extract merged file list from evidence snapshots for backward compat
|
|
141
|
+
* with runtimeFilesChanged (string[] | null).
|
|
142
|
+
*
|
|
143
|
+
* Looks for the "git" provider first; falls back to merging all
|
|
144
|
+
* providers' files arrays (deduplicated). */
|
|
140
145
|
export declare function extractFilesFromSnapshots(snapshots: ProviderSnapshot[]): string[] | null;
|
|
141
146
|
/** Return provider snapshots narrowed to evidence produced during this round.
|
|
142
147
|
* The full provider payload remains available in data, while files contains
|
|
143
148
|
* only added/removed/content-changed paths. */
|
|
144
149
|
export declare function diffSnapshotCollections(before: ProviderSnapshot[], after: ProviderSnapshot[]): ProviderSnapshot[];
|
|
145
150
|
export declare function diffSnapshots(before: ProviderSnapshot[], after: ProviderSnapshot[]): string[] | null;
|
|
151
|
+
/** v3.3.1: Implement the v2.13 policy switch `engine.backtrack_auto_restore` —
|
|
152
|
+
* automatically restore the workspace after a backtrack:
|
|
153
|
+
* 1. `git stash push -u` — every uncommitted change (tracked + untracked)
|
|
154
|
+
* is preserved in a stash, never destroyed (an untracked file the agent
|
|
155
|
+
* created in the failed rounds is not silently deleted).
|
|
156
|
+
* 2. `git reset --hard <restoreHead>` — when the failed rounds created
|
|
157
|
+
* commits, discard them back to the clean round's commit (the v2.12
|
|
158
|
+
* restore-point HEAD).
|
|
159
|
+
*
|
|
160
|
+
* Runs only inside the workspace (cwd, shell: false, 30s timeout), and the
|
|
161
|
+
* caller gates it behind the policy flag — DANGEROUS by design, off by
|
|
162
|
+
* default. Failures are reported, never thrown: the verification gate still
|
|
163
|
+
* checks workspace cleanliness afterwards, and the backtrack prompt already
|
|
164
|
+
* instructs manual restore as the fallback. An empty workspace ("No local
|
|
165
|
+
* changes") is not a failure. */
|
|
166
|
+
export declare function runBacktrackAutoRestore(gitHead: string | undefined, round: number,
|
|
167
|
+
/** v3.3.1: workspace root; injectable so tests can run against a temp
|
|
168
|
+
* repo. Defaults to the process cwd, matching the evidence providers. */
|
|
169
|
+
cwd?: string): Promise<{
|
|
170
|
+
ok: boolean;
|
|
171
|
+
detail: string;
|
|
172
|
+
}>;
|
|
146
173
|
//# sourceMappingURL=evidence-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence-provider.d.ts","sourceRoot":"","sources":["../src/evidence-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"evidence-provider.d.ts","sourceRoot":"","sources":["../src/evidence-provider.ts"],"names":[],"mappings":"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"}
|