@coderifts/agent-guard 15.1.0 → 17.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 (61) hide show
  1. package/dist/cjs/execution-grant.d.ts +4 -2
  2. package/dist/cjs/execution-grant.d.ts.map +1 -1
  3. package/dist/cjs/execution-grant.js +6 -0
  4. package/dist/cjs/execution-grant.js.map +1 -1
  5. package/dist/cjs/guard.d.ts.map +1 -1
  6. package/dist/cjs/guard.js +56 -0
  7. package/dist/cjs/guard.js.map +1 -1
  8. package/dist/cjs/index.d.ts +3 -0
  9. package/dist/cjs/index.d.ts.map +1 -1
  10. package/dist/cjs/index.js +12 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/offline-verify.d.ts +75 -0
  13. package/dist/cjs/offline-verify.d.ts.map +1 -0
  14. package/dist/cjs/offline-verify.js +74 -0
  15. package/dist/cjs/offline-verify.js.map +1 -0
  16. package/dist/cjs/policy.d.ts.map +1 -1
  17. package/dist/cjs/policy.js +1 -1
  18. package/dist/cjs/policy.js.map +1 -1
  19. package/dist/cjs/tool-registry.d.ts.map +1 -1
  20. package/dist/cjs/tool-registry.js +7 -1
  21. package/dist/cjs/tool-registry.js.map +1 -1
  22. package/dist/cjs/types.d.ts +63 -1
  23. package/dist/cjs/types.d.ts.map +1 -1
  24. package/dist/cjs/unguarded-mutation.d.ts +83 -0
  25. package/dist/cjs/unguarded-mutation.d.ts.map +1 -0
  26. package/dist/cjs/unguarded-mutation.js +111 -0
  27. package/dist/cjs/unguarded-mutation.js.map +1 -0
  28. package/dist/cjs/vendor/VENDOR.sha256 +13 -0
  29. package/dist/cjs/vendor/arity.js +53 -0
  30. package/dist/cjs/vendor/verify.js +454 -0
  31. package/dist/esm/execution-grant.d.ts +4 -2
  32. package/dist/esm/execution-grant.d.ts.map +1 -1
  33. package/dist/esm/execution-grant.js +6 -0
  34. package/dist/esm/execution-grant.js.map +1 -1
  35. package/dist/esm/guard.d.ts.map +1 -1
  36. package/dist/esm/guard.js +56 -0
  37. package/dist/esm/guard.js.map +1 -1
  38. package/dist/esm/index.d.ts +3 -0
  39. package/dist/esm/index.d.ts.map +1 -1
  40. package/dist/esm/index.js +6 -0
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/offline-verify.d.ts +75 -0
  43. package/dist/esm/offline-verify.d.ts.map +1 -0
  44. package/dist/esm/offline-verify.js +70 -0
  45. package/dist/esm/offline-verify.js.map +1 -0
  46. package/dist/esm/policy.d.ts.map +1 -1
  47. package/dist/esm/policy.js +1 -1
  48. package/dist/esm/policy.js.map +1 -1
  49. package/dist/esm/tool-registry.d.ts.map +1 -1
  50. package/dist/esm/tool-registry.js +7 -1
  51. package/dist/esm/tool-registry.js.map +1 -1
  52. package/dist/esm/types.d.ts +63 -1
  53. package/dist/esm/types.d.ts.map +1 -1
  54. package/dist/esm/unguarded-mutation.d.ts +83 -0
  55. package/dist/esm/unguarded-mutation.d.ts.map +1 -0
  56. package/dist/esm/unguarded-mutation.js +106 -0
  57. package/dist/esm/unguarded-mutation.js.map +1 -0
  58. package/dist/esm/vendor/VENDOR.sha256 +13 -0
  59. package/dist/esm/vendor/arity.js +53 -0
  60. package/dist/esm/vendor/verify.js +454 -0
  61. package/package.json +5 -4
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * Offline receipt verification for the guard (1307).
4
+ *
5
+ * ── THE ASYMMETRY THIS CLOSES ───────────────────────────────────────────────────────────────
6
+ *
7
+ * MEASURED across the four enforcement points:
8
+ *
9
+ * contract-gate offline, pinned keyring (vendored receipt-verifier)
10
+ * k8s-admission offline, pinned keyring (vendored receipt-verifier)
11
+ * gateway-verifier offline, pinned keyring (vendored receipt-verifier)
12
+ * agent-guard OVER THE NETWORK config.client.verifyReceipt()
13
+ *
14
+ * A verifier that needs the network fails differently from one that does not: it fails when the
15
+ * network fails, and it tells the issuer which receipts are being checked. Three of the four points
16
+ * had already been given a pinned keyring and a byte copy of the public verifier; the fourth — the
17
+ * one facing agent tool calls — had not. The sentence "the same proof at all four points, offline"
18
+ * was false because of this one.
19
+ *
20
+ * ── WHAT THIS DOES NOT CHANGE ───────────────────────────────────────────────────────────────
21
+ *
22
+ * It does not replace the network path. `config.client.verifyReceipt()` stays exactly as it was and
23
+ * remains the default, because an existing host that has no keyring configured must keep working.
24
+ * Supplying a keyring OPTS IN to offline verification; supplying nothing changes nothing.
25
+ *
26
+ * Nor does it decide anything about the receipt: the vendored verifier decides, this file only
27
+ * hands it the bytes and the keys.
28
+ */
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.offlineReceiptVerifier = offlineReceiptVerifier;
31
+ exports.missingReceiptDecision = missingReceiptDecision;
32
+ function core() {
33
+ // Resolved lazily so a host that never opts in never loads it, and so this module can be
34
+ // imported by tests that only inspect its contract.
35
+ return require('./vendor/verify.js');
36
+ }
37
+ /**
38
+ * Build an offline verifier from a pinned keyring.
39
+ *
40
+ * @returns a function with the SAME shape as `config.client.verifyReceipt`, so the guard's existing
41
+ * call site does not learn which one it is holding — which is the point: the two must be
42
+ * interchangeable, or the offline path would be a second, differently-behaving verifier.
43
+ */
44
+ async function offlineReceiptVerifier(keyring) {
45
+ const c = core();
46
+ const ring = await c.loadKeyring(keyring);
47
+ if (!ring || (ring instanceof Map && ring.size === 0)) {
48
+ // Fail LOUDLY at construction rather than quietly at the first verification. An empty keyring
49
+ // would make every receipt UNKNOWN_KEY, which reads as "the receipts are bad" when the truth is
50
+ // "we were given no keys".
51
+ throw new Error('offlineReceiptVerifier: the pinned keyring is empty or unreadable. Offline verification '
52
+ + 'with no keys refuses every receipt for the wrong reason — supply the keyring the issuer '
53
+ + 'publishes at /.well-known/coderifts-keys.json, pinned locally.');
54
+ }
55
+ return async function verifyReceiptOffline(token) {
56
+ // expectedKid null: accept any kid PRESENT IN THE PINNED RING. Rotation is additive; a kid the
57
+ // ring does not carry resolves to UNKNOWN_KEY, which is fail-closed.
58
+ return c.verifyReceipt(token, { ctx: { keyring: ring, expectedKid: null } });
59
+ };
60
+ }
61
+ function missingReceiptDecision(policy, hasReceiptToken) {
62
+ if (hasReceiptToken)
63
+ return { stop: false };
64
+ if (policy !== 'fail-closed')
65
+ return { stop: false };
66
+ return {
67
+ stop: true,
68
+ cause: 'RECEIPT_MISSING',
69
+ detail: 'requireReceipt is fail-closed and the decision envelope carried no receipt token. An '
70
+ + 'envelope without a receipt is not tamper-evident: a proxy can change execution_action and '
71
+ + 'nothing detects it. This host has chosen to stop rather than act on that.',
72
+ };
73
+ }
74
+ //# sourceMappingURL=offline-verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offline-verify.js","sourceRoot":"","sources":["../../src/offline-verify.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;AA+CH,wDAoBC;AAeD,wDAcC;AA9DD,SAAS,IAAI;IACX,yFAAyF;IACzF,oDAAoD;IACpD,OAAO,OAAO,CAAC,oBAAoB,CAAiB,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,OAAsB;IAEtB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QACtD,8FAA8F;QAC9F,gGAAgG;QAChG,2BAA2B;QAC3B,MAAM,IAAI,KAAK,CACb,0FAA0F;cACxF,0FAA0F;cAC1F,gEAAgE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,UAAU,oBAAoB,CAAC,KAAa;QACtD,+FAA+F;QAC/F,qEAAqE;QACrE,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC;AACJ,CAAC;AAeD,SAAgB,sBAAsB,CACpC,MAAwC,EACxC,eAAwB;IAExB,IAAI,eAAe;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC5C,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACrD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,iBAAiB;QACxB,MAAM,EACJ,uFAAuF;cACrF,4FAA4F;cAC5F,2EAA2E;KAChF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,kMAAkM;AAClM,eAAO,MAAM,aAAa,qFAC0D,CAAC;AAErF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,MAAqkJ,CAAC;AAErmJ,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,sPACsN,CAAC;AAEtP,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAiBF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAGhF;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAEpF;AAQD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;AAC5E,wBAAgB,UAAU,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE,CAAC;AAgCxG,uEAAuE;AACvE,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAIrF;AAED,oDAAoD;AACpD,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,kMAAkM;AAClM,eAAO,MAAM,aAAa,qFAC0D,CAAC;AAErF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,MAAs1J,CAAC;AAEt3J,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,sPACsN,CAAC;AAEtP,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAiBF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAGhF;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAEpF;AAQD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;AAC5E,wBAAgB,UAAU,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE,CAAC;AAgCxG,uEAAuE;AACvE,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAIrF;AAED,oDAAoD;AACpD,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
@@ -20,7 +20,7 @@ exports.resetPolicyWarnForTests = resetPolicyWarnForTests;
20
20
  /** Phrase present in ALL seven generated host formats (AGENTS.md, CLAUDE.md, cursor rules, Copilot instructions, LangGraph policy, OpenAI agent instructions, skills/api-governance/SKILL.md). */
