🥇 When an agent reports
BUILD COMPLETE ✅, you usually get a sentence in a chat thread and nothing behind it. proof-studio replaces the sentence with a signedProofPacket— and fails closed the moment anyone tampers with it.
cd proof-studio/packages/rigforge
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
rigforge demorigforge demo runs a real ProofPacket end-to-end and fails closed on the planted forge.
artifacts → hash → HMAC sign → ProofPacket → verify → ✅ done / ❌ caught
| Scenario | Forged done? | HMAC check | Result |
|---|---|---|---|
| Clean build | No | PASS | ✅ Sealed |
| Tampered artifact hash | Yes | FAIL | ✅ Caught |
| Forged signature (no key) | Yes | FAIL | ✅ Caught |
| Replay attack (valid packet re-submitted for a newer phase) | Yes | PASS (claim binding FAIL) | ✅ Caught |
Every planted failure must go red. If a gate cannot fail, it is theater.
Replay limits. verify rejects a valid packet placed in a phase slot it was not sealed for (different phase number or different phase name). It does not yet catch two other replays, because the signed packet carries no project id and no nonce: (1) a packet copied from another project that uses the same signing key, and (2) an older valid packet from an earlier run of the same phase. Use a separate signing key per project, and keep proofs under version control so an older packet shows up in review.
Production agent systems need a Definition of Done that is:
- Executable — a command, not a vibe
- Tamper-evident — signature over artifact digests
- Replayable — another machine can re-verify
- Hostile to false greens — planted failures must go red
Packages in this studio
| Path | Role |
|---|---|
packages/rigforge |
ProofPacket CLI, demo, honesty benchmark, MCP/web surfaces |
packages/deterministic-build-starter |
Starter that ships with a sealed Definition of Done |
Common commands (from packages/rigforge):
rigforge demo # watch forged done get caught
rigforge benchmark # offline honesty scenarios
rigforge init # scaffold proofs/ contracts/ ledger/
rigforge verify --require-signatureEvaluation gates:
| Gate | Intent |
|---|---|
rigforge demo |
Planted forge fails closed |
rigforge benchmark |
Honest vs. forged scenario suite |
| unit/contract tests under package | CLI and packet invariants |
| public flag-gate | No secrets / PII patterns in tree |
Public boundary
This studio does not ship customer PII, production signing keys, or private fleet credentials. Demo keys and fixtures are local/dev only. See docs/public-boundary.md.
Video walkthrough
- Script:
docs/video-script.md - Recording:
assets/demo.mp4(75s, captioned) - Preview:
assets/demo.gif
| Resource | Description |
|---|---|
packages/rigforge/ |
Installable platform |
docs/public-boundary.md |
What this studio never ships |
CONTRIBUTING.md |
Contribution guide |
| fde-portfolio | Engagement playbooks |
| jake-studio | Operator closed loops that should seal packets |
| doctrine | Proof standards agents load |
| rigforge | Package-first mirror |


