@coderifts/agent-guard 5.0.0 → 6.1.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 +53 -4
- package/dist/cjs/adapters/anthropic.d.ts +26 -0
- package/dist/cjs/adapters/anthropic.d.ts.map +1 -1
- package/dist/cjs/adapters/anthropic.js +68 -0
- package/dist/cjs/adapters/anthropic.js.map +1 -1
- package/dist/cjs/adapters/gemini.d.ts +39 -0
- package/dist/cjs/adapters/gemini.d.ts.map +1 -1
- package/dist/cjs/adapters/gemini.js +83 -0
- package/dist/cjs/adapters/gemini.js.map +1 -1
- package/dist/cjs/adapters/langgraph.d.ts +29 -0
- package/dist/cjs/adapters/langgraph.d.ts.map +1 -1
- package/dist/cjs/adapters/langgraph.js +70 -0
- package/dist/cjs/adapters/langgraph.js.map +1 -1
- package/dist/cjs/adapters/openai.d.ts +44 -0
- package/dist/cjs/adapters/openai.d.ts.map +1 -1
- package/dist/cjs/adapters/openai.js +86 -0
- package/dist/cjs/adapters/openai.js.map +1 -1
- package/dist/cjs/execution-proof.d.ts +7 -0
- package/dist/cjs/execution-proof.d.ts.map +1 -1
- package/dist/cjs/execution-proof.js +1 -0
- package/dist/cjs/execution-proof.js.map +1 -1
- package/dist/cjs/execution-time-fingerprint.d.ts +65 -0
- package/dist/cjs/execution-time-fingerprint.d.ts.map +1 -0
- package/dist/cjs/execution-time-fingerprint.js +129 -0
- package/dist/cjs/execution-time-fingerprint.js.map +1 -0
- package/dist/cjs/final-answer-proof.d.ts +2 -7
- package/dist/cjs/final-answer-proof.d.ts.map +1 -1
- package/dist/cjs/final-answer-proof.js +14 -11
- package/dist/cjs/final-answer-proof.js.map +1 -1
- package/dist/cjs/freshness.d.ts +6 -1
- package/dist/cjs/freshness.d.ts.map +1 -1
- package/dist/cjs/freshness.js +6 -1
- package/dist/cjs/freshness.js.map +1 -1
- package/dist/cjs/guard.d.ts.map +1 -1
- package/dist/cjs/guard.js +35 -0
- package/dist/cjs/guard.js.map +1 -1
- package/dist/cjs/index.d.ts +10 -8
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +20 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types.d.ts +26 -2
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +3 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/adapters/anthropic.d.ts +26 -0
- package/dist/esm/adapters/anthropic.d.ts.map +1 -1
- package/dist/esm/adapters/anthropic.js +66 -0
- package/dist/esm/adapters/anthropic.js.map +1 -1
- package/dist/esm/adapters/gemini.d.ts +39 -0
- package/dist/esm/adapters/gemini.d.ts.map +1 -1
- package/dist/esm/adapters/gemini.js +81 -0
- package/dist/esm/adapters/gemini.js.map +1 -1
- package/dist/esm/adapters/langgraph.d.ts +29 -0
- package/dist/esm/adapters/langgraph.d.ts.map +1 -1
- package/dist/esm/adapters/langgraph.js +68 -0
- package/dist/esm/adapters/langgraph.js.map +1 -1
- package/dist/esm/adapters/openai.d.ts +44 -0
- package/dist/esm/adapters/openai.d.ts.map +1 -1
- package/dist/esm/adapters/openai.js +84 -0
- package/dist/esm/adapters/openai.js.map +1 -1
- package/dist/esm/execution-proof.d.ts +7 -0
- package/dist/esm/execution-proof.d.ts.map +1 -1
- package/dist/esm/execution-proof.js +1 -0
- package/dist/esm/execution-proof.js.map +1 -1
- package/dist/esm/execution-time-fingerprint.d.ts +65 -0
- package/dist/esm/execution-time-fingerprint.d.ts.map +1 -0
- package/dist/esm/execution-time-fingerprint.js +123 -0
- package/dist/esm/execution-time-fingerprint.js.map +1 -0
- package/dist/esm/final-answer-proof.d.ts +2 -7
- package/dist/esm/final-answer-proof.d.ts.map +1 -1
- package/dist/esm/final-answer-proof.js +14 -11
- package/dist/esm/final-answer-proof.js.map +1 -1
- package/dist/esm/freshness.d.ts +6 -1
- package/dist/esm/freshness.d.ts.map +1 -1
- package/dist/esm/freshness.js +6 -1
- package/dist/esm/freshness.js.map +1 -1
- package/dist/esm/guard.d.ts.map +1 -1
- package/dist/esm/guard.js +35 -0
- package/dist/esm/guard.js.map +1 -1
- package/dist/esm/index.d.ts +10 -8
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +10 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +26 -2
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +3 -1
- package/dist/esm/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -27,7 +27,10 @@ exports.protectedToolToOpenAI = protectedToolToOpenAI;
|
|
|
27
27
|
exports.toOpenAITools = toOpenAITools;
|
|
28
28
|
exports.withCodeRiftsOpenAI = withCodeRiftsOpenAI;
|
|
29
29
|
exports.openAIToolAdapter = openAIToolAdapter;
|
|
30
|
+
exports.defaultSerializeOpenAIToolResult = defaultSerializeOpenAIToolResult;
|
|
31
|
+
exports.bindOpenAIGuardOutcome = bindOpenAIGuardOutcome;
|
|
30
32
|
const with_coderifts_js_1 = require("../with-coderifts.js");
|
|
33
|
+
const final_answer_proof_js_1 = require("../final-answer-proof.js");
|
|
31
34
|
/** Empty JSON Schema object — used when a ProtectedTool has no inputSchema. */
|
|
32
35
|
const EMPTY_PARAMETERS = Object.freeze({
|
|
33
36
|
type: 'object',
|
|
@@ -94,4 +97,87 @@ function openAIToolAdapter(result) {
|
|
|
94
97
|
}
|
|
95
98
|
return out;
|
|
96
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Default result → content body serializer (pure).
|
|
102
|
+
* Objects/arrays → JSON.stringify; strings unchanged; other primitives → String().
|
|
103
|
+
*/
|
|
104
|
+
function defaultSerializeOpenAIToolResult(result) {
|
|
105
|
+
if (typeof result === 'string')
|
|
106
|
+
return result;
|
|
107
|
+
if (typeof result === 'number'
|
|
108
|
+
|| typeof result === 'boolean'
|
|
109
|
+
|| typeof result === 'bigint'
|
|
110
|
+
|| result === null
|
|
111
|
+
|| result === undefined) {
|
|
112
|
+
return String(result);
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
return JSON.stringify(result);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return String(result);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Map a full GuardOutcome into an OpenAI tool message with the execution proof embedded.
|
|
123
|
+
*
|
|
124
|
+
* Option B (proof-binding helper): host still calls guardToolCall; this only binds
|
|
125
|
+
* outcome → framework tool-result. Pure and non-mutating. Always embeds outcome.proof
|
|
126
|
+
* (present on every arm) via attachProofToAgentResponse / renderFinalAnswerProof —
|
|
127
|
+
* does not reinvent proof formatting.
|
|
128
|
+
*
|
|
129
|
+
* Arms:
|
|
130
|
+
* - executed (result): serialized result + rendered proof
|
|
131
|
+
* - blocked before factory: gate-denied text (no fabricated result) + proof
|
|
132
|
+
* - factory threw: error indication + proof
|
|
133
|
+
*/
|
|
134
|
+
function bindOpenAIGuardOutcome(outcome, args) {
|
|
135
|
+
const tool_call_id = args.tool_call_id;
|
|
136
|
+
const serialize = args.serialize ?? defaultSerializeOpenAIToolResult;
|
|
137
|
+
let body;
|
|
138
|
+
if (outcome.executed === true) {
|
|
139
|
+
// Executed arms (enforced or not): result is present.
|
|
140
|
+
body = serialize(outcome.result);
|
|
141
|
+
}
|
|
142
|
+
else if (outcome.executionAttempted === false) {
|
|
143
|
+
// Blocked before factory — no result; never fabricate one.
|
|
144
|
+
const kind = outcome.verdict && typeof outcome.verdict === 'object' && 'kind' in outcome.verdict
|
|
145
|
+
? String(outcome.verdict.kind)
|
|
146
|
+
: 'UNKNOWN';
|
|
147
|
+
body =
|
|
148
|
+
`CodeRifts gate did not permit execution (verdict: ${kind}). `
|
|
149
|
+
+ 'No tool result was produced.';
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
// executionAttempted && !executed → factory threw; error is present.
|
|
153
|
+
const err = 'error' in outcome ? outcome.error : undefined;
|
|
154
|
+
const errText = formatGuardError(err);
|
|
155
|
+
const kind = outcome.verdict && typeof outcome.verdict === 'object' && 'kind' in outcome.verdict
|
|
156
|
+
? String(outcome.verdict.kind)
|
|
157
|
+
: 'UNKNOWN';
|
|
158
|
+
body =
|
|
159
|
+
`Tool execution failed after gate decision (verdict: ${kind}): ${errText}`;
|
|
160
|
+
}
|
|
161
|
+
// Reuse public proof render path (string append) — same separator/render as final-answer attach.
|
|
162
|
+
const content = (0, final_answer_proof_js_1.attachProofToAgentResponse)(body, outcome.proof);
|
|
163
|
+
// Type brand only (no extra wire keys — OpenAI tool messages stay {role, tool_call_id, content}).
|
|
164
|
+
const msg = {
|
|
165
|
+
role: 'tool',
|
|
166
|
+
tool_call_id,
|
|
167
|
+
content,
|
|
168
|
+
};
|
|
169
|
+
return msg;
|
|
170
|
+
}
|
|
171
|
+
function formatGuardError(err) {
|
|
172
|
+
if (err instanceof Error)
|
|
173
|
+
return err.message || err.name || 'Error';
|
|
174
|
+
if (typeof err === 'string')
|
|
175
|
+
return err;
|
|
176
|
+
try {
|
|
177
|
+
return JSON.stringify(err);
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
return String(err);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
97
183
|
//# sourceMappingURL=openai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/adapters/openai.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/adapters/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,13 @@ export type GuardExecutionProof = {
|
|
|
96
96
|
change_fp_is_what_was_checked_not_what_executed: true;
|
|
97
97
|
calls_outside_guarded_path_invisible: true;
|
|
98
98
|
execution_result_hash_is_not_artifact_match_proof: true;
|
|
99
|
+
/**
|
|
100
|
+
* conditional_write:true is the HOST's assertion that it conditioned the write on a version
|
|
101
|
+
* token. The guard does NOT and CANNOT independently verify that a compare-and-swap actually
|
|
102
|
+
* occurred at commit time — the guard never writes. Absence is reported as 'not_reported',
|
|
103
|
+
* never as false. (ID781 option A: honesty label; real CAS attestation is separate work.)
|
|
104
|
+
*/
|
|
105
|
+
conditional_write_is_host_asserted_not_cas_verified: true;
|
|
99
106
|
};
|
|
100
107
|
};
|
|
101
108
|
export type ProofBuildInput = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-proof.d.ts","sourceRoot":"","sources":["../../src/execution-proof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,EAAG,0BAAmC,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EACF,cAAc,GACd,iBAAiB,GACjB,wBAAwB,GACxB,yBAAyB,CAAC;CAC/B,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,OAAO,oBAAoB,CAAC;IACxC,uGAAuG;IACvG,WAAW,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE;QACP;;;WAGG;QACH,QAAQ,EAAE,OAAO,CAAC;QAClB;;;WAGG;QACH,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;QAClC,sEAAsE;QACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IACF;;;;OAIG;IACH,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,IAAI,CAAC;IACT;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE;QACT,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,mBAAmB,CAAC;IAC3C;;OAEG;IACH,MAAM,EAAE;QACN,0BAA0B,EAAE,IAAI,CAAC;QACjC,iCAAiC,EAAE,IAAI,CAAC;QACxC,yCAAyC,EAAE,IAAI,CAAC;QAChD,+CAA+C,EAAE,IAAI,CAAC;QACtD,oCAAoC,EAAE,IAAI,CAAC;QAC3C,iDAAiD,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-proof.d.ts","sourceRoot":"","sources":["../../src/execution-proof.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ const LIMITS = Object.freeze({
|
|
|
33
33
|
change_fp_is_what_was_checked_not_what_executed: true,
|
|
34
34
|
calls_outside_guarded_path_invisible: true,
|
|
35
35
|
execution_result_hash_is_not_artifact_match_proof: true,
|
|
36
|
+
conditional_write_is_host_asserted_not_cas_verified: true,
|
|
36
37
|
});
|
|
37
38
|
/**
|
|
38
39
|
* Runtime twin of the type-level enforced⟺receiptVerified invariant.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-proof.js","sourceRoot":"","sources":["../../src/execution-proof.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;
|
|
1
|
+
{"version":3,"file":"execution-proof.js","sourceRoot":"","sources":["../../src/execution-proof.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID842 step 1 — host-independent execution-time fingerprint recheck (pure).
|
|
3
|
+
*
|
|
4
|
+
* Recomputes the CURRENT artifacts' bundle fingerprint with the CANONICAL algorithm
|
|
5
|
+
* (server change-set.computeBundleFingerprint / crbundle.v1) and compares it to the
|
|
6
|
+
* fingerprint authorized on the receipt/envelope. No network, no host callback —
|
|
7
|
+
* measures only the artifacts it is given.
|
|
8
|
+
*
|
|
9
|
+
* Gated at the guard wire by GuardConfig.requireExecutionStateMatch (default false;
|
|
10
|
+
* product default flip is ID842 step 3).
|
|
11
|
+
*/
|
|
12
|
+
import type { Artifact } from './types.js';
|
|
13
|
+
/** Context slots the server folds into crbundle.v1 (change-set.js:477–480). */
|
|
14
|
+
export type BundleFingerprintContext = {
|
|
15
|
+
operation?: unknown;
|
|
16
|
+
environment?: unknown;
|
|
17
|
+
repository?: unknown;
|
|
18
|
+
branch?: unknown;
|
|
19
|
+
pull_request?: unknown;
|
|
20
|
+
policy_profile?: unknown;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Canonical crbundle.v1 bundle fingerprint — byte-identical to
|
|
24
|
+
* coderifts-app change-set.computeBundleFingerprint(artifacts, context) at change-set.js:466.
|
|
25
|
+
* Do NOT invent a second preimage.
|
|
26
|
+
*/
|
|
27
|
+
export declare function computeCanonicalBundleFingerprint(artifacts: Artifact[], context?: BundleFingerprintContext | null): string;
|
|
28
|
+
/** Stable reason codes (greppable; align with app verdict-core/execution-time-fingerprint). */
|
|
29
|
+
export declare const EXECUTION_TIME_FP_REASONS: Readonly<{
|
|
30
|
+
readonly MATCH: "match";
|
|
31
|
+
/** Current artifacts hash ≠ authorized fingerprint (T1→T2 content drift). */
|
|
32
|
+
readonly FINGERPRINT_STALE_AT_EXECUTE: "fingerprint_stale_at_execute";
|
|
33
|
+
/** Integrity-style alias used on the guard blocked path (IntegrityCause). */
|
|
34
|
+
readonly EXECUTION_STATE_DRIFT: "EXECUTION_STATE_DRIFT";
|
|
35
|
+
readonly MISSING_AUTHORIZED_FINGERPRINT: "missing_authorized_fingerprint";
|
|
36
|
+
readonly MISSING_ARTIFACTS: "missing_artifacts";
|
|
37
|
+
}>;
|
|
38
|
+
export type ExecutionTimeFpReason = (typeof EXECUTION_TIME_FP_REASONS)[keyof typeof EXECUTION_TIME_FP_REASONS];
|
|
39
|
+
export type ExecutionTimeFingerprintVerdict = {
|
|
40
|
+
match: boolean;
|
|
41
|
+
reason: ExecutionTimeFpReason;
|
|
42
|
+
current_fingerprint: string | null;
|
|
43
|
+
authorized_fingerprint: string | null;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Extract the authorized fingerprint from a decision envelope / receipt view.
|
|
47
|
+
* Authorize path: fingerprint === input_fingerprint === crbundle.v1 hash.
|
|
48
|
+
*/
|
|
49
|
+
export declare function authorizedFingerprintFromEnvelope(envelope: Record<string, unknown> | null | undefined): string | null;
|
|
50
|
+
export type CheckExecutionTimeFingerprintArgs = {
|
|
51
|
+
/** CURRENT artifacts about to execute (host-independent: measured as given). */
|
|
52
|
+
artifacts: Artifact[] | undefined | null;
|
|
53
|
+
/** Same context slots the server folded into crbundle.v1 at authorize. */
|
|
54
|
+
context?: BundleFingerprintContext | null;
|
|
55
|
+
/** Explicit authorized fp (wins over envelope extraction). */
|
|
56
|
+
authorizedFingerprint?: string | null;
|
|
57
|
+
/** Decision envelope / receipt projection carrying the authorized fp. */
|
|
58
|
+
envelope?: Record<string, unknown> | null;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Pure execution-time check: recompute current artifacts fp and compare to authorized.
|
|
62
|
+
* No network, no host-supplied expected_fingerprint trusted for the CURRENT measurement.
|
|
63
|
+
*/
|
|
64
|
+
export declare function checkExecutionTimeFingerprint(args?: CheckExecutionTimeFingerprintArgs): ExecutionTimeFingerprintVerdict;
|
|
65
|
+
//# sourceMappingURL=execution-time-fingerprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-time-fingerprint.d.ts","sourceRoot":"","sources":["../../src/execution-time-fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAoB3C,+EAA+E;AAC/E,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,GACxC,MAAM,CAwBR;AAED,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB;;IAEpC,6EAA6E;;IAE7E,6EAA6E;;;;EAIpE,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE7E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,qBAAqB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACnD,MAAM,GAAG,IAAI,CAYf;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,gFAAgF;IAChF,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC1C,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,GAAE,iCAA4D,GACjE,+BAA+B,CAyCjC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ID842 step 1 — host-independent execution-time fingerprint recheck (pure).
|
|
4
|
+
*
|
|
5
|
+
* Recomputes the CURRENT artifacts' bundle fingerprint with the CANONICAL algorithm
|
|
6
|
+
* (server change-set.computeBundleFingerprint / crbundle.v1) and compares it to the
|
|
7
|
+
* fingerprint authorized on the receipt/envelope. No network, no host callback —
|
|
8
|
+
* measures only the artifacts it is given.
|
|
9
|
+
*
|
|
10
|
+
* Gated at the guard wire by GuardConfig.requireExecutionStateMatch (default false;
|
|
11
|
+
* product default flip is ID842 step 3).
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.EXECUTION_TIME_FP_REASONS = void 0;
|
|
15
|
+
exports.computeCanonicalBundleFingerprint = computeCanonicalBundleFingerprint;
|
|
16
|
+
exports.authorizedFingerprintFromEnvelope = authorizedFingerprintFromEnvelope;
|
|
17
|
+
exports.checkExecutionTimeFingerprint = checkExecutionTimeFingerprint;
|
|
18
|
+
const node_crypto_1 = require("node:crypto");
|
|
19
|
+
/** Matches server change-set.js NUL separator. */
|
|
20
|
+
const NUL = '\x1f';
|
|
21
|
+
/** Matches server change-set.js BUNDLE_FP_DOMAIN. */
|
|
22
|
+
const BUNDLE_FP_DOMAIN = 'crbundle.v1';
|
|
23
|
+
function sha256hex(s) {
|
|
24
|
+
return (0, node_crypto_1.createHash)('sha256').update(s, 'utf8').digest('hex');
|
|
25
|
+
}
|
|
26
|
+
function specStr(v) {
|
|
27
|
+
if (v == null)
|
|
28
|
+
return '';
|
|
29
|
+
return typeof v === 'string' ? v : JSON.stringify(v);
|
|
30
|
+
}
|
|
31
|
+
function scalar(v) {
|
|
32
|
+
return v == null ? '' : String(v);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Canonical crbundle.v1 bundle fingerprint — byte-identical to
|
|
36
|
+
* coderifts-app change-set.computeBundleFingerprint(artifacts, context) at change-set.js:466.
|
|
37
|
+
* Do NOT invent a second preimage.
|
|
38
|
+
*/
|
|
39
|
+
function computeCanonicalBundleFingerprint(artifacts, context) {
|
|
40
|
+
const sorted = artifacts.slice().sort((x, y) => {
|
|
41
|
+
const kx = `${x.type}${NUL}${x.id}`;
|
|
42
|
+
const ky = `${y.type}${NUL}${y.id}`;
|
|
43
|
+
return kx < ky ? -1 : (kx > ky ? 1 : 0);
|
|
44
|
+
});
|
|
45
|
+
const parts = [BUNDLE_FP_DOMAIN, String(artifacts.length)];
|
|
46
|
+
for (const a of sorted) {
|
|
47
|
+
parts.push([a.type, a.id, sha256hex(specStr(a.before)), sha256hex(specStr(a.after))].join(NUL));
|
|
48
|
+
}
|
|
49
|
+
const ctx = context || {};
|
|
50
|
+
parts.push([
|
|
51
|
+
scalar(ctx.operation),
|
|
52
|
+
scalar(ctx.environment),
|
|
53
|
+
scalar(ctx.repository),
|
|
54
|
+
scalar(ctx.branch),
|
|
55
|
+
scalar(ctx.pull_request),
|
|
56
|
+
scalar(ctx.policy_profile),
|
|
57
|
+
].join(NUL));
|
|
58
|
+
return `sha256:${sha256hex(parts.join(NUL))}`;
|
|
59
|
+
}
|
|
60
|
+
/** Stable reason codes (greppable; align with app verdict-core/execution-time-fingerprint). */
|
|
61
|
+
exports.EXECUTION_TIME_FP_REASONS = Object.freeze({
|
|
62
|
+
MATCH: 'match',
|
|
63
|
+
/** Current artifacts hash ≠ authorized fingerprint (T1→T2 content drift). */
|
|
64
|
+
FINGERPRINT_STALE_AT_EXECUTE: 'fingerprint_stale_at_execute',
|
|
65
|
+
/** Integrity-style alias used on the guard blocked path (IntegrityCause). */
|
|
66
|
+
EXECUTION_STATE_DRIFT: 'EXECUTION_STATE_DRIFT',
|
|
67
|
+
MISSING_AUTHORIZED_FINGERPRINT: 'missing_authorized_fingerprint',
|
|
68
|
+
MISSING_ARTIFACTS: 'missing_artifacts',
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Extract the authorized fingerprint from a decision envelope / receipt view.
|
|
72
|
+
* Authorize path: fingerprint === input_fingerprint === crbundle.v1 hash.
|
|
73
|
+
*/
|
|
74
|
+
function authorizedFingerprintFromEnvelope(envelope) {
|
|
75
|
+
if (!envelope || typeof envelope !== 'object')
|
|
76
|
+
return null;
|
|
77
|
+
if (typeof envelope.fingerprint === 'string' && envelope.fingerprint) {
|
|
78
|
+
return envelope.fingerprint;
|
|
79
|
+
}
|
|
80
|
+
if (typeof envelope.input_fingerprint === 'string' && envelope.input_fingerprint) {
|
|
81
|
+
return envelope.input_fingerprint;
|
|
82
|
+
}
|
|
83
|
+
if (typeof envelope.verdict_fingerprint === 'string' && envelope.verdict_fingerprint) {
|
|
84
|
+
return envelope.verdict_fingerprint;
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Pure execution-time check: recompute current artifacts fp and compare to authorized.
|
|
90
|
+
* No network, no host-supplied expected_fingerprint trusted for the CURRENT measurement.
|
|
91
|
+
*/
|
|
92
|
+
function checkExecutionTimeFingerprint(args = { artifacts: undefined }) {
|
|
93
|
+
const { artifacts, context, authorizedFingerprint, envelope } = args;
|
|
94
|
+
const authorized = typeof authorizedFingerprint === 'string' && authorizedFingerprint
|
|
95
|
+
? authorizedFingerprint
|
|
96
|
+
: authorizedFingerprintFromEnvelope(envelope);
|
|
97
|
+
if (!Array.isArray(artifacts) || artifacts.length === 0) {
|
|
98
|
+
return {
|
|
99
|
+
match: false,
|
|
100
|
+
reason: exports.EXECUTION_TIME_FP_REASONS.MISSING_ARTIFACTS,
|
|
101
|
+
current_fingerprint: null,
|
|
102
|
+
authorized_fingerprint: authorized,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
if (typeof authorized !== 'string' || !authorized) {
|
|
106
|
+
return {
|
|
107
|
+
match: false,
|
|
108
|
+
reason: exports.EXECUTION_TIME_FP_REASONS.MISSING_AUTHORIZED_FINGERPRINT,
|
|
109
|
+
current_fingerprint: null,
|
|
110
|
+
authorized_fingerprint: null,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
const current = computeCanonicalBundleFingerprint(artifacts, context || {});
|
|
114
|
+
if (current !== authorized) {
|
|
115
|
+
return {
|
|
116
|
+
match: false,
|
|
117
|
+
reason: exports.EXECUTION_TIME_FP_REASONS.FINGERPRINT_STALE_AT_EXECUTE,
|
|
118
|
+
current_fingerprint: current,
|
|
119
|
+
authorized_fingerprint: authorized,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
match: true,
|
|
124
|
+
reason: exports.EXECUTION_TIME_FP_REASONS.MATCH,
|
|
125
|
+
current_fingerprint: current,
|
|
126
|
+
authorized_fingerprint: authorized,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=execution-time-fingerprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-time-fingerprint.js","sourceRoot":"","sources":["../../src/execution-time-fingerprint.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAsCH,8EA2BC;AA2BD,8EAcC;AAiBD,sEA2CC;AApKD,6CAAyC;AAGzC,kDAAkD;AAClD,MAAM,GAAG,GAAG,MAAM,CAAC;AACnB,qDAAqD;AACrD,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,OAAO,CAAC,CAAU;IACzB,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,MAAM,CAAC,CAAU;IACxB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAYD;;;;GAIG;AACH,SAAgB,iCAAiC,CAC/C,SAAqB,EACrB,OAAyC;IAEzC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,IAAI,EAAE,CAAC;IAC1B,KAAK,CAAC,IAAI,CACR;QACE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;KAC3B,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;IACF,OAAO,UAAU,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,+FAA+F;AAClF,QAAA,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,KAAK,EAAE,OAAO;IACd,6EAA6E;IAC7E,4BAA4B,EAAE,8BAA8B;IAC5D,6EAA6E;IAC7E,qBAAqB,EAAE,uBAAuB;IAC9C,8BAA8B,EAAE,gCAAgC;IAChE,iBAAiB,EAAE,mBAAmB;CAC9B,CAAC,CAAC;AAYZ;;;GAGG;AACH,SAAgB,iCAAiC,CAC/C,QAAoD;IAEpD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACrE,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,iBAAiB,KAAK,QAAQ,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACjF,OAAO,QAAQ,CAAC,iBAAiB,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,mBAAmB,KAAK,QAAQ,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QACrF,OAAO,QAAQ,CAAC,mBAAmB,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD;;;GAGG;AACH,SAAgB,6BAA6B,CAC3C,OAA0C,EAAE,SAAS,EAAE,SAAS,EAAE;IAElE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACrE,MAAM,UAAU,GACd,OAAO,qBAAqB,KAAK,QAAQ,IAAI,qBAAqB;QAChE,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,iCAAyB,CAAC,iBAAiB;YACnD,mBAAmB,EAAE,IAAI;YACzB,sBAAsB,EAAE,UAAU;SACnC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;QAClD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,iCAAyB,CAAC,8BAA8B;YAChE,mBAAmB,EAAE,IAAI;YACzB,sBAAsB,EAAE,IAAI;SAC7B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,iCAAiC,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC5E,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,iCAAyB,CAAC,4BAA4B;YAC9D,mBAAmB,EAAE,OAAO;YAC5B,sBAAsB,EAAE,UAAU;SACnC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,iCAAyB,CAAC,KAAK;QACvC,mBAAmB,EAAE,OAAO;QAC5B,sBAAsB,EAAE,UAAU;KACnC,CAAC;AACJ,CAAC"}
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* - currently_authorized:null → "NOT EVALUATED (SKIPPED)" — never a soft pass
|
|
10
10
|
* - currently_authorized:false → "NOT AUTHORIZED" — never "protected/verified"
|
|
11
11
|
* - currently_authorized:true → "AUTHORIZED" only when receipt.verified; still surfaces limits
|
|
12
|
-
* - limits block always appears (operative non-claims)
|
|
12
|
+
* - limits block always appears (operative non-claims) — there is no opt-out; format:'plain'
|
|
13
|
+
* compacts the markup and still renders every limit
|
|
13
14
|
*
|
|
14
15
|
* Does not modify execution-proof.ts or the proof shape.
|
|
15
16
|
*/
|
|
@@ -21,12 +22,6 @@ export type RenderFinalAnswerProofOptions = {
|
|
|
21
22
|
* plain = no #/* markup (still line-oriented, limits as bullet-like lines with "- ").
|
|
22
23
|
*/
|
|
23
24
|
format?: FinalAnswerProofFormat;
|
|
24
|
-
/**
|
|
25
|
-
* When true (default), always include the limits / non-claims section.
|
|
26
|
-
* Setting false is allowed for ultra-compact hosts but is discouraged — the whole
|
|
27
|
-
* point of this block is honest non-overclaim.
|
|
28
|
-
*/
|
|
29
|
-
includeLimits?: boolean;
|
|
30
25
|
/**
|
|
31
26
|
* Optional heading override. Default: "CodeRifts execution proof".
|
|
32
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"final-answer-proof.d.ts","sourceRoot":"","sources":["../../src/final-answer-proof.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"final-answer-proof.d.ts","sourceRoot":"","sources":["../../src/final-answer-proof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AAGrF,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,6BAA6B,GAAG;IAC9E;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,uBAAuB,GACvB,4BAA4B,GAC5B,cAAc,CAAC;AAEnB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,sBAAsB,CAYpF;AAwDD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE,6BAAkC,GACvC,MAAM,CAkGR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,GAAG,OAAO,EACpD,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE,iCAAsC,GAC3C,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,kBAAkB,EAAE,mBAAmB,CAAC;IAAC,uBAAuB,EAAE,MAAM,CAAA;CAAE,CAAC,CA0C9G"}
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
* - currently_authorized:null → "NOT EVALUATED (SKIPPED)" — never a soft pass
|
|
11
11
|
* - currently_authorized:false → "NOT AUTHORIZED" — never "protected/verified"
|
|
12
12
|
* - currently_authorized:true → "AUTHORIZED" only when receipt.verified; still surfaces limits
|
|
13
|
-
* - limits block always appears (operative non-claims)
|
|
13
|
+
* - limits block always appears (operative non-claims) — there is no opt-out; format:'plain'
|
|
14
|
+
* compacts the markup and still renders every limit
|
|
14
15
|
*
|
|
15
16
|
* Does not modify execution-proof.ts or the proof shape.
|
|
16
17
|
*/
|
|
@@ -83,6 +84,7 @@ function limitLines(proof) {
|
|
|
83
84
|
'change_fp is what was CHECKED at preflight — not what the factory applied.',
|
|
84
85
|
'Calls outside the guarded path are invisible to this proof.',
|
|
85
86
|
'execution_result_hash is NOT proof that applied artifacts match change_fp.',
|
|
87
|
+
'conditional_write:true is host-asserted (the host says it conditioned on a version token); it is NOT independently CAS-verified by the guard.',
|
|
86
88
|
// Machine keys for greppability (still honest if someone only reads keys).
|
|
87
89
|
`limits.does_not_claim_host_cannot_bypass=${L.does_not_claim_host_cannot_bypass === true}`,
|
|
88
90
|
`limits.calls_outside_guarded_path_invisible=${L.calls_outside_guarded_path_invisible === true}`,
|
|
@@ -103,7 +105,6 @@ function renderFinalAnswerProof(proof, opts = {}) {
|
|
|
103
105
|
].join('\n');
|
|
104
106
|
}
|
|
105
107
|
const format = opts.format === 'plain' ? 'plain' : 'markdown';
|
|
106
|
-
const includeLimits = opts.includeLimits !== false;
|
|
107
108
|
const title = opts.title != null && String(opts.title).trim()
|
|
108
109
|
? String(opts.title).trim()
|
|
109
110
|
: 'CodeRifts execution proof';
|
|
@@ -157,16 +158,18 @@ function renderFinalAnswerProof(proof, opts = {}) {
|
|
|
157
158
|
lines.push(bullet(`enforced: ${yn(proof.execution.enforced === true)}`));
|
|
158
159
|
lines.push(bullet(`execution_result_hash: ${formatResultHash(proof.execution_result_hash)}`));
|
|
159
160
|
lines.push('');
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
lines.push(
|
|
167
|
-
? '_This block is honest because it states its limits. It is not a stronger guarantee than the machine proof._'
|
|
168
|
-
: 'This block is honest because it states its limits. It is not a stronger guarantee than the machine proof.');
|
|
161
|
+
// Unconditional: the limits are part of the proof, not a presentation option. A block that
|
|
162
|
+
// dropped them would still call itself the same proof while no longer stating what it does not
|
|
163
|
+
// claim — the exact overclaim this render layer exists to prevent. Hosts that need a shorter
|
|
164
|
+
// block use format:'plain', which compacts the markup and KEEPS the limits.
|
|
165
|
+
lines.push(h2('Limits (non-claims — always true on this proof)'));
|
|
166
|
+
for (const L of limitLines(proof)) {
|
|
167
|
+
lines.push(bullet(L));
|
|
169
168
|
}
|
|
169
|
+
lines.push('');
|
|
170
|
+
lines.push(md
|
|
171
|
+
? '_This block is honest because it states its limits. It is not a stronger guarantee than the machine proof._'
|
|
172
|
+
: 'This block is honest because it states its limits. It is not a stronger guarantee than the machine proof.');
|
|
170
173
|
return lines.join('\n').replace(/\n+$/, '') + '\n';
|
|
171
174
|
}
|
|
172
175
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"final-answer-proof.js","sourceRoot":"","sources":["../../src/final-answer-proof.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"final-answer-proof.js","sourceRoot":"","sources":["../../src/final-answer-proof.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/freshness.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Freshness-safe prior content — PURE comparison core (
|
|
2
|
+
* Freshness-safe prior content — PURE comparison core (the fresh-snapshot conjunct only).
|
|
3
|
+
*
|
|
4
|
+
* This narrows the measurement window; it does not close TOCTOU. Content identity is proven AT
|
|
5
|
+
* MEASUREMENT TIME — a host that then writes unconditionally still races. Closing that needs a
|
|
6
|
+
* host-side conditional write (compare-and-swap on a version token), which this package never
|
|
7
|
+
* performs; see conditional-write.ts.
|
|
3
8
|
*
|
|
4
9
|
* Settled decisions (do not relitigate):
|
|
5
10
|
* 1. Freshness is CONTENT IDENTITY, not time. No TTL. Byte identity of `before` vs gate-time resolve.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/freshness.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/freshness.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/freshness.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Freshness-safe prior content — PURE comparison core (
|
|
3
|
+
* Freshness-safe prior content — PURE comparison core (the fresh-snapshot conjunct only).
|
|
4
|
+
*
|
|
5
|
+
* This narrows the measurement window; it does not close TOCTOU. Content identity is proven AT
|
|
6
|
+
* MEASUREMENT TIME — a host that then writes unconditionally still races. Closing that needs a
|
|
7
|
+
* host-side conditional write (compare-and-swap on a version token), which this package never
|
|
8
|
+
* performs; see conditional-write.ts.
|
|
4
9
|
*
|
|
5
10
|
* Settled decisions (do not relitigate):
|
|
6
11
|
* 1. Freshness is CONTENT IDENTITY, not time. No TTL. Byte identity of `before` vs gate-time resolve.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../src/freshness.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../src/freshness.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/guard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,WAAW,EAAE,YAAY,EACT,kBAAkB,EAAE,cAAc,EAEnD,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,WAAW,EAAE,YAAY,EACT,kBAAkB,EAAE,cAAc,EAEnD,MAAM,YAAY,CAAC;AAOpB,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAC;AAwShC;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,IAAI,EAAE,kBAAkB,EACxB,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EACjC,MAAM,EAAE,WAAW,EACnB,WAAW,CAAC,EAAE,oBAAoB,GAAG,2BAA2B,GAC/D,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAgT1B"}
|