21
21
  exports.POLICY_MARKER = "A receipt authorizes ONE operation: a merge receipt does not authorize a deploy.";
22
22
  /** Canonical policy body (paragraphs joined by blank lines). */
23
- exports.CODERIFTS_POLICY = "Call `preflight_change_set` before merge, deploy, publish, or tool registration when a contract artifact changed (OpenAPI/Swagger, GraphQL, gRPC/protobuf, AsyncAPI, MCP manifest, or agent tool schemas).\n\nSend the complete base-to-head change set: every changed contract artifact with full before and after content. Do not send a single-file subset when other contract files also change.\n\nBranch on `execution_action` only. Do not branch on `decision` and do not branch on `safe_for_agent` (not_for_control_flow_use_execution_action). Canonical `execution_action` values: CONTINUE, CONTINUE_WITH_MONITORING, REQUEST_APPROVAL, STOP.\n\nAn unrecognised `execution_action` is not permission: fail closed (halt or re-preflight). Well-known code: `not_permission_fail_closed`.\n\nWhen `execution_action` is REQUEST_APPROVAL or STOP, surface the detected patterns and the blast radius, and propose the safer path \u2014 deprecate-then-remove, an additive change, or a new version \u2014 rather than shipping the break.\n\n`CONTINUE_WITH_MONITORING` requires a wired monitoring sink (`monitoringSinkWired`). It is not \"proceed with caution\" without monitoring.\n\nDo not call `preflight_change_set` for: a documentation-only change (README, guides, comments) with no contract artifact content change; a static readiness score (a different capability, not a change-set decision); or to verify a receipt you already hold (that is `verify_receipt` \u2014 see the companion-tools rule).\n\nIf you already hold a chain receipt and only need authenticity/lifecycle: `verify_receipt`. If you need a past decision by id: `get_decision_details`. Neither replaces preflight for a new change set.\n\nThe CodeRifts MCP server exposes exactly three tools \u2014 `preflight_change_set`, `verify_receipt`, `get_decision_details`. Do not invent or assume others.\n\nA receipt authorizes ONE operation: a merge receipt does not authorize a deploy. Before a different operation (deploy, publish), call `preflight_change_set` with `context.operation` set to that operation \u2014 reusing a differently-scoped receipt is not permitted and will fail at the gate.\n\nA stale or superseded receipt on a changed head requires a NEW preflight \u2014 `verify_receipt` cannot re-diff.\n\nFor mutating tools, put only the guarded version in the agent's tool table; keep the raw handler host-only and unreachable from that table. How you name tools is yours \u2014 this is a reachability property, not a product rename of host tools. CodeRifts cannot see or stop a raw call the host makes outside the table it returns; adopt this as a host convention, not as a guarantee from the package.\n\nCodeRifts reports a governance decision and `execution_action`; it does not by itself block merges. Blocking requires separate repository configuration (required status checks, enforcement) that this rule file does not set.\n\nTo act (mutate a contract, merge, deploy, or publish): call `preflight_change_set` with `preflight_mode` authorize. Analyze is informational \u2014 risk only, `may_execute` is always false \u2014 and is not permission. Read `execution_action` on the `decision_result` envelope.\n\nBefore acting under a held receipt: call `verify_receipt` with the intended `context` (operation, environment, repository, branch, pull_request) for THIS attempt. Do not act on a receipt whose scope does not match.\n\nAct only when `currently_authorized` is true (`control_envelope.receipt_view.currently_authorized`). A valid-looking token is not permission if `currently_authorized` is false or omitted.\n\nCommit / CAS evidence is a separate measurement (`commit_observation` on GuardOutcome). It is not a substitute for authorize + `currently_authorized`. Production hosts that want the fail-closed conjunction lock it with `profile: ENFORCING_STRICT` on withCodeRifts.\n\nIf the host requests an execution grant (opt-in `include_execution_grant`), the grant is bound to operation + target + after-payload (`scope_hash`) and is short-lived \u2014 never reuse it after the after-payload changes.\n\nAn ATOMIC-profile grant carries `state_nonce` and is single-use at the executor \u2014 if the executor has consumed the nonce, re-preflight; do not retry the same grant.\n\nWith a proven tenant\u2194repo binding you may request `derivation:\"server\"` instead of assembling `artifacts[]` yourself (`context.repository` + `context.base` + `context.head` required; caller-supplied artifacts are rejected on that path).\n\nA commit is only proven when an executor attestation verifies (customer-held executor key, `cas_evidence: executor_attested`); otherwise say \"authorized, commit not proven\".";
23
+ exports.CODERIFTS_POLICY = "Call `preflight_change_set` before merge, deploy, publish, or tool registration when a contract artifact changed (OpenAPI/Swagger, GraphQL, gRPC/protobuf, AsyncAPI, MCP manifest, or agent tool schemas).\n\nSend the complete base-to-head change set: every changed contract artifact with full before and after content. Do not send a single-file subset when other contract files also change.\n\nBranch on `execution_action` only. Do not branch on `decision` and do not branch on `safe_for_agent` (not_for_control_flow_use_execution_action). Canonical `execution_action` values: CONTINUE, CONTINUE_WITH_MONITORING, REQUEST_APPROVAL, STOP.\n\nAn unrecognised `execution_action` is not permission: fail closed (halt or re-preflight). Well-known code: `not_permission_fail_closed`.\n\nWhen `execution_action` is REQUEST_APPROVAL or STOP, surface the detected patterns and the blast radius, and propose the safer path \u2014 deprecate-then-remove, an additive change, or a new version \u2014 rather than shipping the break.\n\n`CONTINUE_WITH_MONITORING` requires a wired monitoring sink (`monitoringSinkWired`). It is not \"proceed with caution\" without monitoring.\n\nDo not call `preflight_change_set` for: a documentation-only change (README, guides, comments) with no contract artifact content change; a static readiness score (a different capability, not a change-set decision); or to verify a receipt you already hold (that is `verify_receipt` \u2014 see the companion-tools rule).\n\nIf you already hold a chain receipt and only need authenticity/lifecycle: `verify_receipt`. If you need a past decision by id: `get_decision_details`. Neither replaces preflight for a new change set.\n\nThe CodeRifts MCP server exposes exactly three tools \u2014 `preflight_change_set`, `verify_receipt`, `get_decision_details`. Do not invent or assume others.\n\nA receipt authorizes ONE operation: a merge receipt does not authorize a deploy. Before a different operation (deploy, publish), call `preflight_change_set` with `context.operation` set to that operation \u2014 reusing a differently-scoped receipt is not permitted and will fail at the gate.\n\nA stale or superseded receipt on a changed head requires a NEW preflight \u2014 `verify_receipt` cannot re-diff.\n\nFor mutating tools, put only the guarded version in the agent's tool table; keep the raw handler host-only and unreachable from that table. How you name tools is yours \u2014 this is a reachability property, not a product rename of host tools. CodeRifts cannot see or stop a raw call the host makes outside the table it returns; adopt this as a host convention, not as a guarantee from the package.\n\nCodeRifts reports a governance decision and `execution_action`; it does not by itself block merges. Blocking requires separate repository configuration (required status checks, enforcement) that this rule file does not set.\n\nTo act (mutate a contract, merge, deploy, or publish): call `preflight_change_set` with `preflight_mode` authorize. Analyze is informational \u2014 risk only, `may_execute` is always false \u2014 and is not permission. Read `execution_action` on the `decision_result` envelope.\n\nBefore acting under a held receipt: call `verify_receipt` with the intended `context` (operation, environment, repository, branch, pull_request) for THIS attempt. Do not act on a receipt whose scope does not match.\n\nAct only when `currently_authorized` is true (`control_envelope.receipt_view.currently_authorized`). A valid-looking token is not permission if `currently_authorized` is false or omitted.\n\nCommit / CAS evidence is a separate measurement (`commit_observation` on GuardOutcome). It is not a substitute for authorize + `currently_authorized`. Production hosts that want the fail-closed conjunction lock it with `profile: ENFORCING_STRICT` on withCodeRifts.\n\nIf the host requests an execution grant (opt-in `include_execution_grant`), the grant is bound to operation + target + after-payload (`scope_hash`) and is short-lived \u2014 never reuse it after the after-payload changes.\n\nAn ATOMIC-profile grant carries `state_nonce` and is single-use at the executor \u2014 if the executor has consumed the nonce, re-preflight; do not retry the same grant.\n\nVersions you may meet elsewhere: `cr.exec.v2` is the issued-token version for atomic execution, and `ENFORCING_STRICT_V1` is the versioned spelling of the strict profile. Neither is the default and neither is required by these rules \u2014 see `docs/grant-versions.md`.\n\nWith a proven tenant\u2194repo binding you may request `derivation:\"server\"` instead of assembling `artifacts[]` yourself (`context.repository` + `context.base` + `context.head` required; caller-supplied artifacts are rejected on that path).\n\nA commit is only proven when an executor attestation verifies (customer-held executor key, `cas_evidence: executor_attested`); otherwise say \"authorized, commit not proven\".";
24
24
  /** Once-per-process warning when the host supplied a prompt that lacks the marker. */
