THE CITY WEEK CARD · a city's tech week as one living page
WAKES WHEN someone wants a week's site for a city, or an events list checked, dated or made
THE LOOP
make · the name, the week, the pass code
events <csv> · clean, clashes found
replace the sample events by hand
check · until the page passes
ics · the week as a calendar file
NEVER
Present the sample events as real
Publish a page that check has failed
Name a real host, venue or partner unasked
IT MAKES events — checked, with clashes, filter bits and listing lines; make — the week named and dated; check — the page's promises, checked against the file; ics — the week as a calendar file.
THE STANDARD samples say so; nothing is sent; consent at every step; no flashes; readable; one city, said.
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 · BF5460806B54D1D7F3C920B0
CITE THIS CARDTHE CITY WEEK CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=city-week-card. Punch BF5460806B54D1D7F3C920B0. Retrieved 2026-10-11.
What it is.
Carries the template of Lund Studio's city tech-week page, Denver City Week: a calendar of events with filters, Your week with clashes and a calendar file, a registration pass with a real QR code, and the living machine behind it that runs the laws of physics on the page, with consent at every step and nothing sent. events checks a list of events and writes it in the page's shape, with clashes and the bits of each filter row; make gives the template a week's name, dates and pass code; check runs the page's promises against the file: what it loads and could send, text under 14 px, motion, contact details, labels, the events against the listing, and the abilities to declare; ics writes the week as a calendar file.
It carries a machine that shows its working: events — checked, with clashes, filter bits and listing lines; make — the week named and dated; check — the page's promises, checked against the file; ics — the week as a calendar file — 8 checks in its selftest, every command on the record. It will never present the sample events as real; never publish a page that check has failed; never name a real host, venue or partner unasked.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
SAMPLES SAY SOEvery event, host, venue and partner in the template is a sample, marked on the page; the owner writes real ones before anyone is invited.
NOTHING IS SENTThe page has no way to send anything of its own; on claude.ai it asks the viewer for exactly the abilities check lists, and works alone without them.
CONSENT AT EVERY STEPThe machine wakes in stages, each asked for on the page; Forget me erases what was kept and says what erasing cost.
NO FLASHESNothing flashes or strobes: colours ease and motion stops when a device asks for less. A flash is measured in a browser, frame by frame; check says so.
READABLEText for reading is 14 px or larger; a size kept smaller for texture is declared in the page, and check names it rather than hiding it.
ONE CITY, SAIDThe page is worked for Denver: its air, its sunrise, its streets. For another city those change by hand, and make says what remains.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/THE-PAGE.md
THE MACHINEcityweek.py · four commandsevents — checked, with clashes, filter bits and listing lines; make — the week named and dated; check — the page's promises, checked against the file; ics — the week as a calendar file. 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.
events Checked, with clashes, filter bits and listing lines
make The week named and dated
check The page's promises, checked against the file
ics The week as a calendar file
On the record The 24 sample events are clean: no two share a neighbourhood at once, and the filter rows are 3.0 to 3.5 bits. A list with an event that ends before it starts is refused until fixed, and then its two events at once in one neighbourhood are found. The template becomes Denver City Week for Sept 18–24, 2028, with pass code DCW-28, every date moved; a Tuesday start is refused. The made page passes check, a broken copy fails on small text and a listing that disagrees with its data, and the week is written as a calendar file in UTC.
What it will never do.
It will never present the sample events as real; never publish a page that check has failed; never name a real host, venue or partner unasked.
A template and its checks, not an event: its dates, hosts, venues and partners are samples until the owner writes real ones. make names and dates the week; it does not move the page's physics to another city, and replacing the listing is done by hand (or by your AI) and proved by check. A flash can only be measured in a browser. 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-PAGE.md — the guide in references/, in the card's own voice
scripts/cityweek.py — the machine: events · make · check · ics, 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 BF5460806B54D1D7F3C920B0
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º 1157 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
cityweek.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.
events
checked, with clashes, filter bits and listing lines
make
the week named and dated
check
the page's promises, checked against the file
ics
the week as a calendar file
selftest
8 checks that prove the machine; it must print 8/8
events · CHECKED, WITH CLASHES, FILTER BITS AND LISTING LINES
$ python3 scripts/cityweek.py events references/sample-events.csv --json events.json --lines
sample-events.csv · 24 events
by day: mon 3 · tue 4 · wed 4 · thu 4 · fri 4 · sat 3 · sun 2
10 tracks, a row of 3.46 bits: AI & dev tools, Aerospace & hardware, Careers, Civic & education, Climate & energy, Community, Design & product, Fintech, Founders, Health
10 formats, a row of 3.46 bits: Demo, Hackathon, Meetup, Office hours, Panel, Roundtable, Social, Talk, Walk, Workshop
8 neighbourhoods, a row of 3.17 bits: Auraria, Cherry Creek, Golden Triangle, Highlands, LoDo, RiNo, Tech Center, Union Station
the day row: 3.00 bits (seven days and "every")
no two events share a neighbourhood at the same time
e01 EVT-01 · 0800–0930 · ≈28 TOKENS · SHA A5BC6E89
e02 EVT-02 · 1200–1330 · ≈28 TOKENS · SHA 45FFEAB1
e03 EVT-03 · 1730–2000 · ≈31 TOKENS · SHA BCF9E117
e04 EVT-04 · 0900–1200 · ≈28 TOKENS · SHA 91CCAFF2
e05 EVT-05 · 1230–1400 · ≈28 TOKENS · SHA D47EC40A
e06 EVT-06 · 1600–1800 · ≈30 TOKENS · SHA F7BC80BD
e07 EVT-07 · 1830–2100 · ≈21 TOKENS · SHA EC7E8EB3
e08 EVT-08 · 0830–1000 · ≈25 TOKENS · SHA 198FC3AF
e09 EVT-09 · 1100–1300 · ≈24 TOKENS · SHA 810619A0
e10 EVT-10 · 1230–1430 · ≈27 TOKENS · SHA 60E930CD
e11 EVT-11 · 1800–2030 · ≈24 TOKENS · SHA 0CB899A6
e12 EVT-12 · 0900–1030 · ≈25 TOKENS · SHA 99B9FFC6
e13 EVT-13 · 1100–1230 · ≈26 TOKENS · SHA A8CD861C
e14 EVT-14 · 1330–1530 · ≈19 TOKENS · SHA A8E89307
e15 EVT-15 · 1700–1900 · ≈17 TOKENS · SHA D657609F
e16 EVT-16 · 0700–0800 · ≈21 TOKENS · SHA A574DF56
e17 EVT-17 · 1000–1200 · ≈27 TOKENS · SHA 6C35988B
e18 EVT-18 · 1300–1500 · ≈24 TOKENS · SHA 34797743
e19 EVT-19 · 1900–2200 · ≈24 TOKENS · SHA 81DDCEC3
e20 EVT-20 · 0900–1700 · ≈22 TOKENS · SHA 012C5F4F
e21 EVT-21 · 1000–1200 · ≈19 TOKENS · SHA 10765A6F
e22 EVT-22 · 1400–1600 · ≈24 TOKENS · SHA 9BB74C20
e23 EVT-23 · 1000–1200 · ≈24 TOKENS · SHA 1B40C9ED
e24 EVT-24 · 1300–1500 · ≈23 TOKENS · SHA 9463CF7C
wrote events.json in the page's shape (id, day, start, end, title, hood, track, fmt, price, line): it replaces the page's EVENTS, and the listing must match it (check says if it does)
events · CHECKED, WITH CLASHES, FILTER BITS AND LISTING LINES
$ python3 scripts/cityweek.py events mine.csv
mine.csv · 3 events
FAULT · row 3 (k03): it ends at or before it starts
fix these and run it again; nothing was written
events · CHECKED, WITH CLASHES, FILTER BITS AND LISTING LINES
$ python3 scripts/cityweek.py events mine.csv
mine.csv · 3 events
by day: mon 2 · tue 1 · wed 0 · thu 0 · fri 0 · sat 0 · sun 0
3 tracks, a row of 2.00 bits: Community, Design & product, Founders
3 formats, a row of 2.00 bits: Meetup, Talk, Workshop
2 neighbourhoods, a row of 1.58 bits: RiNo, Union Station
the day row: 3.00 bits (seven days and "every")
at once in Union Station on mon 10:00–10:30: k01 and k02 (a visitor must choose; check the rooms)
make · THE WEEK NAMED AND DATED
$ python3 scripts/cityweek.py make references/city-week-template.html --name "Denver City Week" --start 2028-09-18 --code DCW --out week-2028.html
city-week-template.html → week-2028.html · Denver City Week, Sept 18–24, 2028
Monday, Sept 18 6
Mon, Sept 18 (countdown) 1
your week · Mon 18 1
Tuesday, Sept 19 6
Wednesday, Sept 20 6
your week · Wed 20 2
Thursday, Sept 21 6
Friday, Sept 22 6
Saturday, Sept 23 5
Sunday, Sept 24 4
the week · Sept 18–24, 2028 3
pass code · DCW-28 12
name · DENVER CITY WEEK 2028 2
name · DENVER CITY WEEK 3
name · Denver City Week 9
name · denver-city-week 1
calendar stamp · 20280906 1
the page is still worked for Denver: 53 mentions, the air at 5,280 ft and the sunrise at 39.7392 N, 104.9903 W. For another city those and the laws worked from them change by hand. The sample events stay until you replace them (events, then check).
make · THE WEEK NAMED AND DATED
$ python3 scripts/cityweek.py make references/city-week-template.html --name "Denver City Week" --start 2028-09-19 --out x.html
the week starts on a Monday: 2028-09-19 is a Tuesday
check · THE PAGE'S PROMISES, CHECKED AGAINST THE FILE
$ python3 scripts/cityweek.py check week-2028.html
week-2028.html · 697,540 bytes · sha256 13490aa360f08fd8
ok · it loads only from fonts.googleapis.com, fonts.gstatic.com
ok · it has no way to send anything of its own (no fetch, beacon or socket)
ok · it asks the viewer for: comments, db, downloads, room, sample, user (declare exactly these when you publish it)
ok · 11px is declared in the page as texture ("the background's words are texture, not for reading; everything read is 14px or larger"): 3 places
ok · no text for reading is set under 14 px
ok · 1 animation, and a reduced-motion rule · a flash can only be measured in a browser, frame by frame
ok · no email address or phone number is written in the page
ok · every field has a label
ok · Denver City Week · 24 events, and the listing matches the data
PASS · 9 checks clean
check · THE PAGE'S PROMISES, CHECKED AGAINST THE FILE
$ python3 scripts/cityweek.py check broken.html
broken.html · 697,562 bytes · sha256 750306694ea8d337
ok · it loads only from fonts.googleapis.com, fonts.gstatic.com
ok · it has no way to send anything of its own (no fetch, beacon or socket)
ok · it asks the viewer for: comments, db, downloads, room, sample, user (declare exactly these when you publish it)
ok · 11px is declared in the page as texture ("the background's words are texture, not for reading; everything read is 14px or larger"): 3 places
ok · 1 animation, and a reduced-motion rule · a flash can only be measured in a browser, frame by frame
ok · no email address or phone number is written in the page
ok · every field has a label
FAULT · text under 14 px: 12px
FAULT · the listing and the events data disagree: listed but not in the data: e25; in the data but not listed: e24
FAIL · 2 faults
ics · THE WEEK AS A CALENDAR FILE
$ python3 scripts/cityweek.py ics week-2028.html --out week-2028.ics
Denver City Week · 24 events, Sept 18–24, 2028, times in UTC from America/Denver → week-2028.ics (7,830 bytes, opens in any calendar)
ics · THE WEEK AS A CALENDAR FILE
$ python3 scripts/cityweek.py ics mine.csv --start 2028-09-18 --name "Test Week" --offset -06:00 --out mine.ics
"Test Week" · 3 events, Sept 18–24, 2028, times in UTC from -06:00 → mine.ics (881 bytes, opens in any calendar)
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?
Make · the name, the week, the pass code. It asks first for the week's name, its Monday and a pass code if wanted; the events as CSV (id, day, start, end, title, hood, track, fmt, price, line).
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. A template and its checks, not an event: its dates, hosts, venues and partners are samples until the owner writes real ones. make names and dates the week; it does not move the page's physics to another city, and replacing the listing is done by hand (or by your AI) and proved by check. A flash can only be measured in a browser.
What will it never do?
It will never present the sample events as real; never publish a page that check has failed; never name a real host, venue or partner unasked.