@coderifts/agent-guard 4.3.0 → 6.0.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.
Files changed (48) hide show
  1. package/README.md +27 -2
  2. package/dist/cjs/execution-proof.d.ts +7 -0
  3. package/dist/cjs/execution-proof.d.ts.map +1 -1
  4. package/dist/cjs/execution-proof.js +1 -0
  5. package/dist/cjs/execution-proof.js.map +1 -1
  6. package/dist/cjs/final-answer-proof.d.ts +75 -0
  7. package/dist/cjs/final-answer-proof.d.ts.map +1 -0
  8. package/dist/cjs/final-answer-proof.js +225 -0
  9. package/dist/cjs/final-answer-proof.js.map +1 -0
  10. package/dist/cjs/freshness.d.ts +6 -1
  11. package/dist/cjs/freshness.d.ts.map +1 -1
  12. package/dist/cjs/freshness.js +6 -1
  13. package/dist/cjs/freshness.js.map +1 -1
  14. package/dist/cjs/guard.d.ts.map +1 -1
  15. package/dist/cjs/guard.js +5 -1
  16. package/dist/cjs/guard.js.map +1 -1
  17. package/dist/cjs/index.d.ts +2 -0
  18. package/dist/cjs/index.d.ts.map +1 -1
  19. package/dist/cjs/index.js +8 -2
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/types.d.ts +3 -1
  22. package/dist/cjs/types.d.ts.map +1 -1
  23. package/dist/cjs/types.js +3 -1
  24. package/dist/cjs/types.js.map +1 -1
  25. package/dist/esm/execution-proof.d.ts +7 -0
  26. package/dist/esm/execution-proof.d.ts.map +1 -1
  27. package/dist/esm/execution-proof.js +1 -0
  28. package/dist/esm/execution-proof.js.map +1 -1
  29. package/dist/esm/final-answer-proof.d.ts +75 -0
  30. package/dist/esm/final-answer-proof.d.ts.map +1 -0
  31. package/dist/esm/final-answer-proof.js +220 -0
  32. package/dist/esm/final-answer-proof.js.map +1 -0
  33. package/dist/esm/freshness.d.ts +6 -1
  34. package/dist/esm/freshness.d.ts.map +1 -1
  35. package/dist/esm/freshness.js +6 -1
  36. package/dist/esm/freshness.js.map +1 -1
  37. package/dist/esm/guard.d.ts.map +1 -1
  38. package/dist/esm/guard.js +5 -1
  39. package/dist/esm/guard.js.map +1 -1
  40. package/dist/esm/index.d.ts +2 -0
  41. package/dist/esm/index.d.ts.map +1 -1
  42. package/dist/esm/index.js +3 -0
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/types.d.ts +3 -1
  45. package/dist/esm/types.d.ts.map +1 -1
  46. package/dist/esm/types.js +3 -1
  47. package/dist/esm/types.js.map +1 -1
  48. package/package.json +2 -2
package/README.md CHANGED
@@ -38,7 +38,9 @@ const outcome = await guardToolCall(
38
38
  // server preflights. `id`/`type`/`before`/`after` are all required for each artifact.
39
39
  artifacts: [{ id: 'public-api', type: 'openapi', before: baseSpec, after: proposedSpec }],
40
40
  },
41
- // The mutating work is created ONLY here, after the verdict — never eagerly (closes TOCTOU).
41
+ // The mutating work is created ONLY here, after the verdict — never eagerly. That closes the
42
+ // EAGER-EXECUTION ORDERING hazard (work is built after the verdict, not before). It does NOT
43
+ // close the measurement-to-commit race: see "TOCTOU is unclosed" above.
42
44
  async (envelope, redactedCall) => applyEdit(redactedCall),
43
45
  { client, operation: 'merge', environment: 'production' },
44
46
  );
