THE INTRO CARD is free — what an AI skill card is and how to use one Download →Lost Lauren, contact us

THE METHODS · THE STUDIO ROOM · Nº 427 · EDITION 2 · LAUNCHING SOON

LUND CARDS · THE METHODSNº 427
THE SOURCE CARD — the LSC-1 face
THE CARD AS TEXT · FOR EYES AND FOR MACHINES

THE SOURCE CARD · The research seat: every claim beside the source that holds it, and no claim without one.

WAKES WHEN A report, page or pitch makes claims and nobody can say where each one came from. · A source list has grown and no one knows which claims it still carries. · A piece is going out and the person wants every claim checked against a source first. · A reference list must be written in one plain style from what was actually used.

THE LOOP

  1. Log every source with where it lives
  2. Tie each claim to a source and a quote
  3. Check: NO SOURCE is named, never hidden
  4. Cite from the ledger, in one style

NEVER

  • Never prints a claim as sourced without a row
  • Never cites a source nobody logged
  • Never calls a web page checked without a date
  • Never claims a certainty it does not have

IT MAKES add-source — append one source; kind is book, paper, page, record, interview or own-data; a duplicate id is refused; a page with no checked_on is taken and flagged UNCHECKED by check; add-claim — append one claim tied to a logged source; a source id not on the ledger is refused (SOURCE NOT FOUND) unless --open logs the claim with a blank source as NO SOURCE; check — every claim SOURCED, NO SOURCE or SOURCE NOT FOUND; a page source is UNCHECKED without a day and STALE when checked longer ago than the limit; a quote over the word limit is LONG QUOTE; exit 1 on any NO SOURCE or SOURCE NOT FOUND; cite — the reference list from the sources a claim uses, by author then year, with UNUSED sources listed apart; refused as DRAFT · n UNSOURCED while any claim lacks a source, unless --draft; gaps — claims with no source, claims pointing at no row, and sources no claim uses.

THE LAW A claim is a debt until a source pays it. The ledger holds the source, the quote and the day it was checked; a claim that points at nothing is NO SOURCE in capitals, and the piece does not go out with one until the person says so. Nothing is invented to fill a gap.

IN THE BOX SKILL.md · CARD.md · ▣ scripts/sources.py (machine) · ▣ scripts/evals.py (test runner) · tests/EVALS.json (9 tests) · references/ (schema + fictional demo) · START-HERE.md · system/ doors · MY-LEDGER.md · LICENSE-NOTE.md · card.svg · card.json · card.html · AUDIT.md · MANIFEST.md · WITNESS.md · SELFTEST.md.

PROOF SELFTEST 20/20 · witnessed in Claude 2026-10-14 on fictional fixtures · the test prompts in fresh chat, 9/9 · Edition 2.

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. LICENSE-NOTE.md rides in the packet and is the licence.

THE PUNCH · SHA-256 OF SKILL.MD · 53B8D7F304967D3D81AB580C

THE FACE, FULL SIZE → · THE MACHINE FACE → · card.json →

THE SOURCE CARD

The research seat: every claim beside the source that holds it, and no claim without one.

ADD-SOURCE · ADD-CLAIM · CHECK · CITE · GAPS

98LEGENDARYWITNESSEDIN CLAUDEIN LUNDRIN CHATGPT

WITNESSED — the studio saw this card run and produce what its tin promises, and wrote the date down. What the marks mean →

THE SPEC SHEET · READ BEFORE YOU BUY · THE STANDARD EVERY CARD MEETS →

SEAL
98 of 100 · LEGENDARY · WITNESSED
EDITION
E1 · witnessed 2026-10-14
MACHINE
scripts/sources.py · 5 commands · selftest 20/20
RUNS
On your own computer. Standard library only, offline; no account, no key, no telemetry.
HOSTS
Claude · Claude Code · ChatGPT · Gemini · any AI that reads a file (START-HERE.md and system/ name each door)
LICENCE
One person, any number of their own AIs and computers · editions replace files · nothing renews · freeze, not loss
PUNCH
53B8D7F304967D3D81AB580C · sha-256 of SKILL.md · check any file against it →

CITE THIS CARDTHE SOURCE CARD, Edition 2. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=source-card. Punch 53B8D7F304967D3D81AB580C. Retrieved 2026-10-14.

What it is.

Use when a piece of writing or research makes claims that must each stand on a named source: logging sources, tying claims to them, citing. Not for judging novelty or writing the piece.

