THE PRINT CARD · every sign checked before anyone sees it
WAKES WHEN someone is about to print a sign or a board, or asks how big type must be to read
THE LOOP
describe the piece in JSON
check · seven checks, a finding fails
fix the layout; check again
distance, contrast, ladder as you design
print from the layout the gate read
NEVER
Pass a piece with a finding open
Call a stand-in font a real one
Guess a size the rules can work out
IT MAKES check — the seven checks; any finding fails; distance — reading distance, or the size a distance needs; contrast — the ratio, against 4.5:1 and 3:1; ladder — the ladder in points and inches.
THE STANDARD a finding fails; distance sets size; contrast is measured; the code can scan; real letters; the ladder.
PROOF SELFTEST 8/8 · witnessed in Claude 2026-10-11 · 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 · A6569E3CB118752919EEBDCE
CITE THIS CARDTHE PRINT CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=print-card. Punch A6569E3CB118752919EEBDCE. Retrieved 2026-10-11.
What it is.
The studio's print gate. check reads a piece described in JSON (trim, safety margin, viewing distance, the ladder, the real font files, and every text and QR item) and runs seven checks: FIT inside the trim, SAFETY clear of the margin, DISTANCE (no cap under 0.25 in, about 10 ft per inch of cap, the largest line read from the viewing distance), CONTRAST at 4.5:1 or 3:1 for large type, the QR code's quiet zone, the LADDER for sizes and gaps, and real FONTS rather than stand-ins; it fails the piece on any finding and writes a report. distance, contrast and ladder answer one rule at a time.
It carries a machine that shows its working: check — the seven checks; any finding fails; distance — reading distance, or the size a distance needs; contrast — the ratio, against 4.5:1 and 3:1; ladder — the ladder in points and inches — 8 checks in its selftest, every command on the record. It will never pass a piece with a finding open; never call a stand-in font a real one; never guess a size the rules can work out.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
A FINDING FAILSOne finding fails the whole piece; it goes to print only when every check is clean.
DISTANCE SETS SIZEAbout 10 ft of reading per inch of cap height, and nothing under 0.25 in.
CONTRAST IS MEASURED4.5:1 for type, 3:1 for type with a cap over 1 in, worked from the colours, never judged by eye.
THE CODE CAN SCANA QR code keeps a quiet zone of 4 modules on every side, clear of everything.
REAL LETTERSEvery line is set in a real font file the piece lists; a stand-in fails (THE FONT VAULT proves the files).
THE LADDERSizes and gaps sit on the ladder, the Fibonacci point ladder unless the piece sets its own.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/THE-PRINT-GATE.md
THE MACHINEprintgate.py · four commandscheck — the seven checks; any finding fails; distance — reading distance, or the size a distance needs; contrast — the ratio, against 4.5:1 and 3:1; ladder — the ladder in points and inches. Every command prints its working and refuses a bad input; 8 checks in its selftest, every command on the record.
What it does once your AI has it.
check The seven checks; any finding fails
distance Reading distance, or the size a distance needs
contrast The ratio, against 4.5:1 and 3:1
ladder The ladder in points and inches
On the record A clean 36 × 24 in run board passes all seven checks and writes its report; a banner fails on five findings (a line in the safety margin, a cap under 0.25 in, 4.48:1 contrast, a size off the ladder, a font not in its files); a 2.5 in cap reads from 25 ft; #777777 on white fails 4.5:1.
What it will never do.
It will never pass a piece with a finding open; never call a stand-in font a real one; never guess a size the rules can work out.
It reads the layout, not the printed sheet: colours as given, fonts as named (THE FONT VAULT proves the files), no ink density, paper or proof. A pass means the layout keeps the rules; the printer's proof is still read by eye. 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
THE-PRINT-GATE.md — the guide in references/, in the card's own voice
scripts/printgate.py — the machine: check · distance · contrast · ladder, standard library only, selftest 8/8
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 8/8 · 4 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-11 · EDITION 1 · PUNCH A6569E3CB118752919EEBDCE
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º 1158 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-11
printgate.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.
check
the seven checks; any finding fails
distance
reading distance, or the size a distance needs
contrast
the ratio, against 4.5:1 and 3:1
ladder
the ladder in points and inches
selftest
8 checks that prove the machine; it must print 8/8
check · THE SEVEN CHECKS; ANY FINDING FAILS
$ python3 scripts/printgate.py check board.json --report board-report.md
board.json · Saturday run board · trim 36 × 24 in · safety margin 0.5 in · read from 25 ft · 4 items
FIT ok · 4 items, all inside the 36 × 24 in trim
SAFETY ok · nothing within 0.5 in of the trim edge
DISTANCE ok · the largest line (cap 3.236 in) reads from about 32 ft, and the piece is read from 25 ft; the smallest cap is 0.472 in
CONTRAST ok · the closest to its line is item 3 (text "scan to join the club"), at 7.00:1 against 4.5:1
QR ok · 1 QR code, with a clear quiet zone of 4 modules inside the trim
LADDER ok · 3 cap heights and 2 gaps between stacked lines, all on the ladder within 0.5 pt
FONTS ok · every line is drawn in a real font file from the piece's list: Anton-Regular.ttf, IBMPlexMono-Regular.ttf
PASS · all 7 checks clean: it may go to print
a check of the layout file, not a printer's proof or a safety approval
wrote board-report.md
check · THE SEVEN CHECKS; ANY FINDING FAILS
$ python3 scripts/printgate.py check banner.json
banner.json · Expo banner · trim 72 × 24 in · safety margin 0.5 in · read from 40 ft · 4 items
FIT ok · 4 items, all inside the 72 × 24 in trim
SAFETY FINDING · item 1 (text "THE STATION") sits 0.3 in from the left edge: inside the 0.5 in safety margin
DISTANCE FINDING · item 3 (text "scan for the shop") has a cap of 0.2 in, under the 0.25 in floor (it reads from only about 2.0 ft)
DISTANCE FINDING · the largest line, item 1 (text "THE STATION"), has a cap of 3.236 in and reads from about 32 ft; the piece is read from 40 ft, so its largest line needs a cap of 4 in or more (the ladder step 377 pt is 5.236 in)
CONTRAST FINDING · item 2 (text "Bottles for the long run"): #AAAAAA on #FFFFFF is 2.32:1, under the 3:1 a cap of 1.2 in needs
CONTRAST FINDING · item 3 (text "scan for the shop"): #777777 on #FFFFFF is 4.48:1, under the 4.5:1 a cap of 0.2 in needs
QR ok · 1 QR code, with a clear quiet zone of 4 modules inside the trim
LADDER FINDING · item 2 (text "Bottles for the long run"): a cap of 1.2 in is 86.4 pt, between the steps 55 and 89 pt
LADDER FINDING · item 3 (text "scan for the shop"): a cap of 0.2 in is 14.4 pt, between the steps 13 and 21 pt
FONTS FINDING · item 3 (text "scan for the shop") is set in SpaceMono-Regular.ttf, which is not among the piece's font files: missing
FAIL · 8 findings: fix the layout and run the gate again before anyone prints
a check of the layout file, not a printer's proof or a safety approval
distance · READING DISTANCE, OR THE SIZE A DISTANCE NEEDS
$ python3 scripts/printgate.py distance 2.5
a cap height of 2.5 in (180 pt, 63.5 mm) reads from about 25 ft (7.62 m)
on the ladder: no, it sits between the steps 144 and 233 pt
the rule of thumb: about 10 ft of reading distance for each inch of cap height
distance · READING DISTANCE, OR THE SIZE A DISTANCE NEEDS
$ python3 scripts/printgate.py distance --for 25
to read from 25 ft (7.62 m), a line needs a cap height of 2.5 in (180 pt, 63.5 mm) or more
the ladder step that covers it: 233 pt (3.236 in), which reads from about 32 ft
the rule of thumb: about 10 ft of reading distance for each inch of cap height
contrast · THE RATIO, AGAINST 4.5:1 AND 3:1
$ python3 scripts/printgate.py contrast #777777 #FFFFFF
#777777 on #FFFFFF · 4.48:1
fails 4.5:1 · the floor for type with a cap height of 1 in or less
passes 3:1 · the floor for type with a cap height over 1 in
relative luminance 0.1845 and 1.0000 (the WCAG 2 formula, on screen colours: a print proof can differ)
contrast · THE RATIO, AGAINST 4.5:1 AND 3:1
$ python3 scripts/printgate.py contrast #111111 #FFFFFF
#111111 on #FFFFFF · 18.88:1
passes 4.5:1 · the floor for type with a cap height of 1 in or less
passes 3:1 · the floor for type with a cap height over 1 in
relative luminance 0.0056 and 1.0000 (the WCAG 2 formula, on screen colours: a print proof can differ)
ladder · THE LADDER IN POINTS AND INCHES
$ python3 scripts/printgate.py ladder
the ladder · the Fibonacci point ladder: each step is the sum of the two before it; 72 pt to the inch
pt in mm a cap this tall reads from
8 0.111 2.8 about 1.1 ft (under the 0.25 in cap floor: a gap only)
13 0.181 4.6 about 1.8 ft (under the 0.25 in cap floor: a gap only)
21 0.292 7.4 about 2.9 ft
34 0.472 12.0 about 4.7 ft
55 0.764 19.4 about 7.6 ft
89 1.236 31.4 about 12 ft
144 2.000 50.8 about 20 ft
233 3.236 82.2 about 32 ft
377 5.236 133.0 about 52 ft
610 8.472 215.2 about 85 ft
987 13.708 348.2 about 137 ft
cap heights, and the gaps between stacked lines, sit on these steps within 0.5 pt
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?
Describe the piece in JSON. It asks first for the piece's trim, viewing distance and items (text with cap heights, colours and fonts; QR codes with their modules), in inches.
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 (8/8) 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 reads the layout, not the printed sheet: colours as given, fonts as named (THE FONT VAULT proves the files), no ink density, paper or proof. A pass means the layout keeps the rules; the printer's proof is still read by eye.
What will it never do?
It will never pass a piece with a finding open; never call a stand-in font a real one; never guess a size the rules can work out.