npm run examples
(scripts/run-examples.ts), confirmed passing this pass; one (09, noted
below) needs a live server and runs individually. Numbering has a few
intentional gaps (61, 63-68, 85), retired when the Razorpay connector was
deliberately removed from the codebase, never reused, see the note below. See
Detect tampering and Choose a signature
provider for guides built directly on
several of these.node_modules/.bin/tsx examples/tutorials/<NN-name>/run.ts.
Fundamentals (01-24)
Fundamentals (01-24)
Gateway hardening: mutate, verify, watch it fail (35-46)
Gateway hardening: mutate, verify, watch it fail (35-46)
Cryptography (47-52)
Cryptography (47-52)
Execution Permit and Receipt: a separate, unwired path (53-56)
Execution Permit and Receipt: a separate, unwired path (53-56)
Credential isolation (57-60)
Credential isolation (57-60)
Signal/Intent binding (62)
Signal/Intent binding (62)
docs/CLAIMS.md’s “Key
Compromise Notice” section and the connector-removal history), never reused.
examples/README.md in the source repository is the authoritative, current
tutorial list.HubSpot: connector, denial, verification, approval artifacts (69-72)
HubSpot: connector, denial, verification, approval artifacts (69-72)
Refusal records and signed audit events (73-75)
Refusal records and signed audit events (73-75)
Caller scoping and concurrency (76-78)
Caller scoping and concurrency (76-78)
Storage and config validation (79-80)
Storage and config validation (79-80)
Multi-connector composition (81-83)
Multi-connector composition (81-83)
HTTP surface hardening (84, 88-91)
HTTP surface hardening (84, 88-91)
Real-world fixtures and gateway internals (86-87, 92-93)
Real-world fixtures and gateway internals (86-87, 92-93)
SDK and generic verification (94-95)
SDK and generic verification (94-95)
Not yet indexed above (96-105)
Not yet indexed above (96-105)
tenant.<tenantId> key signs and verifies only under that key, an
unprovisioned tenantId falls back silently to the shared default key, and a transaction with
no tenantId is unaffected. Newly added to scripts/run-examples.ts’s list: it existed and
worked standalone since its own commit, but npm run examples never exercised it until now.106: API Key Issuance (Writing a New Policy). A brand-new policies/api-key-issuance/1.0.0
policy and worked example showing how to author a policy correctly under the fail-closed
boundSignals discipline and zero-conflict shape from the start, rather than retrofitting it
afterward the way all 10 pre-existing policies needed. Also in scripts/run-examples.ts’s
list from its first commit.107: Offline Verification. verifyExecutionTrustRecordOffline verifying a genuine
record, a tampered one, and a wrong-key attempt, with zero disk/network/env-var access. One
level stronger than Verify a trust record independently’s
“server process stopped” proof.108: Public-Key Discovery. GET /keys/:keyId and GET /.well-known/jwks.json,
unauthenticated, plus the full chain: a key fetched over real HTTP verifies a real record
fully offline via Tutorial 107’s function, with zero further server calls.109: Durable-Evidence Key Rotation. PARMANA_VERIFICATION_KEY_ID rotating the Trust
Record/Refusal Record/Audit Event signing key to a freshly generated keyId without
invalidating any already-issued signature. That property was previously false (the only
prior “rotation” was overwriting the key file in place).110: Hybrid-Signature Downgrade Protection. The opt-in HYBRID_SIGNATURE_REQUIRED flag
closing the gap where a hybrid-signed record’s ML-DSA-65 signature could be silently stripped
with no cryptographic trace, while leaving every already-issued record (default policy,
unaffected) exactly as verifiable as before.Scenarios
Two production-shaped scenarios also live inexamples/scenarios/, run manually via npm run examples (scripts/run-examples.ts), not currently part of CI: expense-approval,
purchase-order. (A third, vendor-payment, existed here until payments:execute was
removed from the repository entirely.)