It carries a machine that shows its working: add-source — append one source; kind is book, paper, page, record, interview or own-data; a duplicate id is refused; a page with no checked_on is taken and flagged UNCHECKED by check; add-claim — append one claim tied to a logged source; a source id not on the ledger is refused (SOURCE NOT FOUND) unless --open logs the claim with a blank source as NO SOURCE; check — every claim SOURCED, NO SOURCE or SOURCE NOT FOUND; a page source is UNCHECKED without a day and STALE when checked longer ago than the limit; a quote over the word limit is LONG QUOTE; exit 1 on any NO SOURCE or SOURCE NOT FOUND; cite — the reference list from the sources a claim uses, by author then year, with UNUSED sources listed apart; refused as DRAFT · n UNSOURCED while any claim lacks a source, unless --draft; gaps — claims with no source, claims pointing at no row, and sources no claim uses — 20 checks in its selftest. It never prints a claim as sourced without a row; never cites a source nobody logged; never calls a web page checked without a date; never claims a certainty it does not have.

The law, written into the card.

It is in the card itself, so the AI follows it.

THE LAWA claim is a debt until a source pays it. The ledger holds the source, the quote and the day it was checked; a claim that points at nothing is NO SOURCE in capitals, and the piece does not go out with one until the person says so. Nothing is invented to fill a gap.

The method.

  1. Log each source first: title, author, year, kind (book, paper, page, record, interview, own data) and where it lives; a page gets the day it was read.
  2. Tie every claim to one source id and the words it rests on; a claim with no row is NO SOURCE and stays in the open until a person settles it.
  3. Check before anything goes out: every claim has a source that exists; a page source without a checked day is UNCHECKED; a quote longer than the line allows is LONG QUOTE.
  4. Write the reference list from the ledger alone, sorted and in one style; a source no claim uses is listed as UNUSED, not dropped silently.
  5. When a claim changes, its row changes with it; the old row stays in the file with its date so the trail can be read later.

What you bring.

  • The claims, one per line, in the words they are made.
  • The sources, with where each one lives.
  • The day each web page was last read.

Planned as a separate seat, not in this box and not yet on sale: the studio's own source ledger for its pages and books.

What it does once your AI has it.

  • add-source Append one source; kind is book, paper, page, record, interview or own-data; a duplicate id is refused; a page with no checked_on is taken and flagged UNCHECKED by check
  • add-claim Append one claim tied to a logged source; a source id not on the ledger is refused (SOURCE NOT FOUND) unless --open logs the claim with a blank source as NO SOURCE
  • check Every claim SOURCED, NO SOURCE or SOURCE NOT FOUND; a page source is UNCHECKED without a day and STALE when checked longer ago than the limit; a quote over the word limit is LONG QUOTE; exit 1 on any NO SOURCE or SOURCE NOT FOUND
  • cite The reference list from the sources a claim uses, by author then year, with UNUSED sources listed apart; refused as DRAFT · n UNSOURCED while any claim lacks a source, unless --draft
  • gaps Claims with no source, claims pointing at no row, and sources no claim uses

What it will never do.

It never prints a claim as sourced without a row; never cites a source nobody logged; never calls a web page checked without a date; never claims a certainty it does not have.

Where it hands off: Whether a claim is new against what exists → THE PRIOR ART CARD; The claims in a text pulled out and asked for their proof → THE HONEST CARD; A citation style the ledger does not know → the person's own style guide.

It is not a judgement of truth. It is an AI reading a text file: it can be wrong, so check what matters against your own records and the source. The holder brings their own AI; no endorsement by Anthropic or any other AI company is claimed.

