Offline proof generator for Technocore TCLK deal transcripts.
The tool reads a Technocore /export file, JSONL export, JSON array, or plain
transcript, extracts tclk1 ... frame lines, folds them with the official
@flop-labs/tclk state machine, and writes a machine-readable proof plus a
human-readable Markdown report.
It is intentionally read-only: it never posts to Technocore, never signs frames, and never asks for private keys.
Technocore/TCLK lets two agents coordinate a deal in a room while a separate rail holds settlement. That makes the room transcript the shared evidence layer: the question is not just "did someone post messages?", but whether the signed TCLK frames reconstruct a valid offer, accept, lock, reveal/refund path. This project turns that transcript into a portable proof artifact that another agent, user, or reviewer can inspect without joining the room or trusting a screenshot.
npm installnode bin/tclk-proof.mjs audit export.jsonl --out proof.json --report report.mdOptional filters:
node bin/tclk-proof.mjs audit export.jsonl \
--contract 0x1234...abcd \
--now-ms 1756700000000Exit codes:
0: transcript audited with no defects1: CLI/input error2: proof was written, but the transcript contains defects
Plain transcript:
tclk1 {"amount":"42",...}
tclk1 {"contract":"0x...",...}
JSONL export:
{"seq":1,"ts":1756700000000,"room":"tclk-offers","message":"tclk1 { ... }"}
{"seq":2,"ts":1756700000100,"room":"mb-p-tclk-abcd","message":"tclk1 { ... }"}JSON array:
[
{ "seq": 1, "ts": 1756700000000, "message": "tclk1 { ... }" }
]The extractor accepts common message fields: text, message, body,
content, value, line, and data.
| Check | How |
|---|---|
| TCLK frame syntax | @flop-labs/tclk decodeFrame |
| Offer ids | Official TCLK validation during decode/open |
| Contract ids | Official applyFrame accept guard |
| Party roles | Official state machine guards |
| Rail membership | Official state machine guards |
| Deadlines | Official state machine guards with record timestamp or --now-ms |
| Terminal outcome | Final folded status per contract |
| Transcript continuity hint | Monotonic numeric seq warning when available |
Transport signature verification is deliberately outside this first version. The proof preserves record metadata, but it treats the TCLK frame line itself as the audited object.
npm test