25
25
  exports.POLICY_ABSENT_WARN = "CodeRifts policy text not detected in the system prompt. The agent will still see the tools, but measured evidence shows operation-scope misuse is markedly more likely without it. See https://github.com/coderifts/agent-guard#policy-delivery.";
26
26
  function textHasMarker(text) {
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/policy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/tool-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -210,7 +210,13 @@ function wrapWithGuard(tool, cls, config) {
210
210
  meta: tool.meta,
211
211
  execute: async (args) => {
212
212
  const deriveCfg = (0, auto_derive_js_1.normalizeAutoDerive)(guardCfg.autoDerive);
213
- const rebindRaw = () => binder(tool, args, cls);
213
+ // 1375 stamp the class the registry ALREADY resolved onto the descriptor. A custom binder
214
+ // may legitimately rebuild the descriptor and drop it, so it is applied after the binder, not
215
+ // inside it; a binder that deliberately sets its own class keeps it.
216
+ const rebindRaw = () => {
217
+ const c = binder(tool, args, cls);
218
+ return c && c.mutationClass === undefined ? { ...c, mutationClass: cls } : c;
219
+ };
214
220
  let lastDerivation = null;
215
221
  const rebind = async () => {
216
222
  const c = rebindRaw();
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/tool-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,40 @@ export type ReceiptVerifiedEnvelope = DecisionResultEnvelope & {
16
16
  };
17
17
  export interface GuardConfig {
18
18
  client: CodeRifts;
19
+ /**
20
+ * OFFLINE receipt verification (1307). When set, the guard verifies against these pinned keys
21
+ * instead of calling the SDK over the network — the same posture the other three enforcement
22
+ * points already have. Absent: the network path, exactly as before.
23
+ *
24
+ * NEVER FETCHED. A fetchable keyring would make "offline" a configuration detail rather than a
25
+ * property, and whoever could answer the fetch would choose the keys.
26
+ */
27
+ receiptKeyring?: string | {
28
+ keys: unknown[];
29
+ };
30
+ /**
31
+ * What to do when the envelope carries NO receipt token at all (1307).
32
+ *
33
+ * 'proceed' default, and unchanged: act on the reconciled envelope, with `enforceable`
34
+ * recording that nothing was cryptographically bound.
35
+ * 'fail-closed' stop. For a host that has decided every action must be receipt-backed.
36
+ *
37
+ * This is orthogonal to `verifyReceipts`, which governs a receipt that IS present.
38
+ */
39
+ requireReceipt?: 'proceed' | 'fail-closed';
40
+ /**
41
+ * What to do when a MUTATING tool call reaches the guard with no verified receipt (1356).
42
+ *
43
+ * Default 'fail-closed': it does not execute. The host is the first gate in the inescapability
44
+ * order and it was the only one of the four that let this through.
45
+ *
46
+ * 'advisory' executes anyway and WARNS every time — the same posture as `verify_ssl=false`:
47
+ * a real option, named out loud, never silent. `CODERIFTS_ADVISORY=1` selects it from the
48
+ * environment, but CANNOT override an explicit 'fail-closed' here.
49
+ *
50
+ * Non-mutating calls are unaffected: the gate is on `isMutatingCall`, not on "was it preflighted".
51
+ */
52
+ requireGuardedMutation?: 'fail-closed' | 'advisory';
19
53
  failPolicy?: 'closed' | 'open' | 'lkg';
20
54
  timeoutMs?: number;
21
55
  retries?: number;
@@ -182,6 +216,21 @@ export interface ToolCallDescriptor {
182
216
  intent?: string;
183
217
  filesTouched?: string[];
184
218
  diff?: string;
219
+ /**
220
+ * 1375 — the capability class the HOST declared (or the registry classified) for this tool.
221
+ *
222
+ * MEASURED 2026-09-05, and this field exists because of it: `guardToolRegistry` already resolves
223
+ * `Bash` to `mutating_shell` and marks it `guarded: true`, with or without an explicit
224
+ * declaration — the classification was right all along. It simply had nowhere to travel: the
225
+ * descriptor carried no field for it, so `decideUnguardedMutation` never saw it and a raw
226
+ * `Bash { command: 'kubectl apply -f prod.yaml' }` took the SKIPPED path and EXECUTED.
227
+ *
228
+ * NOT A COMMAND CLASSIFIER. Nothing here reads the command string, and nothing should: that is
229
+ * an arms race (`sh -c`, aliases, base64, a wrapper script) the guard cannot win. The claim is
230
+ * narrower and holdable — the host declares what a capability IS, and a declared mutator that
231
+ * reaches the end of the guard without a verified receipt does not run.
232
+ */
233
+ mutationClass?: string;
185
234
  }
186
235
  /**
187
236
  * Optional per-invocation execution context. 3rd factory argument — existing 2-arg
@@ -383,7 +432,7 @@ export type UnavailableVerdict = {
383
432
  lkgEnvelope: ReceiptVerifiedEnvelope;
384
433
  });
385
434
  export type AvailabilityCause = 'TIMEOUT' | 'NETWORK' | 'SERVER_ERROR' | 'RATE_LIMITED';
386
- export type IntegrityCause = 'INVALID_RESPONSE' | 'UNSUPPORTED_VERSION' | 'SCHEMA_INVALID' | 'RECEIPT_UNVERIFIED' | 'DETECTOR_ERROR' | 'CONFIG_ERROR' | 'PAYLOAD_TOO_LARGE' | 'REQUEST_REJECTED' | 'RECEIPT_ENVELOPE_MISMATCH' | 'DECISION_INCONSISTENT' | 'EXECUTION_ACTION_UNRECOGNISED' | 'UNREADABLE_DECISION' | 'ANALYSIS_DEGRADED' | 'ARTIFACT_MISMATCH' | 'RECEIPT_MISSING' | 'MONITORING_UNWIRED' | 'MISSING_ARTIFACT_CONTENT' | 'FRESHNESS_REQUIRED' | 'FRESHNESS_FAILED' | 'CONDITIONAL_WRITE_REQUIRED' | 'EXECUTION_STATE_DRIFT' | 'EXECUTION_STATE_UNMEASURABLE' | 'EXECUTION_GRANT_NONCE_UNRESOLVABLE' | 'EXECUTION_GRANT_MISSING' | 'SIGNER_UNAVAILABLE';
435
+ export type IntegrityCause = 'INVALID_RESPONSE' | 'UNSUPPORTED_VERSION' | 'SCHEMA_INVALID' | 'RECEIPT_UNVERIFIED' | 'DETECTOR_ERROR' | 'CONFIG_ERROR' | 'PAYLOAD_TOO_LARGE' | 'REQUEST_REJECTED' | 'RECEIPT_ENVELOPE_MISMATCH' | 'DECISION_INCONSISTENT' | 'EXECUTION_ACTION_UNRECOGNISED' | 'UNREADABLE_DECISION' | 'ANALYSIS_DEGRADED' | 'ARTIFACT_MISMATCH' | 'RECEIPT_MISSING' | 'UNGUARDED_MUTATION' | 'MONITORING_UNWIRED' | 'MISSING_ARTIFACT_CONTENT' | 'FRESHNESS_REQUIRED' | 'FRESHNESS_FAILED' | 'CONDITIONAL_WRITE_REQUIRED' | 'EXECUTION_STATE_DRIFT' | 'EXECUTION_STATE_UNMEASURABLE' | 'EXECUTION_GRANT_NONCE_UNRESOLVABLE' | 'EXECUTION_GRANT_MISSING' | 'SIGNER_UNAVAILABLE';
387
436
  export type UnavailableCause = AvailabilityCause | IntegrityCause;
388
437
  export interface TriggerDetector {
389
438
  version: string;
@@ -409,6 +458,19 @@ export type GuardEvent = {
409
458
  signals?: string[];
410
459
  detectorVersion?: string;
411
460
  }
461
+ /**
462
+ * 1356 — a mutating tool call the detector did not recognise, with no receipt.
463
+ * `_blocked` is the default outcome; `_advisory` means the host NAMED the opt-out
464
+ * (CODERIFTS_ADVISORY / requireGuardedMutation:'advisory') and the call executed anyway.
465
+ * The advisory case ALSO goes to console.warn, because onEvent is optional and an advisory
466
+ * execution that nobody hears is the failure this closes.
467
+ */
468
+ | {
469
+ type: 'unguarded_mutation_blocked' | 'unguarded_mutation_advisory';
470
+ at: string;
471
+ cause?: string;
472
+ source?: 'config' | 'environment';
473
+ }
412
474
  /** ID842 step 3a — warn-mode only: real T2 fingerprint drift observed; execution still proceeds. */
413
475
  | {
414
476
  type: 'execution_state_drift_observed';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * 1356 — the host is the FIRST gate in the inescapability order (host → model → registry → CI),
3
+ * and until now it was the only one of the four that let a mutating call through by default.
4
+ *
5
+ * ── WHAT WAS ALREADY FAIL-CLOSED, MEASURED 2026-09-04 ───────────────────────────────────────
6
+ *
7
+ * Three of the four cases in the brief were ALREADY blocked by default, and the flip must not be
8
+ * described as if it closed them:
9
+ *
10
+ * contract call + NO receipt UNAVAILABLE / RECEIPT_MISSING guard.ts:981,1067
11
+ * contract call + unknown key UNAVAILABLE / RECEIPT_UNVERIFIED guard.ts:813
12
+ * contract call + STOP BLOCK guard.ts:854
13
+ *
14
+ * `enforceable = receiptVerified && …` (guard.ts:981) is the invariant that does it: the guard
15
+ * never runs the factory as enforced without a bound receipt. `requireReceipt: 'fail-closed'`
16
+ * (1307) fires earlier on the same fact; it is not what stood between a stranger and execution.
17
+ *
18
+ * ── THE GAP THAT WAS REAL ───────────────────────────────────────────────────────────────────
19
+ *
20
+ * All three depend on the DETECTOR having triggered. The detector fires on contract artifacts —
21
+ * OpenAPI, GraphQL, protobuf, MCP manifests. A call it does not recognise takes the SKIPPED path
22
+ * (guard.ts:600) and executes with `preflighted:false, enforced:false`. Measured, by default:
23
+ *
24
+ * Read README.md SKIPPED → executed (correct)
25
+ * Edit src/app.py old_string/new_string SKIPPED → executed ← mutation, unguarded
26
+ * Write deploy.sh content: 'rm -rf /' SKIPPED → executed ← mutation, unguarded
27
+ *
28
+ * "Not a contract change" is a true statement about the ARTIFACT and it was being used as a
29
+ * decision about the ACTION. The host wrapped the tool, the guard saw the call, and the write
30
+ * happened anyway with nothing signed.
31
+ *
32
+ * ── THE FLIP ────────────────────────────────────────────────────────────────────────────────
33
+ *
34
+ * A mutating call that reaches the end of the guard with no verified receipt is BLOCKED by
35
+ * default. Advisory remains available and is now a NAMED choice — `CODERIFTS_ADVISORY=1`, or
36
+ * `requireGuardedMutation: 'advisory'` — and it WARNS every time. `verify_ssl=false` is the
37
+ * comparison: a real option, spelled out loud, never the silent default.
38
+ *
39
+ * ── WHAT THIS DELIBERATELY DOES NOT DO ──────────────────────────────────────────────────────
40
+ *
41
+ * It does not widen `isMutatingCall` (freshness.ts:433). That predicate is shared with the
42
+ * conditional-write policy (guard.ts:495), so widening it here would silently change a second,
43
+ * unrelated gate. The consequence is a MEASURED RESIDUAL, and it should be read as a limit of
44
+ * this change rather than a property of it: `Bash { command: 'kubectl apply -f prod.yaml' }` is
45
+ * NOT classified mutating — the predicate reads contents/content/new_string/old_string/patch/
46
+ * edits, and `command` is not among them. A shell command that mutates production still takes the
47
+ * SKIPPED path. Closing that needs the predicate widened WITH the conditional-write blast radius
48
+ * measured, which is a separate change.
49
+ *
50
+ * An explicit `requireGuardedMutation: 'fail-closed'` is NOT overridable by the environment. An
51
+ * escape hatch that can undo a decision the host wrote down is not an escape hatch, it is a
52
+ * bypass, and anyone who can set an environment variable would hold it.
53
+ */
54
+ /**
55
+ * 'fail-closed' default — a mutating call with no verified receipt does not execute.
56
+ * 'advisory' execute anyway, and warn every time. Deliberate, named, and loud.
57
+ */
58
+ export type GuardedMutationPolicy = 'fail-closed' | 'advisory';
59
+ export declare const ADVISORY_ENV_VAR = "CODERIFTS_ADVISORY";
60
+ export interface UnguardedMutationDecision {
61
+ /** Refuse to execute. */
62
+ readonly stop: boolean;
63
+ /** Executing anyway under advisory — the caller MUST surface this; silence is the failure mode. */
64
+ readonly warn?: string;
65
+ /** Why, in terms of what is at risk. */
66
+ readonly detail?: string;
67
+ /** Which input produced the advisory outcome, so a report can say who chose it. */
68
+ readonly source?: 'config' | 'environment';
69
+ }
70
+ /**
71
+ * @param mutating isMutatingCall() over the REDACTED descriptor — never the raw one.
72
+ * @param policy host configuration; undefined means the new default.
73
+ * @param env process.env, injected so this stays a pure function and is testable.
74
+ */
75
+ /**
76
+ * 1375 — a capability class the host declared as mutating. Prefix match, so a future
77
+ * `mutating_*` class is covered the day it is added rather than the day someone remembers to
78
+ * update a list. `readonly` and an absent class are NOT mutating here: absence is decided by
79
+ * `isMutatingCall` on the arguments, exactly as before.
80
+ */
81
+ export declare function isDeclaredMutatingClass(cls: unknown): boolean;
82
+ export declare function decideUnguardedMutation(mutating: boolean, policy: GuardedMutationPolicy | undefined, env: Record<string, string | undefined>): UnguardedMutationDecision;
83
+ //# sourceMappingURL=unguarded-mutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unguarded-mutation.d.ts","sourceRoot":"","sources":["../../src/unguarded-mutation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,UAAU,CAAC;AAK/D,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD,MAAM,WAAW,yBAAyB;IACxC,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,mGAAmG;IACnG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;CAC5C;AAOD;;;;GAIG;AACH;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,qBAAqB,GAAG,SAAS,EACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,yBAAyB,CAoC3B"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * 1356 — the host is the FIRST gate in the inescapability order (host → model → registry → CI),
4
+ * and until now it was the only one of the four that let a mutating call through by default.
5
+ *
6
+ * ── WHAT WAS ALREADY FAIL-CLOSED, MEASURED 2026-09-04 ───────────────────────────────────────
7
+ *
8
+ * Three of the four cases in the brief were ALREADY blocked by default, and the flip must not be
9
+ * described as if it closed them:
10
+ *
11
+ * contract call + NO receipt UNAVAILABLE / RECEIPT_MISSING guard.ts:981,1067
12
+ * contract call + unknown key UNAVAILABLE / RECEIPT_UNVERIFIED guard.ts:813
13
+ * contract call + STOP BLOCK guard.ts:854
14
+ *
15
+ * `enforceable = receiptVerified && …` (guard.ts:981) is the invariant that does it: the guard
16
+ * never runs the factory as enforced without a bound receipt. `requireReceipt: 'fail-closed'`
17
+ * (1307) fires earlier on the same fact; it is not what stood between a stranger and execution.
18
+ *
19
+ * ── THE GAP THAT WAS REAL ───────────────────────────────────────────────────────────────────
20
+ *
21
+ * All three depend on the DETECTOR having triggered. The detector fires on contract artifacts —
22
+ * OpenAPI, GraphQL, protobuf, MCP manifests. A call it does not recognise takes the SKIPPED path
23
+ * (guard.ts:600) and executes with `preflighted:false, enforced:false`. Measured, by default:
24
+ *
25
+ * Read README.md SKIPPED → executed (correct)
26
+ * Edit src/app.py old_string/new_string SKIPPED → executed ← mutation, unguarded
27
+ * Write deploy.sh content: 'rm -rf /' SKIPPED → executed ← mutation, unguarded
28
+ *
29
+ * "Not a contract change" is a true statement about the ARTIFACT and it was being used as a
30
+ * decision about the ACTION. The host wrapped the tool, the guard saw the call, and the write
31
+ * happened anyway with nothing signed.
32
+ *
33
+ * ── THE FLIP ────────────────────────────────────────────────────────────────────────────────
34
+ *
35
+ * A mutating call that reaches the end of the guard with no verified receipt is BLOCKED by
36
+ * default. Advisory remains available and is now a NAMED choice — `CODERIFTS_ADVISORY=1`, or
37
+ * `requireGuardedMutation: 'advisory'` — and it WARNS every time. `verify_ssl=false` is the
38
+ * comparison: a real option, spelled out loud, never the silent default.
39
+ *
40
+ * ── WHAT THIS DELIBERATELY DOES NOT DO ──────────────────────────────────────────────────────
41
+ *
42
+ * It does not widen `isMutatingCall` (freshness.ts:433). That predicate is shared with the
43
+ * conditional-write policy (guard.ts:495), so widening it here would silently change a second,
44
+ * unrelated gate. The consequence is a MEASURED RESIDUAL, and it should be read as a limit of
45
+ * this change rather than a property of it: `Bash { command: 'kubectl apply -f prod.yaml' }` is
46
+ * NOT classified mutating — the predicate reads contents/content/new_string/old_string/patch/
47
+ * edits, and `command` is not among them. A shell command that mutates production still takes the
48
+ * SKIPPED path. Closing that needs the predicate widened WITH the conditional-write blast radius
49
+ * measured, which is a separate change.
50
+ *
51
+ * An explicit `requireGuardedMutation: 'fail-closed'` is NOT overridable by the environment. An
52
+ * escape hatch that can undo a decision the host wrote down is not an escape hatch, it is a
53
+ * bypass, and anyone who can set an environment variable would hold it.
54
+ */
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.ADVISORY_ENV_VAR = void 0;
57
+ exports.isDeclaredMutatingClass = isDeclaredMutatingClass;
58
+ exports.decideUnguardedMutation = decideUnguardedMutation;
59
+ /** The named opt-out. Compared against exactly these, so `CODERIFTS_ADVISORY=0` is not advisory. */
60
+ const ADVISORY_TRUE = new Set(['1', 'true', 'yes', 'on']);
61
+ exports.ADVISORY_ENV_VAR = 'CODERIFTS_ADVISORY';
62
+ const RISK = 'A mutating tool call reached the guard with no verified receipt: the detector did not '
63
+ + 'recognise a contract artifact, so nothing was preflighted and nothing was signed. "Not a '
64
+ + 'contract change" describes the artifact, not the action — the write still happens.';
65
+ /**
66
+ * @param mutating isMutatingCall() over the REDACTED descriptor — never the raw one.
67
+ * @param policy host configuration; undefined means the new default.
68
+ * @param env process.env, injected so this stays a pure function and is testable.
69
+ */
70
+ /**
71
+ * 1375 — a capability class the host declared as mutating. Prefix match, so a future
72
+ * `mutating_*` class is covered the day it is added rather than the day someone remembers to
73
+ * update a list. `readonly` and an absent class are NOT mutating here: absence is decided by
74
+ * `isMutatingCall` on the arguments, exactly as before.
75
+ */
76
+ function isDeclaredMutatingClass(cls) {
77
+ return typeof cls === 'string' && cls.startsWith('mutating');
78
+ }
79
+ function decideUnguardedMutation(mutating, policy, env) {
80
+ // Read tools are the whole reason this is gated on mutation rather than on "was it preflighted".
81
+ if (!mutating)
82
+ return { stop: false };
83
+ if (policy === 'advisory') {
84
+ return {
85
+ stop: false,
86
+ source: 'config',
87
+ detail: RISK,
88
+ warn: 'CodeRifts: ADVISORY — executing an unguarded mutating tool call. '
89
+ + 'requireGuardedMutation is set to \'advisory\', so the guard is reporting rather than '
90
+ + 'enforcing. ' + RISK,
91
+ };
92
+ }
93
+ // An explicit fail-closed outranks the environment. Checked BEFORE reading env on purpose.
94
+ if (policy !== 'fail-closed' && ADVISORY_TRUE.has(String(env[exports.ADVISORY_ENV_VAR] ?? '').toLowerCase())) {
95
+ return {
96
+ stop: false,
97
+ source: 'environment',
98
+ detail: RISK,
99
+ warn: `CodeRifts: ADVISORY — executing an unguarded mutating tool call because `
100
+ + `${exports.ADVISORY_ENV_VAR} is set. This is the documented opt-out and it is not the default. `
101
+ + RISK,
102
+ };
103
+ }
104
+ return {
105
+ stop: true,
106
+ detail: RISK + ' Blocked by default. To proceed without a receipt, choose it explicitly: set '
107
+ + `${exports.ADVISORY_ENV_VAR}=1 or requireGuardedMutation: 'advisory'. To proceed WITH one, send `
108
+ + 'the change through preflight so there is something to verify.',
109
+ };
110
+ }
111
+ //# sourceMappingURL=unguarded-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unguarded-mutation.js","sourceRoot":"","sources":["../../src/unguarded-mutation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;;;AAwCH,0DAEC;AAED,0DAwCC;AA5ED,oGAAoG;AACpG,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAE7C,QAAA,gBAAgB,GAAG,oBAAoB,CAAC;AAarD,MAAM,IAAI,GACR,wFAAwF;MACtF,2FAA2F;MAC3F,oFAAoF,CAAC;AAEzF;;;;GAIG;AACH;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,GAAY;IAClD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/D,CAAC;AAED,SAAgB,uBAAuB,CACrC,QAAiB,EACjB,MAAyC,EACzC,GAAuC;IAEvC,iGAAiG;IACjG,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAEtC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI;YACZ,IAAI,EACF,mEAAmE;kBACjE,uFAAuF;kBACvF,aAAa,GAAG,IAAI;SACzB,CAAC;IACJ,CAAC;IAED,2FAA2F;IAC3F,IAAI,MAAM,KAAK,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACrG,OAAO;YACL,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,IAAI;YACZ,IAAI,EACF,0EAA0E;kBACxE,GAAG,wBAAgB,qEAAqE;kBACxF,IAAI;SACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI;QACV,MAAM,EACJ,IAAI,GAAG,+EAA+E;cACpF,GAAG,wBAAgB,sEAAsE;cACzF,+DAA+D;KACpE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ # Vendored verify core — the OFFLINE receipt verifier (1307).
2
+ #
3
+ # Byte copies from the public receipt-verifier, pinned. The guard used to verify over the
4
+ # NETWORK via config.client.verifyReceipt(), which the other three enforcement points do not:
5
+ # contract-gate, k8s-admission and gateway-verifier all verify offline against a pinned keyring.
6
+ # A verifier that needs the network fails differently from one that does not, and the sentence
7
+ # "the same proof at all four points, offline" was false because of this one.
8
+ #
9
+ # Do not edit these files here. Recopy from receipt-verifier and re-pin.
10
+ # source: receipt-verifier e11d3f5d9f5444d8b2a07428c922d2040f4819ce
11
+
12
+ verify.js 363e52c72ec4b913e1f3edc8e2029848feaeacb1efa6c07960fe5e5f195c23b3
13
+ arity.js 721fcac58b960b5e2aa1af91edb6cfc87ebe828a6da73879967ef79a1ca474e8