What’s in the buy.

  • SKILL.md — the card your AI reads: when it wakes, the loop, the never-lines, the hand-offs.
  • CARD.md — the whole card in ten sections: face, law, method, machine, what you bring, never, tests, seal, term.
  • scripts/sources.py — the machine, Python standard library only; `selftest` proves it on its own fixtures.
  • tests/EVALS.json and scripts/evals.py — 9 test prompts and the offline runner that scores your AI's answers.
  • references/ — the data schema and FICTIONAL demo files, invented to show the machine, not real.
  • MY-LEDGER.md — your own record of what you asked and what you decided.
  • START-HERE.md, system/short-prompt.md, system/rules.md — the doors, for any AI with or without skills.
  • card.svg, card.json, card.html, AUDIT.md, MANIFEST.md, WITNESS.md, SELFTEST.md — the faces and the proof.
  • NOT IN THE BOX — any studio edition (planned, not yet on sale: the studio's own source ledger for its pages and books). Also not in the box: any data you must bring, and advice of any kind (not a judgement of truth).

PROOF · SELFTEST 20/20 · WITNESSED IN CLAUDE 2026-10-14 ON FICTIONAL FIXTURES · THE 9 TEST PROMPTS ASKED IN A FRESH CHAT HOLDING ONLY THE CARD · 9/9 · EDITION 2 · PUNCH 53B8D7F304967D3D81AB580C

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º 427 — 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 · NOTHING RENEWS ITSELF

LAUNCHING SOON

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 CARD’S OWN SELFTEST.MD

sources.py, every command showing its working.

A small Python program, standard library only. Your AI runs it; you can too. The block below is pasted from the card’s own SELFTEST.md, as printed when it was run from inside the packet.

add-sourceappend one source; kind is book, paper, page, record, interview or own-data; a duplicate id is refused; a page with no checked_on is taken and flagged UNCHECKED by check
add-claimappend one claim tied to a logged source; a source id not on the ledger is refused (SOURCE NOT FOUND) unless --open logs the claim with a blank source as NO SOURCE
checkevery claim SOURCED, NO SOURCE or SOURCE NOT FOUND; a page source is UNCHECKED without a day and STALE when checked longer ago than the limit; a quote over the word limit is LONG QUOTE; exit 1 on any NO SOURCE or SOURCE NOT FOUND
citethe reference list from the sources a claim uses, by author then year, with UNUSED sources listed apart; refused as DRAFT · n UNSOURCED while any claim lacks a source, unless --draft
gapsclaims with no source, claims pointing at no row, and sources no claim uses
selftest20 checks that prove the machine; it must print selftest 20/20
THE SELFTEST, AS PRINTED
ok   1  add-source writes the header once under the fiction line and appends four sources in the ledger's columns
ok   2  add-source refuses a kind outside book|paper|page|record|interview|own-data (exit 2)
ok   3  add-source refuses a DUPLICATE SOURCE ID (exit 1) and leaves the ledger as it was
ok   4  add-claim refuses a source id not on the ledger: SOURCE NOT FOUND (exit 1), nothing written
ok   5  add-claim --open logs the claim with a blank source and says NO SOURCE
ok   6  add-claim with no source id and no --open is NO SOURCE: refused (exit 1)
ok   7  check: a claim with a row is SOURCED, an open claim NO SOURCE, a dangling id SOURCE NOT FOUND and never SOURCED; exit 1
ok   8  check flags a page with no checked_on day as UNCHECKED and never calls it checked
ok   9  check flags a page checked longer ago than --stale-days as STALE, counted from the fixed --today
ok   10  check flags a quote over --max-quote-words as LONG QUOTE with the count
ok   11  check with wider limits drops STALE and LONG QUOTE (the limits are the person's) and still exits 1 for the unsourced
ok   12  cite refuses while any claim is unsourced: DRAFT · 2 UNSOURCED, exit 1, no list printed
ok   13  cite --draft writes the list and its first line says 'Reference list from the ledger alone' with DRAFT on it
ok   14  cite sorts by author then year, puts a blank author last as [no author on the ledger], invents nothing and cites only used sources
ok   15  cite lists the source no claim uses under UNUSED instead of dropping it
ok   16  cite --style numbered numbers the references, maps every claim to one or to NO SOURCE / SOURCE NOT FOUND, and writes --out
ok   17  gaps lists the open claim, the claim pointing at no row and the unused source
ok   18  check exits 0 on a ledger where every claim has its row
ok   19  a malformed --today is bad input (exit 2)
ok   20  a sources file without the ledger's columns is bad input (exit 2)
selftest 20/20

THE RUN IS PASTED FROM THE CARD’S OWN SELFTEST.MD AS PRINTED. ITS FIXTURES ARE FICTIONAL, INVENTED FOR THE TEST; NO PRIVATE PERSON IS NAMED.

QUESTIONS AT THE TABLE

Asked before the wire.

What does it need from me?

The claims, one per line, in the words they are made. The sources, with where each one lives. The day each web page was last read. If something it needs is missing, it says what is missing and stops there.

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 machine's selftest (20/20), run from inside the packet in Claude on 2026-10-14 on fictional fixtures and pasted into SELFTEST.md as printed; the twelve-check audit (AUDIT.md). Owed, and said so in WITNESS.md: Any run on real data. Every demo file is fictional. 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 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. LICENSE-NOTE.md rides in the packet and is the licence. It is not a judgement of truth.

What will it never do?

It never prints a claim as sourced without a row; never cites a source nobody logged; never calls a web page checked without a date; never claims a certainty it does not have.

← THE METHODS · THE FLOOR →

AT YOUR ELBOW, NEVER THE BOSS · NOT A JUDGEMENT OF TRUTH · NOT A PAYMENT CARD · NO REFUNDS · © 2026 LUND STUDIO LLC

PAY BYAmerican Express Apple Pay Diners ClubDiscoverGoogle Pay Mastercard PayPalShop Pay Visa
CART · 0