Run the RFQ example
Start with invented quotes and test-only keys. Verify one handoff, then change a copy and see it rejected.
See the shadow decision
Compare the ordinary and missed-defect synthetic trials before choosing measures for your workflow.
One transfer, from authority to action
Choose a consequential transfer, such as a quote another agent will use. Your system decides who may start it, what evidence it needs, and when it must stop. The output check assesses a frozen packet. The receiving agent verifies the record and the exact action it received before applying its own authority. An output check applies your rules to the frozen handoff before send. This diagram shows the successful path and the two places that stop it. In the offline RFQ example, Primitive delivery and the Millwork check and receipt are simulated; a real run needs separate approval. The RFQ example models a Primitive email handoff; even its optional live Millwork mode keeps mail simulated. The record, controller and output check belong to your service. Its handoff explanation names the exact packet, receipt, signed checkpoint, and receiver checks. The diagram above describes a pattern to adapt, not a second ready-to-run integration.Prove the RFQ path locally
Use the checked RFQ download and canonical commands. The example needs Node.js 22 andnpm ci; it uses invented mail, simulated Primitive and Millwork responses, and test-only signing keys. It sends no email and starts no paid run.
1
Run and verify one retained handoff
Run
npm run cases, then use the complete verify-record command it prints for fixtures/rfq-042. The receiver should report record verified for the retained mail and record through the printed sequence and head. Later entries remain unknown to that witness.2
Change a copy and see it stop
Copy that fixture’s
record.jsonl. Change one hex digit of packet_sha256 in its transfer_prepared entry, then run the same printed command against the copy. Expect hash_mismatch and exit code 1. Leave the original fixture and its test keys untouched. The failure table explains the other rejection codes.3
Compare two synthetic shadow verdicts
Run the ordinary and missed-defect trials. Read their
shadow_verdict and rule rows: the ordinary trial passes; the variant misses a planted defect after the witnessed head and fails both S2 and S3. Both commands exit 0. Process success means the report ran, not that the workflow passed its decision rules.Keep the proof; decide the business policy
The RFQ page’s three-file customization changes that RFQ example’s policy, reply, and quote rules. It is not a three-file port to GTM or another workflow. Design and approve the domain choices below before an agent changes lifecycle code.Adapt one bounded workflow
Use test data until your own owners approve the authority, evidence, and policy. The output of each step is something a person can inspect and an agent can test.1
Name the case and its decision owners
Input: one unit of work, its starting event, authorized parties, and a person who owns exceptions. Artifact: a case boundary and authority table. Completion check: each proposed transition names who can cause it; unknown senders and out-of-scope cases stop before admission.
2
Define states and evidence custody
Input: intake records, their source, permitted states, and allowed transitions. Artifact: a state-and-evidence map naming who retains each record. Completion check: missing evidence and invalid transitions have an explicit reject, quarantine, pause, or no-verdict path; an agent’s own claim is not treated as independent proof.
3
Freeze the transfer and its check
Input: exact payload, recipient, action, policy version, and output-check criteria. Artifact: a versioned packet schema and ruleset. Completion check: the check reads the frozen packet from your store by opaque attempt ID; changing the packet, recipient, or received action breaks the binding. A candidate’s prose cannot supply missing evidence.
4
Specify the record and receiver verification
Input: entry format, checkpoint coverage, independently pinned public keys, and the handoff the receiver retains. Artifact: record, witness, key-trust, and receiver-check specifications. Completion check: the receiver detects a changed entry or action, checks the signed head through its sequence, and treats later or unsigned entries according to their stated limits before acting.
5
Exercise pass, failure, and recovery locally
Input: synthetic approved and malformed cases, plus unavailable-evidence and missing-receipt cases. Artifact: local test results and a code-to-action table. Completion check: a valid handoff verifies; a tampered copy fails; a failed check, unknown receipt, revoked key, or no verdict cannot trigger the dependent action. Do not reuse the RFQ’s green tests as evidence that a newly designed workflow works.
6
Preregister and measure in shadow
Input: eligible cases, local records and review log, planted defects, observation window, units, denominators, baseline source, thresholds, and stop owner. Artifact: a dated preregistration and a local report that names exclusions and unsigned observations. Completion check: the report distinguishes measurements from missing evidence and leaves pilot-only measures unmeasured. A separately authorized person decides whether any pilot is worth requesting.
shadow/PREREGISTRATION.md and the interview kit in shadow/INTERVIEW_KIT.md; the RFQ page shows the local input shapes the kit reads. Download and inspect the checked example before adapting those files. Its four-week window, thresholds, test keys, and synthetic time baseline are example-specific choices, not defaults for your organization.