@@ -89,6 +91,24 @@ const { tools, registry_report, composition_assurance } = withCodeRifts({
89
91
  // the guard — the composition can only protect the table it returns.
90
92
  ```
91
93
 
94
+ ### Final-answer proof block (ID645)
95
+
96
+ When a call produces a machine `GuardExecutionProof` (`outcome.proof`), you can embed a
97
+ **human-readable** block in the agent’s final answer. The renderer is faithful: `currently_authorized: null`
98
+ is **SKIPPED (not a pass)**; limits (e.g. host can still bypass; calls outside the guarded path are
99
+ invisible) always appear. It does not change the proof shape.
100
+
101
+ ```typescript
102
+ import { renderFinalAnswerProof, attachProofToAgentResponse } from '@coderifts/agent-guard';
103
+
104
+ // After guardToolCall / withCodeRifts …
105
+ const block = renderFinalAnswerProof(outcome.proof); // markdown string
106
+ const answer = attachProofToAgentResponse('I applied the authorized edit.', outcome.proof);
107
+ // string → appends block; object → adds final_answer_proof + final_answer_proof_text
108
+ ```
109
+
110
+ See `examples/final-answer-proof.mjs` for verified vs skipped side by side.
111
+
92
112
  **OpenAI tool-calling (ID632 reference adapter).** Same input; OpenAI-shaped `tools` for
93
113
  `chat.completions`, plus the same unflattened assurance objects. Shape conversion only — does
94
114
  **not** claim product-level inescapability the core does not:
@@ -615,7 +635,12 @@ Pass both on `withCodeRifts({ …, onEvent, monitoringSinkWired: true })`, or on
615
635
  ## Guarantees (tsc-verified)
616
636
 
617
637
  - **Fail-closed by default** — any ambiguity, integrity failure, or unknown state resolves to `STOP`.
618
- - **No TOCTOU** — the factory creates the mutating work *after* the verdict.
638
+ - **Eager-execution ordering closed (TOCTOU proper is NOT closed)** — the factory creates the
639
+ mutating work *after* the verdict, so no mutation is built before authorization. The
640
+ measurement-to-commit race remains: content resolved at measurement time can change before the
641
+ host commits. Closing that needs a host-side conditional write (compare-and-swap on a version
642
+ token) — this package never writes, and reports `conditional_write` as a host assertion it
643
+ cannot verify.
619
644
  - **Retry-safe** — `executionAttempted` is the only safe-to-retry signal; a post-authorization throw
620
645
  is `executionAttempted:true` (the remote side effect may have landed).
621
646
  - **`enforced:true` only on a LIVE, receipt-verified `ALLOW`/`MONITOR`** — never on cached/LKG,
@@ -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":"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"}
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;QACxD;;;;;WAKG;QACH,mDAAmD,EAAE,IAAI,CAAC;KAC3D,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE;QACtB,yBAAyB,EAAE,OAAO,CAAC;QACnC,WAAW,EAAE,OAAO,CAAC;QACrB,iBAAiB,EAAE,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC;KAClD,CAAC;CACH,CAAC;AAYF;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,wFAAwF;IACxF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC;CAClD,GAAG,IAAI,CAeP;AA0BD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,CAuBxE;AAeD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,mBAAmB,CA0D/E"}
@@ -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":"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"}
1
+ {"version":3,"file":"execution-proof.js","sourceRoot":"","sources":["../../src/execution-proof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Human-readable final-answer proof block (ID645) — render layer over GuardExecutionProof.
3
+ *
4
+ * Does NOT assemble or re-decide protection. It FAITHFULLY formats a machine
5
+ * GuardExecutionProof (from buildExecutionProof) so an agent can embed it in a final
6
+ * answer without overclaiming.
7
+ *
8
+ * Honesty rules:
9
+ * - currently_authorized:null → "NOT EVALUATED (SKIPPED)" — never a soft pass
10
+ * - currently_authorized:false → "NOT AUTHORIZED" — never "protected/verified"
11
+ * - currently_authorized:true → "AUTHORIZED" only when receipt.verified; still surfaces limits
12
+ * - limits block always appears (operative non-claims) — there is no opt-out; format:'plain'
13
+ * compacts the markup and still renders every limit
14
+ *
15
+ * Does not modify execution-proof.ts or the proof shape.
16
+ */
17
+ import type { GuardExecutionProof } from './execution-proof.js';
18
+ export type FinalAnswerProofFormat = 'markdown' | 'plain';
19
+ export type RenderFinalAnswerProofOptions = {
20
+ /**
21
+ * Output format. Default 'markdown'.
22
+ * plain = no #/* markup (still line-oriented, limits as bullet-like lines with "- ").
23
+ */
24
+ format?: FinalAnswerProofFormat;
25
+ /**
26
+ * Optional heading override. Default: "CodeRifts execution proof".
27
+ */
28
+ title?: string;
29
+ };
30
+ export type AttachProofToAgentResponseOptions = RenderFinalAnswerProofOptions & {
31
+ /**
32
+ * How to embed the rendered block.
33
+ * - 'append_text' (default): append a string section to a string response, or set
34
+ * `final_answer_proof` + `final_answer_proof_text` on object responses
35
+ * - 'field_only': never mutate text; only attach structured fields on objects
36
+ * (string responses become `{ text, final_answer_proof, final_answer_proof_text }`)
37
+ */
38
+ mode?: 'append_text' | 'field_only';
39
+ /**
40
+ * Separator before the appended block when mode is append_text and response is a string.
41
+ * Default: "\n\n---\n\n"
42
+ */
43
+ separator?: string;
44
+ };
45
+ /** Coarse human status derived only from proof fields (never invents protection). */
46
+ export type FinalAnswerProofBanner = 'ENFORCED' | 'AUTHORIZED' | 'NOT_AUTHORIZED' | 'NOT_EVALUATED_SKIPPED' | 'PREFLIGHTED_NOT_AUTHORIZED' | 'NO_PREFLIGHT';
47
+ /**
48
+ * Map proof fields → a single banner label that is visibly different for
49
+ * authorized / not-authorized / skipped / no-preflight.
50
+ */
51
+ export declare function deriveProofBanner(proof: GuardExecutionProof): FinalAnswerProofBanner;
52
+ /**
53
+ * Render a GuardExecutionProof as a compact human-readable block.
54
+ * Faithful to fields; never upgrades null/false authorization into "protected".
55
+ */
56
+ export declare function renderFinalAnswerProof(proof: GuardExecutionProof, opts?: RenderFinalAnswerProofOptions): string;
57
+ /**
58
+ * Attach a rendered proof to a host response (framework-agnostic).
59
+ *
60
+ * Convention:
61
+ * - String response + append_text → `response + separator + rendered`
62
+ * - Object response → shallow copy with:
63
+ * final_answer_proof: GuardExecutionProof (reference; not deep-cloned)
64
+ * final_answer_proof_text: string (rendered block)
65
+ * and, when mode is append_text and a stringish field exists (`text` | `content` |
66
+ * `message` | `final_answer`), that field is appended with the block.
67
+ * - field_only never mutates string fields; wraps bare strings in an object.
68
+ *
69
+ * Hosts that only want the string can call renderFinalAnswerProof directly.
70
+ */
71
+ export declare function attachProofToAgentResponse<T = unknown>(response: T, proof: GuardExecutionProof, opts?: AttachProofToAgentResponseOptions): T | (Record<string, unknown> & {
72
+ final_answer_proof: GuardExecutionProof;
73
+ final_answer_proof_text: string;
74
+ });
75
+ //# sourceMappingURL=final-answer-proof.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ /**
3
+ * Human-readable final-answer proof block (ID645) — render layer over GuardExecutionProof.
4
+ *
5
+ * Does NOT assemble or re-decide protection. It FAITHFULLY formats a machine
6
+ * GuardExecutionProof (from buildExecutionProof) so an agent can embed it in a final
7
+ * answer without overclaiming.
8
+ *
9
+ * Honesty rules:
10
+ * - currently_authorized:null → "NOT EVALUATED (SKIPPED)" — never a soft pass
11
+ * - currently_authorized:false → "NOT AUTHORIZED" — never "protected/verified"
12
+ * - currently_authorized:true → "AUTHORIZED" only when receipt.verified; still surfaces limits
13
+ * - limits block always appears (operative non-claims) — there is no opt-out; format:'plain'
14
+ * compacts the markup and still renders every limit
15
+ *
16
+ * Does not modify execution-proof.ts or the proof shape.
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.deriveProofBanner = deriveProofBanner;
20
+ exports.renderFinalAnswerProof = renderFinalAnswerProof;
21
+ exports.attachProofToAgentResponse = attachProofToAgentResponse;
22
+ const execution_proof_js_1 = require("./execution-proof.js");
23
+ /**
24
+ * Map proof fields → a single banner label that is visibly different for
25
+ * authorized / not-authorized / skipped / no-preflight.
26
+ */
27
+ function deriveProofBanner(proof) {
28
+ if (!proof || typeof proof !== 'object')
29
+ return 'NO_PREFLIGHT';
30
+ // null is SKIPPED / not evaluated — never a pass (whether or not preflight ran).
31
+ if (proof.currently_authorized === null) {
32
+ return 'NOT_EVALUATED_SKIPPED';
33
+ }
34
+ if (proof.currently_authorized === false) {
35
+ return proof.preflighted ? 'PREFLIGHTED_NOT_AUTHORIZED' : 'NOT_AUTHORIZED';
36
+ }
37
+ // currently_authorized === true
38
+ if (proof.execution && proof.execution.enforced === true)
39
+ return 'ENFORCED';
40
+ return 'AUTHORIZED';
41
+ }
42
+ function bannerHeadline(banner) {
43
+ switch (banner) {
44
+ case 'ENFORCED':
45
+ return 'ENFORCED — receipt verified; call ran on the guarded path';
46
+ case 'AUTHORIZED':
47
+ return 'AUTHORIZED — receipt verified for this scope (not a claim of full host protection)';
48
+ case 'NOT_AUTHORIZED':
49
+ return 'NOT AUTHORIZED — receipt path present but did not authorize';
50
+ case 'PREFLIGHTED_NOT_AUTHORIZED':
51
+ return 'PREFLIGHTED, NOT AUTHORIZED — preflight ran; receipt did not verify / not authorized';
52
+ case 'NOT_EVALUATED_SKIPPED':
53
+ return 'NOT EVALUATED (SKIPPED) — no receipt path; currently_authorized is null (not a pass)';
54
+ case 'NO_PREFLIGHT':
55
+ return 'NO PREFLIGHT — protection not evaluated on this call';
56
+ default:
57
+ return 'UNKNOWN PROOF STATUS';
58
+ }
59
+ }
60
+ function yn(v) {
61
+ return v ? 'yes' : 'no';
62
+ }
63
+ function formatAuthz(v) {
64
+ if (v === true)
65
+ return 'true (authorized at verify time)';
66
+ if (v === false)
67
+ return 'false (not authorized)';
68
+ return 'null — not evaluated / no receipt path (SKIPPED; not a pass)';
69
+ }
70
+ function formatResultHash(h) {
71
+ if (!h || typeof h !== 'object')
72
+ return 'unavailable';
73
+ if (h.status === 'hashed')
74
+ return `${h.algorithm}:${h.value.slice(0, 16)}… (factory return; not artifact-match proof)`;
75
+ return `not hashed (${h.reason})`;
76
+ }
77
+ function limitLines(proof) {
78
+ const L = proof.limits;
79
+ // Operative non-claims — always from the proof object (never invented).
80
+ return [
81
+ 'This block does NOT claim the change is safe.',
82
+ 'This block does NOT claim the host cannot bypass the package.',
83
+ 'Absent fields are NOT compliance.',
84
+ 'change_fp is what was CHECKED at preflight — not what the factory applied.',
85
+ 'Calls outside the guarded path are invisible to this proof.',
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.',
88
+ // Machine keys for greppability (still honest if someone only reads keys).
89
+ `limits.does_not_claim_host_cannot_bypass=${L.does_not_claim_host_cannot_bypass === true}`,
90
+ `limits.calls_outside_guarded_path_invisible=${L.calls_outside_guarded_path_invisible === true}`,
91
+ `limits.does_not_claim_change_safe=${L.does_not_claim_change_safe === true}`,
92
+ `limits.change_fp_is_what_was_checked_not_what_executed=${L.change_fp_is_what_was_checked_not_what_executed === true}`,
93
+ ];
94
+ }
95
+ /**
96
+ * Render a GuardExecutionProof as a compact human-readable block.
97
+ * Faithful to fields; never upgrades null/false authorization into "protected".
98
+ */
99
+ function renderFinalAnswerProof(proof, opts = {}) {
100
+ if (!proof || typeof proof !== 'object' || proof.proof_spec !== execution_proof_js_1.EXECUTION_PROOF_SPEC) {
101
+ return [
102
+ 'CodeRifts execution proof',
103
+ 'Status: UNAVAILABLE — no valid guard-execution-proof.v1 object was supplied.',
104
+ 'Limits: without a proof block, no protection claim can be made.',
105
+ ].join('\n');
106
+ }
107
+ const format = opts.format === 'plain' ? 'plain' : 'markdown';
108
+ const title = opts.title != null && String(opts.title).trim()
109
+ ? String(opts.title).trim()
110
+ : 'CodeRifts execution proof';
111
+ const banner = deriveProofBanner(proof);
112
+ const headline = bannerHeadline(banner);
113
+ const md = format === 'markdown';
114
+ const h1 = md ? `## ${title}` : title;
115
+ const h2 = (s) => (md ? `### ${s}` : s);
116
+ const bold = (s) => (md ? `**${s}**` : s);
117
+ const bullet = (s) => (md ? `- ${s}` : `- ${s}`);
118
+ const lines = [];
119
+ lines.push(h1);
120
+ lines.push('');
121
+ lines.push(`${bold('Status:')} ${headline}`);
122
+ lines.push(`${bold('Banner:')} ${banner}`);
123
+ lines.push(`${bold('Proof spec:')} ${proof.proof_spec}`);
124
+ lines.push('');
125
+ lines.push(h2('Preflight & receipt'));
126
+ lines.push(bullet(`preflighted: ${yn(proof.preflighted === true)}`));
127
+ lines.push(bullet(`decision_id: ${proof.decision_id != null ? proof.decision_id : '(none)'}`));
128
+ lines.push(bullet(`receipt.verified: ${yn(proof.receipt.verified === true)}`));
129
+ lines.push(bullet(`receipt.status: ${proof.receipt.status != null ? proof.receipt.status : 'null (not verified / no receipt path)'}`));
130
+ lines.push(bullet(`receipt.expires_at: ${proof.receipt.expires_at != null ? proof.receipt.expires_at : '(none)'}`));
131
+ lines.push('');
132
+ lines.push(h2('Authorization'));
133
+ lines.push(bullet(`currently_authorized: ${formatAuthz(proof.currently_authorized)}`));
134
+ if (proof.currently_authorized === null) {
135
+ lines.push(bullet('Interpretation: SKIPPED / no receipt path — do NOT treat this as protected or verified.'));
136
+ }
137
+ else if (proof.currently_authorized === false) {
138
+ lines.push(bullet('Interpretation: NOT authorized — do NOT present this call as receipt-protected.'));
139
+ }
140
+ else {
141
+ lines.push(bullet('Interpretation: authorized at verify time for the bound scope only — see Limits.'));
142
+ }
143
+ lines.push('');
144
+ lines.push(h2('Scope bound (what was checked)'));
145
+ if (proof.binds_to == null) {
146
+ lines.push(bullet('binds_to: null (no envelope — nothing bound)'));
147
+ }
148
+ else {
149
+ lines.push(bullet(`operation: ${proof.binds_to.operation != null ? proof.binds_to.operation : '(null)'}`));
150
+ lines.push(bullet(`change_fp: ${proof.binds_to.change_fp != null ? proof.binds_to.change_fp : '(null)'}`));
151
+ lines.push(bullet('Note: change_fp is what was CHECKED at preflight — not what the factory executed.'));
152
+ }
153
+ lines.push('');
154
+ lines.push(h2('Execution'));
155
+ lines.push(bullet(`verdict_kind: ${proof.verdict_kind}`));
156
+ lines.push(bullet(`attempted: ${yn(proof.execution.attempted === true)}`));
157
+ lines.push(bullet(`executed: ${yn(proof.execution.executed === true)}`));
158
+ lines.push(bullet(`enforced: ${yn(proof.execution.enforced === true)}`));
159
+ lines.push(bullet(`execution_result_hash: ${formatResultHash(proof.execution_result_hash)}`));
160
+ lines.push('');
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));
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.');
173
+ return lines.join('\n').replace(/\n+$/, '') + '\n';
174
+ }
175
+ /**
176
+ * Attach a rendered proof to a host response (framework-agnostic).
177
+ *
178
+ * Convention:
179
+ * - String response + append_text → `response + separator + rendered`
180
+ * - Object response → shallow copy with:
181
+ * final_answer_proof: GuardExecutionProof (reference; not deep-cloned)
182
+ * final_answer_proof_text: string (rendered block)
183
+ * and, when mode is append_text and a stringish field exists (`text` | `content` |
184
+ * `message` | `final_answer`), that field is appended with the block.
185
+ * - field_only never mutates string fields; wraps bare strings in an object.
186
+ *
187
+ * Hosts that only want the string can call renderFinalAnswerProof directly.
188
+ */
189
+ function attachProofToAgentResponse(response, proof, opts = {}) {
190
+ const mode = opts.mode === 'field_only' ? 'field_only' : 'append_text';
191
+ const separator = opts.separator != null ? opts.separator : '\n\n---\n\n';
192
+ const text = renderFinalAnswerProof(proof, opts);
193
+ if (typeof response === 'string') {
194
+ if (mode === 'field_only') {
195
+ return {
196
+ text: response,
197
+ final_answer_proof: proof,
198
+ final_answer_proof_text: text,
199
+ };
200
+ }
201
+ return (response + separator + text);
202
+ }
203
+ if (response != null && typeof response === 'object' && !Array.isArray(response)) {
204
+ const base = { ...response };
205
+ base.final_answer_proof = proof;
206
+ base.final_answer_proof_text = text;
207
+ if (mode === 'append_text') {
208
+ const keys = ['final_answer', 'text', 'content', 'message'];
209
+ for (const k of keys) {
210
+ if (typeof base[k] === 'string') {
211
+ base[k] = String(base[k]) + separator + text;
212
+ break;
213
+ }
214
+ }
215
+ }
216
+ return base;
217
+ }
218
+ // Non-string, non-object (null, number, …): wrap so the proof is not lost.
219
+ return {
220
+ value: response,
221
+ final_answer_proof: proof,
222
+ final_answer_proof_text: text,
223
+ };
224
+ }
225
+ //# sourceMappingURL=final-answer-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"final-answer-proof.js","sourceRoot":"","sources":["../../src/final-answer-proof.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
1
  /**
2
- * Freshness-safe prior content — PURE comparison core (TOCTOU close for the fresh-snapshot conjunct).
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":"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"}
1
+ {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/freshness.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  /**
3
- * Freshness-safe prior content — PURE comparison core (TOCTOU close for the fresh-snapshot conjunct).
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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"}
@@ -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;AAMpB,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAC;AAoShC;;;;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,CAsQ1B"}
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;AAMpB,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,CAsQ1B"}
package/dist/cjs/guard.js CHANGED
@@ -115,7 +115,11 @@ async function preflightWithRetry(config, request) {
115
115
  if (remaining <= 0)
116
116
  return { ok: false, cause: 'TIMEOUT', integrity: false };
117
117
  try {
118
- const response = await withTimeout(config.client.preflightChangeSet(request), Math.min(timeoutMs, remaining));
118
+ // AUTHORIZE preflight: authorizeChangeSet is the SDK 2.0.0 wrapper that sets
119
+ // preflight_mode:'authorize' before calling preflightChangeSet. Widened via `as unknown as`
120
+ // (mirrors the verifyReceipt cast) because GuardConfig.client is typed as the SDK client and
121
+ // the method is reached structurally. Never call the raw mode-less preflightChangeSet here.
122
+ const response = await withTimeout(config.client.authorizeChangeSet(request), Math.min(timeoutMs, remaining));
119
123
  return { ok: true, response };
120
124
  }
121
125
  catch (err) {