Compatibility: Pactmark 0.1.x. Every example runs offline with a deterministic model. None requires a provider key or network access.

Running them

Each example has test, typecheck, build and dev scripts. Start with test — the scenario tests are where the interesting assertions live.

The examples

Minimal tool agent

One R1 read tool over an immutable fixture. Ordered events, a stored artifact, an exported evidence record.

Workspace agent

A bounded virtual filesystem: allowlisted roots, path and symlink denial, output limits, cancellation, redaction.

Research evidence agent

A deterministic source fixture becomes a verified artifact and an EvidenceRecord. Offline and mandatory in CI.

Portable agent

One unchanged implementation called through Node, Vercel and Cloudflare-shaped entrypoints.

Also in the repository

The full approval boundary for a simulated outbound message. The CLI prints only the canonical preview; the challenge is passed directly to the command and never printed. Crash scenarios and reconciliation prove idempotency behaviour — not delivery by a real provider.
Content-addresses a JSON document, verifies exact bytes and citation shape, builds a claim-bounded EvidenceRecord, and exports deterministic JSON and Markdown. No live URL fetch.
Deliberately fails closed. It creates an exact R4 policy identity and a deterministic purchase preview, then refuses dispatch with KAF_EXAMPLE_APPROVAL_SURFACE_UNAVAILABLE. No purchase or external write occurs. This is not an approval-flow success claim.
Deliberately fails closed. It proves the public worker authority issuer binds a system worker to one run, scheduler receipt, lease and fencing token, and that a newer fence invalidates the old delegation. It does not claim durable resume.

Why two examples refuse to work

approval-purchase-boundary and delegated-incident-boundary exist because the alternative was a mocked success. An example that simulates a working approval-driven write would teach you an API that does not yet exist on the public facade.
If you are evaluating Pactmark, run those two first. They tell you where the current edges are faster than any prose on this site, and they are a reasonable proxy for how the project handles uncomfortable facts generally.

What every example has in common

Deterministic model

A scripted driver. No provider key, no flakiness, no bill.

Offline

No network access. Fixtures are embedded and immutable.

Honest readiness

Memory-backed, so evaluateReadiness({ profile: "production" }) returns not-ready.

Scenario tests

Including denial, cancellation and boundary conditions — not just the happy path.

A stated limit

Each README says what its result does not support.

Real evidence output

An actual EvidenceRecord you can read and export.

Start with the minimal tool agent

The smallest complete Pactmark run, explained line by line.