THE LAB NOTEBOOK CARD · a record that shows any change
WAKES WHEN someone logs a protocol, run or result, records data, or must show a record was not changed
THE LOOP
notebook.py init · the record opens
add · protocol, run, result, with data
amend · a new entry, never an edit
head · share the fingerprint
verify · the chain and every data file
NEVER
Edit an entry in place
Add to a chain that does not verify
Help make or strengthen pathogens or toxins
IT MAKES init — the record opens; add — an entry, its data by fingerprint; amend — a correction, never an edit; verify — the chain, and every recorded data file; head — the fingerprint of the whole record so far, to share; show — the readable record.
THE STANDARD write it when it happens; never edit, always amend; nothing is added to a broken chain; share the head; say what it is not; the boundary.
PROOF SELFTEST 12/12 · witnessed in Claude 2026-10-09 · Edition 1.
THE SEAL 98 of 100 · LEGENDARY · WITNESSED · Trigger 5 · Machinery 5 · Law 5 · Portability 5 · Proof 5
IT CAN BE WRONG an AI reading a text file: it can be wrong and can invent a number, a rule, a name or a date; check what matters against your own records and the source; the risk is yours. THE-CLAUSES.md rides in the packet and is part of the licence.
THE PUNCH · SHA-256 OF SKILL.MD · 445F44BF1C462816A657CB14
CITE THIS CARDTHE LAB NOTEBOOK CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=lab-notebook-card. Punch 445F44BF1C462816A657CB14. Retrieved 2026-10-10.
What it is.
Keeps a lab record where every entry is fingerprinted with SHA-256 and chained to the one before, so an edit, a deletion or a reordering after the fact is named at once; records data files by fingerprint so a changed file shows; makes every correction a new entry that points at the old one; and gives a head fingerprint to share so anyone can check the record later.
It carries a machine that shows its working: init — the record opens; add — an entry, its data by fingerprint; amend — a correction, never an edit; verify — the chain, and every recorded data file; head — the fingerprint of the whole record so far, to share; show — the readable record — 12 checks in its selftest, every command on the record. It will never edit an entry in place; never add to a chain that does not verify; never help make or strengthen pathogens or toxins. It never helps design, make, grow, enhance or spread a pathogen or toxin, or plan work meant to harm.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
WRITE IT WHEN IT HAPPENSWrite it when it happens, by the person who did it: who, what, when, with the data file attached by fingerprint.
NEVER EDIT, ALWAYS AMENDA correction is a new entry that names the one it corrects; the original stays readable.
NOTHING IS ADDED TO A BROKEN CHAINIf verify fails, find out why before writing another word.
SHARE THE HEADThe record proves itself only against a fingerprint kept where its keeper cannot change it.
SAY WHAT IT IS NOTNot an electronic-signature system, and not validated for regulated records on its own.
THE BOUNDARYThis card helps run honest, well-designed experiments. It never helps design, make, grow, enhance or spread a pathogen or toxin, or plan work meant to harm people, animals or crops. Such a request is declined in one plain sentence, whatever the framing.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/GOOD-RECORDS.md
THE MACHINEnotebook.py · six commandsinit — the record opens; add — an entry, its data by fingerprint; amend — a correction, never an edit; verify — the chain, and every recorded data file; head — the fingerprint of the whole record so far, to share; show — the readable record. Every command prints its working and refuses a bad input; 12 checks in its selftest, every command on the record.
What it does once your AI has it.
init The record opens
add An entry, its data by fingerprint
amend A correction, never an edit
verify The chain, and every recorded data file
head The fingerprint of the whole record so far, to share
show The readable record
On the record A four-entry record with a data file, verified with its head fingerprint; one character changed by hand and verify named the entry; changed back, it verified; a correction added as a new entry, never an edit; the record shown whole.
What it will never do.
It will never edit an entry in place; never add to a chain that does not verify; never help make or strengthen pathogens or toxins. It never helps design, make, grow, enhance or spread a pathogen or toxin, or plan work meant to harm.
It proves the record is unchanged since a shared head; it cannot prove the first writing was true, and it cannot stop someone rewriting the whole record before any head was shared. It is not an electronic-signature system and is not validated for regulated records (21 CFR Part 11, GLP) on its own. It is an AI reading a text file: it can be wrong, so check what matters against your own records and the source.
What’s in the buy.
CARD.md — the whole card: who it is, its laws, when it says no, what it carries · SKILL.md — the door your AI reads first · START-HERE.md — the first five minutes, for you
GOOD-RECORDS.md — the guide in references/, in the card's own voice
scripts/notebook.py — the machine: init · add · amend · verify · head · show, standard library only, selftest 12/12
WITNESS.md + SELFTEST.md — every command on the record, as it printed · MANIFEST.md, every file hashed · AUDIT.md, the twelve checks
MY-LEDGER.md — the card's memory, on your own machine · TIN.md · LICENSE-NOTE.md · THE-CLAUSES.md · HOSTS.md
card.svg + card-machine.svg + card.json · card.html, the card as one offline file · the doors for ChatGPT, Gemini, Cursor, Claude Code and MCP hosts (rules/, system/, mcp/)
PROOF · SELFTEST 12/12 · 6 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-09 · EDITION 1 · PUNCH 445F44BF1C462816A657CB14
ON EVERY DOOR · A CARD FOR YOUR AI, A FILE FOR YOUR COMPUTER
In Claude: turn on code execution under Settings › Capabilities, then Customize › Skills › + › Create skill, and upload the zip as it is — START-HERE.md in the box walks you through it, and tells you how to keep the ledger. In ChatGPT, Gemini and the rest: a Project, a GPT or a Gem with the card’s files attached and the short door in the box pasted as its instructions. The words run anywhere an AI reads Markdown; the machines run wherever the host runs Python. Witnessed in Claude only. The host marks →
Take it.
Nº 839 PROPOSED — LAUNCHING SOON
Sold as is under the term printed. A card instructs an AI you operate; results depend on your model, your files and your judgement. Not medical, legal, tax or financial advice, never the person’s boss, and not a licence to practise. The terms →
One payment. The file is yours to keep and keeps working at its edition; new editions issued in the year after you buy reach you by email as replacement files. Tax is added at checkout where it applies. Nothing auto-renews.
A TERM, NOT A SUBSCRIPTION: NOTHING RENEWS ITSELF AND NOBODY IS CHARGED AGAIN. WHEN A TERM ENDS THE FILES STAY ON YOUR COMPUTER AND STAY READABLE — FREEZE, NOT LOSS.
THE MACHINE · IN THE OPEN · FROM THE WITNESSED RUN OF 2026-10-09
notebook.py, every command showing its working.
A small Python program, standard library only. Your AI runs it; you can too. Every block below is pasted from the card’s own WITNESS.md, as printed.
init
the record opens
add
an entry, its data by fingerprint
amend
a correction, never an edit
verify
the chain, and every recorded data file
head
the fingerprint of the whole record so far, to share
show
the readable record
selftest
12 checks that prove the machine; it must print 12/12
$ python3 scripts/notebook.py add lab.jsonl --by "J. Lee" --kind protocol "ELISA, primary 1:200, 1 h at room temperature."
WRITTEN · entry 2 · protocol · 538CF957F33B7225828B069B
add · AN ENTRY, ITS DATA BY FINGERPRINT
$ python3 scripts/notebook.py add lab.jsonl --by "J. Lee" --kind run "Plate 1 read at 450 nm." --file plate1.csv
WRITTEN · entry 3 · run · 985DE9B3F86F1AA40A99D96A
add · AN ENTRY, ITS DATA BY FINGERPRINT
$ python3 scripts/notebook.py add lab.jsonl --by "J. Lee" --kind result "Mean OD 0.50."
WRITTEN · entry 4 · result · C36DEB45F865D4985AE8AC87
verify · THE CHAIN, AND EVERY RECORDED DATA FILE
$ python3 scripts/notebook.py verify lab.jsonl --files .
VERIFY · lab.jsonl · 4 entries
INTACT · every entry follows the one before · every data file matches · head C36DEB45F865D4985AE8AC87
head · THE FINGERPRINT OF THE WHOLE RECORD SO FAR, TO SHARE
$ python3 scripts/notebook.py head lab.jsonl
HEAD · entry 4 · c36deb45f865d4985ae8ac879b3a5d9908dc5c069a2b215a7fd32d7cd5a26415 · share this where the record's keeper cannot change it
(one character of entry 4 changed by hand: 0.50 → 0.55)
$ (one character of entry 4 changed by hand: 0.50 → 0.55)
verify · THE CHAIN, AND EVERY RECORDED DATA FILE
$ python3 scripts/notebook.py verify lab.jsonl
VERIFY · lab.jsonl · 4 entries
BROKEN · entry 4: its contents were changed after it was written (2026-10-09T17:27:27Z, by J. Lee)
(changed back)
$ (changed back)
amend · A CORRECTION, NEVER AN EDIT
$ python3 scripts/notebook.py amend lab.jsonl --by "J. Lee" --entry 2 "The primary was 1:500, not 1:200."
WRITTEN · entry 5 · note · corrects entry 2 · 460911EE0BD38B2CA13C810B
verify · THE CHAIN, AND EVERY RECORDED DATA FILE
$ python3 scripts/notebook.py verify lab.jsonl
VERIFY · lab.jsonl · 5 entries
INTACT · every entry follows the one before · head 460911EE0BD38B2CA13C810B
show · THE READABLE RECORD
$ python3 scripts/notebook.py show lab.jsonl
# Assay development
## 1 · opened · 2026-10-09T17:27:27Z · J. Lee
Assay development
`C5E5EC3CD2E364D97212B817`
## 2 · protocol · 2026-10-09T17:27:27Z · J. Lee
ELISA, primary 1:200, 1 h at room temperature.
*Corrected by entry 5 — read that before relying on this.*
`538CF957F33B7225828B069B`
## 3 · run · 2026-10-09T17:27:27Z · J. Lee
Plate 1 read at 450 nm.
- data: `plate1.csv` · 27 bytes · sha-256 `cdba00ac5fcccb4d`
`985DE9B3F86F1AA40A99D96A`
## 4 · result · 2026-10-09T17:27:27Z · J. Lee
Mean OD 0.50.
`C36DEB45F865D4985AE8AC87`
## 5 · note · 2026-10-09T17:27:27Z · J. Lee
*Corrects entry 2.*
The primary was 1:500, not 1:200.
`460911EE0BD38B2CA13C810B`
THE NUMBERS, NAMES AND DATES IN THESE RUNS ARE THE STUDIO’S OWN EXAMPLES, INVENTED FOR THE RECORD; NO REAL COMPANY, PERSON OR PROPERTY IS NAMED.
QUESTIONS AT THE TABLE
Asked before the wire.
What does it need from me?
Notebook.py init · the record opens. It asks first for who is writing, what the record is for, and the data files to record by fingerprint as the work goes.
Does it send anything anywhere?
No. The machine is a standard-library Python program that runs on your own computer and sends nothing anywhere; the words run wherever an AI reads Markdown. No server, no account, no key.
What is on the record?
The self-test (12/12) and every command run on real example inputs, pasted into WITNESS.md as they printed; the punch on the face is the SHA-256 of SKILL.md, so a downloaded copy can be checked against this room.
Can it be wrong?
Yes — it is an AI reading a text file. It proves the record is unchanged since a shared head; it cannot prove the first writing was true, and it cannot stop someone rewriting the whole record before any head was shared. It is not an electronic-signature system and is not validated for regulated records (21 CFR Part 11, GLP) on its own.
What will it never do?
It will never edit an entry in place; never add to a chain that does not verify; never help make or strengthen pathogens or toxins. It never helps design, make, grow, enhance or spread a pathogen or toxin, or plan work meant to harm.