A picture book with facing pages. The arrow keys, Page Up and Page Down, Space, or the buttons at the bottom turn the pages. M opens the map of the book. Numbered marks in the text open Pin's notes on where each fact came from; Escape closes them.
So You Want To Build A Ghostwheel?
Come in!
Sit down with us.
Turn the page.
Part One
how we say things
Oh! Who is this?
"Hi. I'm Chad. I got this."
"Last word first. Every time."
And then he was gone.
This is the shop. Come in!
A ghostwheel is a lot of small computers, in rings. Each one looks after its friends.
Spoke lives at the middle and sees. Pin writes down what Spoke sees.
1 Door
A ghostwheel is a set of computers in rings, so that when one is away, the others carry on. The first design has seventeen of them. Fifteen stand in three rings of five, and a ring is available while any three of its five are. The same fifteen also make five rings of three. The edge ring holds all seventeen, in service or not: it is where hosts are added and taken away, and where the rings are built.
Nobody picked those numbers one by one. Take seventeen, keep two aside (one to build on, one to test on), and fifteen are left. Divide by three, and each big ring has five. Turn that over, and the small rings hold three.
What runs on the wheel is C4, published in 2025 as "Continuous Creation, Command & Control, a literate technology control framework". Its aim, in one line: make the thing findable later, by someone who was not there, without asking them to trust you. No AI is needed to use it.
Spoke and Pin are this book's two guides. Spoke sees. Pin writes down what Spoke saw, with when and where. Each small mark on this page opens what Pin wrote.
What Pin wrote down, mark 1
The prototype design is 17 nodes ("because of course it does").
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, line 3 (his words in chat, 2026-08-05)
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
The record is a CANDIDATE fact, written by Claude from his chat note.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
Greater rings: "3 rings of five servers where any 3/5 means available".
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 6-8
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
Lesser rings: "five rings of three servers".
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 10-11
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
"Any two of three" is a reading in the same file (marked arguable), not his words, so this page does not say it.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
Edge ring: all hosts, in service or not; "the palette for adding and removing hosts ... and for building and manipulating the rings".
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 18-21
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"It has a dev and a test ... seventeen that has to be 15. Divide that by ... three ... five servers. Invert and we know the size of the lessor ring."
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 60-64 (his derivation, confirmed 2026-08-05)
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"C4 is Continuous Creation, Command & Control, a literate technology control framework built atop OrgVM" (c4.ghostwheel.cloud, 2025-08-17).
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, line 55 (section 1a)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
The same definition, recorded as "THE CANONICAL PUBLIC DEFINITION, c4.ghostwheel.cloud, created 2025-08-17".
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-cloud-the-public-c4, lines 4-6
- hash
- sha256:a228fbf58318c8be91375f8beaceffc8b1eb735f22d46741c91592be26264f53
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"make the thing findable later, by someone who was not there, without asking them to trust you."
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, line 254 (section 10)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 8
Corwin: "no AI is required whatsoever to use it."
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, line 115 (section 2)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
† One hand only: every row here was written by the same witness.
Every room in the shop has a letter on its door. There are seventeen doors.
Each letter has four names.
Spoke lives behind the S door. Pin keeps the list.
2 Letters
C4 keeps its words in rooms, and every room is one letter. There are seventeen. They live in a plain text file called m/t, one line for each letter. Each line gives its letter four names, under four columns that have names of their own: scalar, group, command and tag. A's line reads ASSET, ARRAY, ADD, ARCHIVE. S's line reads SCALAR, SPOKE, SELECT, SEMAPHORE, and that is where Spoke got a name.
That makes sixty-eight words. Sixty-four of them are common English; only four (asset, obfuscate, spoke and taxonomy) are claimed nowhere else. The busy words are on purpose: when two rooms both need the word "map", the letter keeps them apart.
Nine more letters hold values and force stops. Pin has two notes about them that differ by one word: one says Q is QUERY, the table says QUERY-STABLE. Both are kept, because the difference is worth knowing.
Saying one idea four ways is not a muddle. C4 asks for at least two ways to say everything, and asks that they balance. The facing pages of this book try to do the same.
What Pin wrote down, mark 1
"Sixty-eight words across seventeen letters."
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, line 29 (section 1)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
17 lines in the table.
- seen
- 2026-11-03 20:08:58 UTC
- by
- wc -l, run on Avalon
- from
- c4/m/t (wc -l m/t)
- hash
- sha256:5c7d90f7bd6938e5733e06f3171a08ba23db0f1b875ac6c8fd3af6d50e203fc2
- state
- seen
Two or more hands (2). Where they differ, both are kept.
What Pin wrote down, mark 2
"a REGISTER TABLE, letters, each with four facets, kept as plain text at m/t, with its column names one path over at d/m/t".
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, line 106 (section 2)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
REGISTER SCALAR GROUP COMMAND TAG
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/d/m/t (the whole file, one line)
- hash
- sha256:2f312fe23314afca352fe870458568d51cc0ca65a7684d576e289836b80ec10e
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"A ASSET ARRAY ADD ARCHIVE" (line 1) and "S SCALAR SPOKE SELECT SEMAPHORE" (line 15).
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/m/t, lines 1 and 15
- hash
- sha256:5c7d90f7bd6938e5733e06f3171a08ba23db0f1b875ac6c8fd3af6d50e203fc2
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"Sixty-four of them are already common English ... Only four (asset, obfuscate, spoke, taxonomy) are unclaimed anywhere."
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 29-31 (section 1)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"the letter keeps two shops from colliding when they both need the word map."
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 33-37 (section 1)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"the seventeen march carrying work, the nine hold values and force stops"; the nine named as "B BUILD · K KEYBOARD · Q QUERY · U USAGE · ..."
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, lines 161 and 169 (section 4)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
9 lines; Q's line reads "Q QUERY-STABLE pair-array GIVEN keeper-2026-08-01".
- seen
- 2026-11-03 20:08:58 UTC
- by
- wc -l and a read, run on Avalon
- from
- c4/m/v/t
- hash
- sha256:0c5637d96de9145bcf9d05435cbf11de3e42b2ec82a3f0e093455a5a99ad72f1
- state
- seen
The two rows differ: C4.md says QUERY, m/v/t says QUERY-STABLE. Both are kept.
Two or more hands (2). Where they differ, both are kept.
What Pin wrote down, mark 8
"I need to make the point that C4 demands at least two ways to talk about everything and that these ways of presenting the different ideas back as prose balance." (2026-09-07)
- seen
- 2026-11-03 20:08:58 UTC
- by
- Mentat (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/c4-demands-two-registers.md, line 6
- hash
- sha256:052bcf2ea8a34edd842f344509a4d7b54d8de880ec81d7e1fabee967cc1a3b8d
- state
- seen
† One hand only: every row here was written by the same witness.
A spoke is part of a wheel.
Spoke is a friend who sees.
Say hi, and you spoke!
One word, three things. All of them are true. Pin writes them all down.
3 Seams
One word can carry several meanings; C4 keeps them all. Corwin gave three of its words their meanings on 2026-08-03, and they explain each other.
A seam is "an opportunity to better pin someone's language": not a defect, not a gap to fill, but an opening, where someone gets to tell us what they meant.
A pin is "a statement someone has made, about anything." Every word starts as "an arrow in flight", and "needs to land somewhere to become a pin (noun)". So Pin is a mouse, a pin holds a note to the wall, and a pin is what someone said.
A semaphore, the last name on the S door, is how we unite terms around data, and data becomes information as they unite. As a verb, it routes pins toward places they can land, "by ripping seams open to find openings for users to provide nuance, correct our bias, and make the meaning personal".
The rule underneath: a name with several senses is one name for several truths, and must not be "resolved". The real hazard is two copies of one truth that can quietly drift apart, a cache and its file; those need a named tiebreaker. "Multiplicity of sense: keep. Duplication of fact: fence."
C4's own name is a seam. Its README calls it Collaborative Consent Continuity Controls; the public page on spread one said Continuous Creation, Command & Control. A note from 2026-08-19 says both were running then.
What Pin wrote down, mark 1
"The three words, in his definitions, because they are the whole grammar"; "He gave these on 2026-08-03 and they replace everything I had inferred."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, lines 14-16 (section 1)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
C4.md is Claude's own working file about C4; the three definitions in it are quoted as his.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"SEAM — an opportunity to better pin someone's language. Not a defect. Not a gap wanting filling. An opening."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, lines 18-20 (section 1)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
His instruction, verbatim: "Seams are the opening for C4 claude. Stop pinning them down for the language whatever you have to pin for you."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, lines 7-9
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"PIN — a statement someone has made, about anything." "Every word is a pin to us (verb) but it is an arrow in flight and needs to land somewhere to become a pin (noun)."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, lines 22-24 (section 1)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
The same file adds (line 27) that "the landing is what the build phase does": nothing is truly pinned until a build.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"(n) how we unite in terms by affinity toward data, calling it information as we effect the union (v) route pins toward pinnable paths, by ripping seams open to find openings for users to provide nuance, correct our bias, and make the meaning personal ..."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, lines 31-36 (section 1)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
"S SCALAR SPOKE SELECT SEMAPHORE": SEMAPHORE is the fourth name, under TAG.
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/m/t, line 15
- hash
- sha256:5c7d90f7bd6938e5733e06f3171a08ba23db0f1b875ac6c8fd3af6d50e203fc2
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"a seam in a name is a feature. Do not close it. A name carrying several senses is one representation of several truths ... The distinct hazard is two representations of one truth that can silently split — a mirror and its source, a cache and its file. Those need a named tiebreaker. Multiplicity of sense: keep. Duplication of fact: fence."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 44-50 (section 1)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
In the file, a dated paragraph (line 49, 2026-10-20) sits in the middle of the last sentence, between "Multiplicity" and "of sense". The sentence is read across it here; the file may want it moved.
"The seams canon is about EVIDENCE -- two representations of ONE truth that can silently split ... A name carrying several senses is the opposite shape: ONE representation of SEVERAL truths, none of them competing to be the same fact."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/c4-is-a-seam-and-that-is-the-feature, lines 5-12 (Corwin's correction of 2026-08-03, lines 1-3)
- hash
- sha256:077adb0c684f195b56f34d792e051a53d71420a750d9992ad60b2b0293e1143e
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"# C4 — Collaborative Consent Continuity Controls"
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/README.md, line 1
- hash
- sha256:37fa9d9f44f031c05233c7481c3fd266b2e5cee688fd7bfb15e01dac377a2549
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"both expansions RUN today -- the lab's Collaborative Consent Continuity Controls (this tree) and the published Continuous Creation, Command & Control (ghostwheel.cloud ...)"
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/c4-is-a-seam-and-that-is-the-feature, lines 60-62 (2026-08-19 addendum)
- hash
- sha256:077adb0c684f195b56f34d792e051a53d71420a750d9992ad60b2b0293e1143e
- state
- seen
A Claude-written addendum; its "today" is 2026-08-19, so the page says "then". Nothing here re-checked that both still run.
"oversubscribed with four-C sets specifically: Collaborative Consent Continuity Controls · Containers Components Configurations Connections · Continuous Creation Command & Control · Simon Brown's Context Container Component Code."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, lines 62-65 (section 1a)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
Four sets of four C words, not two. This page names the two that run in the shop; the Containers set belongs to Part Two.
† One hand only: every row here was written by the same witness.
The L door has four names. List is not one of them.
But Pin can make a list! We can do it. List is a real word, too.
4 Doing
In C4, a word is a type when the system knows how to effect it: "give it real behavior, recognise it, use it." It does not need a row in the table. Corwin's words: "a virtual type simply means a word that we honor as it was a word we know how to effect as a type within our taxonomy even though it does not appear as a taxonomy".
His chosen example is LIST. The L line of m/t reads LAYOUT, LIBRARY, LINK, LICENSE. It has no LIST, and none is due. Yet the shop makes lists. A small file, l/l, pins each of eight brackets, ( ) [ ] { } < >, to its own hash, and that registry is what makes a list a list, with no table word anywhere in the loop. The file is on disk, and it is still marked CANDIDATE: the ruling settled the principle, not that one file.
This undoes a wrong question. "Is LIST in the table?" was checking the wrong ledger. The rule "decouples 'is this real?' from 'is this in the table?'" A type is real when something can do it.
C4-LANG lists six such words so far, each a word and a promise: TYPE (or kind), theme, skin, QUERY, word and hunk. One of them, word, holds the whole grammar together; it comes back on the keeping page.
What Pin wrote down, mark 1
"A word is a type in C4 if the system knows how to effect it — give it real behavior, recognise it, use it. It does not need a row in m/t."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 58-59 (section 2)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"a virtual type simply means a word that we honor as it was a word we know how to effect as a type within our taxonomy even though it does not appear as a taxonomy."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 61-62 (section 2)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
"a virtual type simply means a word that we honor as it was a word we know how to effect as a type within our taxonomy even though it does not appear as a taxnomony. LIST is the principle example provided with the system of actually doing that." (his spelling kept)
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/virtual-type-needs-no-taxonomy-slot, lines 3-6 (Q132's ruling, 2026-08-08)
- hash
- sha256:a01b8819b4f30a1fc4ec355d079fe55848d12ef6a9af1aef8eb666ac936a3aa0
- state
- seen
The two copies differ by one word: C4-LANG prints "taxonomy", the fact keeps his "taxnomony". A spelling, not a meaning; the page quotes C4-LANG.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"L LAYOUT LIBRARY LINK LICENSE"
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/m/t, line 9
- hash
- sha256:5c7d90f7bd6938e5733e06f3171a08ba23db0f1b875ac6c8fd3af6d50e203fc2
- state
- seen
"m/t's L row reads LAYOUT LIBRARY LINK LICENSE -- four facets, unchanged, no LIST, none due."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/virtual-type-needs-no-taxonomy-slot, lines 13-14
- hash
- sha256:a01b8819b4f30a1fc4ec355d079fe55848d12ef6a9af1aef8eb666ac936a3aa0
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
8 lines, one bracket and one 40-character hash each: ( ) [ ] { } < >.
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/l/l (the whole file); its column names, one path over in c4/d/l/l, read "TOKEN SHA1"
- hash
- sha256:2db1478860bd8d827936a866825e8433c18e68082f54a63bc327e4c780333d70
- state
- seen
"LIST is effected instead by a delimiter-to-hash registry — ( ) [ ] { } < > each pinned to its own SHA1 — with no taxonomy word anywhere in the loop."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 64-66 (section 2)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"l/l itself is still CANDIDATE, not promoted by this ruling -- the GENERAL principle (virtual types exist; m/t is not the only place a word becomes real) is what landed here".
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/virtual-type-needs-no-taxonomy-slot, lines 22-24 (l/l minted CANDIDATE, Q249, 2026-08-06, line 14)
- hash
- sha256:a01b8819b4f30a1fc4ec355d079fe55848d12ef6a9af1aef8eb666ac936a3aa0
- state
- seen
Seen in this fact only; no second record of l/l's status was looked for. One witness.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"It decouples 'is this real?' from 'is this in the table?' Taxonomy-completeness questions were checking the wrong ledger. A type is real when something can do it."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 68-70 (section 2)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"Virtual types minted so far, each a word and a promise": TYPE / kind, theme, skin, QUERY, word, hunk.
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 72-81 (section 2)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
"So far" is the file's own; C4-LANG's text carries 2026-08-10 and 2026-10-20, so the count is as of one of those, not as of this reading.
† One hand only: every row here was written by the same witness.
This is a space. It is a small gap.
With a gap, there are two. With no gap, they go as one.
BIG letters go and look in the list. Small letters do not.
5 Spaces
Two rules do most of the work in C4's grammar, and both show in a single line.
Space binds. A bracket right after a word, with no space, is an operator: in as(VIRTUAL), as is applied to VIRTUAL, one group. A bracket with a space before it is plain text, so as VIRTUAL is an operator and then a separate word. Because as( never occurs in ordinary English, it can end a run of unquoted prose exactly, with no quotes at all. Quoting and binding are "two delimiters for one job", so quotes never carry the weight alone; a language fenced only by quotes is one where "a stray quote changes meaning silently".
Case resolves. UPPERCASE words, such as VIRTUAL, TAXONOMY, HOST and TAG, are looked up in the taxonomy. Lowercase words are the language's own small words (as, from, toward, into) or the new name being made, taken just as written. One line can hold both: (TAG) at its head is looked up, and tag inside "(for C4: tag)" is literal.
That is why the short form is the normal one. Mint a name in lowercase and its other spellings come free; mint it in uppercase and you pay with a list. "The long one is the bill for choosing the harder case".
These rules were read off three of Corwin's own examples on 2026-08-10, after his nudge to "pick-up the clues about significance of space", and offered back for correction.
What Pin wrote down, mark 1
"The grammar: space binds, case resolves. Two rules do almost all the work, and both are visible in a single declaration."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 85-87 (section 3)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"A ( that follows a word character with no space is an operator. A ( preceded by a space is literal text." Specimens: "as VIRTUAL spaced -> operator, then a separate operand"; "as(VIRTUAL) BOUND -> operator applied to its argument, one group".
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 91-99 (section 3)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
"A ( that follows a word character with no space is an OPERATOR. A ( preceded by a space is LITERAL."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/space-binds-and-case-resolves, lines 26-27
- hash
- sha256:7801ec39bdab1861187691db36fd1f72ea894463d60f232cb9199486f8383655
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"An unquoted run of prose can be bounded exactly like a quoted one: it opens on a bound cast and closes on a bound operator. as( cannot occur in ordinary English, so it terminates a literal run unambiguously — while spaced parentheticals inside the run, (visual or user facing), are simply walked over as text."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 101-104 (section 3)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"Quoting and binding are two delimiters for one job, and that is why quoting must never be load-bearing. A language in which quotes are the only fence is a language where a stray quote changes meaning silently."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 106-108 (section 3)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"UPPER VIRTUAL · KEYS · TAXONOMY · HOST · TERM · TAG -> resolve against the taxonomy; lower as · from · toward · into · offering · intern -> keywords of the language itself; lower type · kind · theme · skin -> the name being MINTED, literal." "(TAG) at the head resolves; tag inside (for C4: tag) is literal."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 112-119 (section 3)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"Minting a name in UPPERCASE collides with the resolve convention, so an uppercase mint must pay for an explicit intern list and plural list. Mint lowercase and both come free. The short form is not shorthand for the long one — the long one is the bill for choosing the harder case."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 121-124 (section 3)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"Read off three of his own TAG examples, minted the same day. This is my reading, offered back for correction — [ours — revisable] throughout." His press: "See if you pick-up the clues about significance of space…"
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/space-binds-and-case-resolves, lines 1-4 and 16-17 (2026-08-10)
- hash
- sha256:7801ec39bdab1861187691db36fd1f72ea894463d60f232cb9199486f8383655
- state
- seen
Two standings for one rule. The fact calls it Claude's reading, revisable; C4-LANG states it as the grammar. No ruling from him on it was found in either file. The page says "offered back for correction" rather than "his rule".
† One hand only: every row here was written by the same witness.
Pin keeps every word. A new word is a word, too.
What we could not check has a box of its own.
Pin keeps it all.
6 Keeping
C4's grammar has no error state. Its fallback type is word: anything that does not resolve "stands for itself". Every token either resolves or keeps its own text, so a line can always be rebuilt, byte for byte, from its pieces.
The same rule comes back at every height. A run nobody registered stays a word. A line nobody could parse stays, verbatim, as a comment. A check nobody could run is reported, never claimed as passed. The language "always has somewhere honest to put what it could not read".
"Could not check" is a third answer, beside yes and no, and it "must never share a channel with 'checked and passed'". The tools mean it: tv1cr answers a question it cannot answer with its own exit code, 2, and says so. When it overwrites a cell, it keeps the old value.
Rulings work the same way. In the shop's question bank, Q607 was DEFAULTED on 2026-10-19 and RULED on 2026-10-20; the ruling is a new row, and the default stays above it. To log, in C4, "is to ADD an atom, never to edit the past".
C4-LANG is careful here too. Keeping everything is right where dropping a human sentence would be the harm, and wrong where an unreadable input means the world is not as assumed. It is "a choice about which failure you prefer, not a strict improvement".
What Pin wrote down, mark 1
"word is the fallback type: any run that does not resolve stands for itself. That single provision makes the language total ... to_literal(to_tokens(x)) == x holds always, not usually."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 130-135 (section 4)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
"h/tokenize.sh, written the same day before this ruling, already says "Bare word runs pass through as themselves; everything else is NAMED." I implemented word without knowing it had a name. The instrument agreed with the grammar before I could."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/space-binds-and-case-resolves, lines 65-67 (2026-08-10)
- hash
- sha256:7801ec39bdab1861187691db36fd1f72ea894463d60f232cb9199486f8383655
- state
- seen
A second witness of a different kind: a tool that already behaved this way before the rule had a name. h/tokenize.sh itself was not opened for this row.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"token: an unregistered run -> it is a word, standing for itself; line: an unparseable instruction -> it is a comment, kept verbatim; claim: a check that could not be run -> it is reported, never asserted."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 137-143 (section 4)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"A language with no error state is not a language that never fails. It is one that always has somewhere honest to put what it could not read".
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 145-147 (section 4)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"'Could not check' is a third outcome, and it must never share a channel with 'checked and passed'. Most trust erosion is a status code that lost this distinction."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 245-246 (section 9)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
The shop's liar, on purpose: "COLLAPSES THREE VALUES INTO TWO. It reports PASS or FAIL and never REQUESTING-CLAIM. So a thing it could not measure comes back PASS. This is the most dangerous failure in the shop".
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/bin/sh1am, lines 27-29
- hash
- sha256:a5b36aff41067d00083363d416efa0e54f2155b110434d941040f5fa8144b2db
- state
- seen
The same idea seen from its negative side: a tool built to do the wrong thing, so that the right thing can be tested (spread 7).
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"stale --col COL / --key KEY: exit 1 when that column's or key's stamp is newer than s, naming it (exit 2 when it has no stamp or s holds none: the question cannot be answered, and that is said)."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/bin/tv1cr, lines 24-25 (the tool's header)
- hash
- sha256:11ee262438373c975e1ad24faa018ba813aebad35247ee1e32680bbebd217ded
- state
- seen
Read from the header only; the tool was not run.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"set: writes BOTH sides (the two writers) and keeps the trampled value under d/".
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/bin/tv1cr, line 14 (the tool's header)
- hash
- sha256:11ee262438373c975e1ad24faa018ba813aebad35247ee1e32680bbebd217ded
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"Q607 2026-10-19 DEFAULTED cxr tv1cr: the key of a row is one column ..." (line 926) and "Q607 2026-10-20 RULED cxr RULING Q607 (his words 2026-10-20 04:01: ...)" (line 931).
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/evidence/question-bank-iTNH.tsv, lines 926 and 931
- hash
- sha256:f0f67784cc1a5f71b090653ff29ab7675c0478a6a5fd2cd80e92bfdfe25f581c
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 8
"In C4, LOG = atomic history: an append-only record whose entries are atoms (one event, one line), never rewritten ... To LOG is to ADD an atom, never to edit the past."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/log-means-atomic-history, lines 3-6 ("From: Corwin, 2026-09-18", line 9)
- hash
- sha256:68290f5f64794c0c341203a5466bd61bddb363f4884d41eee7ca83274885a7a2
- state
- seen
The file marks itself "canon articulation, provisional", and names its falsifier: a log that must rewrite a past atom to stay correct was a version, not a log.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 9
"Totality is right where the input is a human sentence and dropping it silently is the real harm. It is wrong where an unreadable input means the world is not as assumed and continuing is the harm. Totality is a choice about which failure you prefer, not a strict improvement".
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 149-154 (section 4, the LENS note of 2026-08-10)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
We say it works. How do we know?
We break it on purpose. Then we see the light go red. Good! The test works.
If a test can not go red, it is only watching.
7 Proving
Every claim in C4 is meant to carry the tool that could break it: "a claim needs a tool that fails it", and its twin, "a test needs a mutant it kills, or it is only watching". A declaration can even "ship with its own falsifier, in the same sentence that makes the claim".
A passing test, alone, says only that a check passed today. Here it counts only if it was also shown to fail on a fault planted on purpose; tools take a --prove-red switch that plants the faults and expects red. Corwin's ghostwheel code starts that way: "Test scaffolding must come before everything".
The shop even keeps a liar. bin/sh1am says PASS for a file that is not there, and never admits it could not measure, on purpose. His reason: "we'll never prove any claims if we can't at least show a tool that DOESN'T do what we say we want ours to do." A gauge that passes sh1am is measuring nothing.
A check must be able to say no. When ot3he first ran on ten real acts, its verdict was NOT-MADE, and its record calls that "the strongest available evidence that it is measuring something".
Promises break early or late. His ladder for catching them runs testing, turn, build, install, run-time, bug reports. A test is the first rung.
This book keeps the rule: its checks plant a hard word on a picture page, and must turn red.
What Pin wrote down, mark 1
"A claim needs a tool that fails it — and its sharper twin: a test needs a mutant it kills, or it is only watching. Give every positive control a negative twin."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 202-203 (section 7)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
"A claim needs a tool that fails it. bin/sh1am lies on purpose so the honest claims mean something."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, lines 191-192 (section 5)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"a declaration can ship with its own falsifier, in the same sentence that makes the claim."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 173-176 (section 5)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"A passing test. Looks like: it works. Actually: a check passed today. It counts here only if it was also shown to fail on a fault planted on purpose ... See past it: run any tool with --prove-red ... and look for the planted faults going RED."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/HELLO-C4.md, lines 37-40 (chapter 01, "The stand-ins")
- hash
- sha256:970ce8423829a7032465869146ba07bf91b73f9dd6871577fe6213a121ce19c4
- state
- seen
"Any tool" is HELLO-C4's claim; no count of which tools take --prove-red was made for this page.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"## NOTE: ## Test scaffolding must come *before* everything (e.g. utility ## functions), reenforsing the need to separately implement tests."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, lines 19-21 (his file: "Copyright (C)2026 Corwin Brust", line 3)
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
The page drops his asterisks round "before" and keeps his words.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
Corwin, 2026-08-03: "we'll never prove any claims if we can't at least show a tool that DOESN'T do what we say we want ours to do." Then: "PASSES WHAT IT NEVER READ. Hand it a path that does not exist and it says PASS." "sh1am must FAIL our own gauges. If it ever passes them, the gauge is measuring nothing."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/bin/sh1am, lines 15-18, 30 and 37-38 (the tool's header)
- hash
- sha256:a5b36aff41067d00083363d416efa0e54f2155b110434d941040f5fa8144b2db
- state
- seen
Read from the header; sh1am was not run.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"VERDICT: NOT-MADE -- neither trust nor outcomes moved the right way." "A core proof that cannot come back no is a slogan; this one came back no on its own first data, which is the strongest available evidence that it is measuring something."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/c4-demands-two-registers.md, lines 114-124 ("Instrumented, same day", 2026-09-07)
- hash
- sha256:052bcf2ea8a34edd842f344509a4d7b54d8de880ec81d7e1fabee967cc1a3b8d
- state
- seen
The words "the strongest available evidence" are the file's author's (Claude's), not his.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"Promise-breaks are caught on a LADDER, his words: testing → turn → build → install → run-time → bug reports."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/drift, lines 10-11 (2026-08-08)
- hash
- sha256:ae8fef4fd79610775408a7c321754edd8bc3a19a40703812f3389abc231b7df8
- state
- seen
One witness. The words are his, quoted inside a Claude-written fact; the original (named there as q/C4/levelset) was not opened.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 8
"sed -i 's/^Pin keeps the list\.$/Pin keeps the inventory./'" then expect_red "words: 'inventory' on a picture page, not on the easy list".
- seen
- 2026-11-04 00:25:56 UTC
- by
- part-one (claude-opus-5-5), reading this book's own checks/run.sh
- from
- ghostwheel-book/checks/run.sh, lines 237-238
- hash
- sha256:1fadacb7a3a2fdb656f4d73938195faaf9034a1f50eb59caf32cf1ead8061935
- state
- seen
A file in this book, not in the c4 tree; it was being edited while this was read, so its line numbers may move.
† One hand only: every row here was written by the same witness.
Spoke writes it down. Pin writes it down, too. They do not look.
Then they look at both. The same? Good! Not the same? Good, too. We learn a lot.
8 Twice
Spread two said C4 asks for two ways to say everything. Here is how to tell two ways from one way said twice: if either telling can be rebuilt from the other, the pair has collapsed; "only one register is actually present, and the second is decoration". The shop's two tellings of a day's work show the difference. Operational asks: did it hold, did it need rework, is the box still up? Scientific asks: what was predicted, what was observed, did the prediction survive? "Held" does not say whether holding was expected, and a right forecast does not say whether anyone had to get up at three in the morning.
Two writers is the same idea, for doing. "Load-bearing changes are built twice, independently, and kept apart — agreement is evidence, disagreement is information". "A check run twice by one hand is one check". When one experiment built its instrument twice, the two disagreed once, and the disagreement was real: 68 = 4 × 17, and it corrected the paper's first version.
The shop's tools carry it. tv1cr, which unfolds a table into folders, writes every cell on both sides, in its row and in its column, "the two writers", and its check reads each side against the other.
So Spoke and Pin each write it down, apart. Same answer: good. Different answer: good too, because now there is something to learn.
What Pin wrote down, mark 1
"If either rendering can be reconstructed from the other, the pair has collapsed. Only one register is actually present, and the second is decoration."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/c4-demands-two-registers.md, lines 67-68 ("Balance, made checkable (MINE, conf: high)")
- hash
- sha256:052bcf2ea8a34edd842f344509a4d7b54d8de880ec81d7e1fabee967cc1a3b8d
- state
- seen
The law (two ways, balanced) is his, 2026-09-07; this test for balance is marked MINE in the file, Claude's, unblessed. The file says bin/ot3he --prove-red enforces it (line 70); that tool was not run here.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"operational: did it hold, did it need rework, is the box still up; scientific: what was predicted, what was observed, did the prediction survive. Neither is derivable from the other, because held does not tell you whether holding was expected, and the forecast was right does not tell you whether anyone had to get up at 3am."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/c4-demands-two-registers.md, lines 74-78
- hash
- sha256:052bcf2ea8a34edd842f344509a4d7b54d8de880ec81d7e1fabee967cc1a3b8d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"Load-bearing changes are built twice, independently, and kept apart — agreement is evidence, disagreement is information, and a second hand that agrees with the answer while rejecting the reason is the strongest agreement available."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 215-217 (section 7)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
"BUILD THE INSTRUMENT TWICE. Two implementations, independent by construction (A and B), make agreement EVIDENCE and disagreement INFORMATION."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/build-the-instrument-twice, lines 6-7 (2026-08-10)
- hash
- sha256:d380b895c38dcc16645ebb0761ce648d476615c409c71380bcf301c62e48f48f
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"Byte-match is one source; identity is the independent second. A check run twice by one hand is one check. A leg is real only when a second authority re-runs it on the same canonical content."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 243-244 (section 9)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
"MATCHED. Looks like: verified. Actually: when a tool re-reads its own write and prints MATCHED, the write landed; the independent check, a second reader, is named but not yet done. Agreement between two readers built apart is the evidence; one reader alone is data."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/HELLO-C4.md, lines 42-46 (chapter 01, "The stand-ins")
- hash
- sha256:970ce8423829a7032465869146ba07bf91b73f9dd6871577fe6213a121ce19c4
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"The run's one disagreement was real — 68 = 4 × 17 — and it corrected the paper (v1), which no amount of single-instrument confidence would have done."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/build-the-instrument-twice, lines 7-9 (the invent-computing pass, 2026-08-10)
- hash
- sha256:d380b895c38dcc16645ebb0761ce648d476615c409c71380bcf301c62e48f48f
- state
- seen
One witness. The pass it cites (.eclipse-increments/2026-08-10-invent-computing/) was not opened, so which paper, and what the 68 counted, is not said on the page.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"set: writes BOTH sides (the two writers) ..." and "check: every r atom is listed in its c twin and every c line reads back; exit 1 on the first fault class found, every fault named by path."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/bin/tv1cr, lines 2-3, 14 and 18-19 (the tool's header)
- hash
- sha256:11ee262438373c975e1ad24faa018ba813aebad35247ee1e32680bbebd217ded
- state
- seen
Both writers here are the same program writing two copies, so they share a hand; by this page's own rule that is one check made twice, kept honest by the check that reads one side against the other. Read from the header; the tool was not run.
† One hand only: every row here was written by the same witness.
Spoke sees it. Pin writes it down: what, and when, and where, and who.
If only one friend sees it, Pin writes a small mark on it.
When a new friend sees it too, the mark is gone.
9 When
Pin never writes a fact alone. Each note says what was said, when it was seen (in UTC, the world's shared clock), who or what saw it, where it came from (a file and its lines), that file's hash at that moment, and its state. Tap any small mark in this book and those notes open.
Why "seen" and not "true since"? We can rarely know when a fact changed in the world; we can always say when each witness saw it.
C4 already keeps its own date this way. Its DATE file is written by one tool, one line per roll, newest last: the date, the UTC time it was rolled, the host, and the date before it. Its table tool stamps each column and row with the time the writer wrote down, kept apart from the file system's clock; a table is current only when the two agree.
A fact seen by one hand only wears a small dagger, †, the mark Corwin's paper on diligence uses for "claims resting only on that single witness". It is a count, not a refusal: when a second, different hand writes a row, the dagger goes. A copy of your own note does not count; "a reflection is not a witness".
The shop has not built the register these rows will live in yet: when this page was read, the c4 tree had no c/seen.
What Pin wrote down, mark 1
"The witness row. One line per sighting, seven fields, in plain words: atom ... said ... seen: when it was seen true, in UTC ... by: who or what saw it ... from: where ... sha: the hash of that record at that moment ... state: seen, ruled, superseded, could-not-check, or opened."
- seen
- 2026-11-04 00:35:28 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, lines 34-42 (section 1)
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
A design in the plan (filed in c4 as a dated q/ record, the same bytes as the copy beside this book), not yet a C4 register (see [plan]). The plan's first field is "atom"; this book's rows call it "fact".
"fact: hosts (one block per witness row; a fact may have several)", then said, seen, by, from, sha, state, each on its own line.
- seen
- 2026-11-04 00:30:07 UTC
- by
- part-one (claude-opus-5-5), reading this book's own README
- from
- ghostwheel-book/README.md, lines 98-105
- hash
- sha256:800d471032d35f1c9f02402270522895731e815b3b9dcb01d6060d5c70bd8748
- state
- seen
Two or more hands (2). Where they differ, both are kept.
What Pin wrote down, mark 2
"Why "seen" and not "last changed". We can rarely know when a fact changed in the world. We can always say when each witness saw it."
- seen
- 2026-11-04 00:35:28 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, lines 53-54 (section 1)
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
The plan's reasoning, and a point on which it disagrees with Corwin's first ask ("the date that information was last changed"); the plan names the check that would settle it (its section 8, item 2).
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"DATE -- the shipboard date, recorded by itself before it is handed on. Written only by bin/da1te. One line per roll, newest last: <date> <rolled-at, 24h UTC> <host> from=<predecessor>". Newest line: "2026-11-03 2026-11-03T19:29Z claude from=2026-10-26".
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/DATE, lines 1-3 and 36
- hash
- sha256:11cda311dc603676429dc2bc5fb5a09f816495bcbec33bc4406c3797708eab84
- state
- seen
"The date. Looks like: today. Actually: the shop's recorded date, read from the UTC clock and written down before anything uses it. In the evening in the Americas it is often a day ahead of your wall clock".
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/HELLO-C4.md, lines 32-35
- hash
- sha256:970ce8423829a7032465869146ba07bf91b73f9dd6871577fe6213a121ce19c4
- state
- seen
True of this very page: its rows say 2026-11-04 (UTC) while it was written on the evening of 2026-11-03 in Minnesota.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"sc/<col> and sr/<key>, one line each, the stamp it used ... (the time the writer wrote down; the cell's own mtime is the file system's, and a good made from this table is current only when the two agree)."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/bin/tv1cr, lines 14-16 (the tool's header)
- hash
- sha256:11ee262438373c975e1ad24faa018ba813aebad35247ee1e32680bbebd217ded
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"No one else has yet run the instrument against the ledger. Claims resting only on that single witness are marked †." And: "Due diligence claims are measurable if you have an instrument — and if someone other than its author can run it."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the pub shelf on Avalon
- from
- H:/pub/papers/ai-diligence-sysops/ai-diligence-sysops-v0.2.1.md, lines 169-170 and 175
- hash
- sha256:c849e6d14b64670c4f3f3c26d3b8555f3fe163f300076c0b4cd2383c2c8da505
- state
- seen
"One by only earns the dagger (†, the paper's own mark for "Claims resting only on that single witness", line 170). The dagger is a gauge, printed and counted, never a refusal."
- seen
- 2026-11-04 00:35:28 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, lines 62-65 (section 1)
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
"A count, not a refusal" is the plan's rule for the book, borrowing the paper's mark; the paper itself only marks.
Two or more hands (2). Where they differ, both are kept.
What Pin wrote down, mark 6
"The flip side of dual-witness: do NOT pretend a reflection or photograph of an actor is a second party. A reflection is not a witness."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/two-readers-at-most, lines 16-17 (Corwin, 2026-09-17)
- hash
- sha256:bcb6af309e0ca0145badaa16aa499f737139cf884bfe583e910e39ffc0efdf22
- state
- seen
The file is marked PROVISIONAL, UNBLESSED. It also says (lines 42-44) that it was landed in two stores and proven byte-identical, "two copies agreeing is the test": two copies prove the landing, not a second witness. Both lines are kept.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"Where the rows live. A register, proposed name c/seen, with its columns described in d/c/seen, as every C4 register is."
- seen
- 2026-11-04 00:35:28 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, lines 48-49 (section 4 lists the seen command as missing)
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
"ls: cannot access 'c/seen': No such file or directory" (and the same for d/c/seen).
- seen
- 2026-11-04 00:13:56 UTC
- by
- ls, run read-only in the c4 tree on Avalon (part-one, claude-opus-5-5)
- from
- the command "ls c/seen d/c/seen" in c4
- hash
- none: an absence has no file to hash
- state
- seen
Two or more hands (2). Where they differ, both are kept.
Spoke has a ladder. Pin has a ladder.
Each one says how a ghostwheel wakes up.
They are not the same. Pin keeps both. Where they are not the same, we learn a lot.
Come and see who wakes up.
10 Witnesses
Ask the c4 tree one question, "what are C4's run-levels?", and more than one witness answers. Pin keeps them side by side.
Spoke's ladder is Corwin's own ghostwheel code. It counts what is standing up on a host: 0 bootstrapping, 1 containers, 2 components, 3 configurations, 4 connections, 5 running. Pin's ladder is the language document, C4-LANG. It counts a lifecycle: bootstrapping, containers, then configure, make, install, setup, self-test, enablement.
Two more answer too. A fact from 2026-09-11 counts locks, 0 read, 1 present, 2 fresh, 3 digest, 4 signed, and calls everything above them virtual. And the ladder on spread seven counts where a broken promise is caught.
The first two agree at the bottom: bootstrapping, then containers. Then they part. One counts what is up; the other counts what has been done to the software. Neither is wrong. That they differ tells us where each one stands: a host, a build, a lock, a promise. (That reading is Pin's, not Corwin's.)
His paper names the method: where two readings diverge, "that gap is not a defect in the argument. It is the argument's instrument". The shop's rule for measures that disagree is the same: show them side by side, "which is not a score".
Part Two climbs Spoke's ladder, one rung at a time, as a ghostwheel wakes up.
What Pin wrote down, mark 1
"# (delayed overwrite register) system runlevel # 0..boostraping # 1..containers # 2..components # 3..configurations # 4..connections # 5..running" (his spelling kept)
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, lines 34-40 (his file: "Copyright (C)2026 Corwin Brust", line 3)
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
"So it4c's 4 and ghostwheel.fn.sh's 5 ("running") are not two ladders: 5 is the host's "running" and the application's virtual levels live above it."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 18-19 (2026-09-11)
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"Capability is exposed in ordered levels — bootstrapping, containers, and upward through the real lifecycle: configure, make, install, setup, self-test, enablement. Each level is a signal, and what a caller may reach varies by the level in force."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 223-225 (section 8)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
The 2026-09-11 ruling joins the host ladder and the lock ladder into one; nothing found in the files read for this page joins C4-LANG's lifecycle list to either. That gap is the finding this page shows; it is not marked as an error.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"Run-levels 0..4 are the tumblers (host standpoint: 0 read · 1 present · 2 fresh · 3 digest · 4 signed). Anything above is VIRTUAL: an application on the ghostwheel simulating tumbler change for its own purposes while the host still reads it as "running"."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 15-17 (2026-09-11)
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
His ruling in the same file (lines 8-11), "The higher run-levels are virtual", belongs to Part Two, so this page only names it.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"Promise-breaks are caught on a LADDER, his words: testing → turn → build → install → run-time → bug reports."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/drift, lines 10-11 (2026-08-08)
- hash
- sha256:ae8fef4fd79610775408a7c321754edd8bc3a19a40703812f3389abc231b7df8
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"Where the two readings converge, that is the finding. Where they diverge — where one register holds a claim the other cannot render — that gap is not a defect in the argument. It is the argument's instrument."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the pub shelf on Avalon
- from
- H:/pub/papers/ai-diligence-sysops/ai-diligence-sysops-v0.2.1.md, lines 23-25
- hash
- sha256:c849e6d14b64670c4f3f3c26d3b8555f3fe163f300076c0b4cd2383c2c8da505
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"THREE REACHABILITY GRAPHS ... DISAGREE about the SAME decks, and the disagreement is information. Collapsing them into one score would crown and condemn wrongly ... If a display is wanted, it shows all three side by side — which is not a score."
- seen
- 2026-11-04 00:13:56 UTC
- by
- part-one (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/three-graphs-disagree-and-none-may-crown, lines 6-10 (2026-08-05)
- hash
- sha256:f6b6806392099b6ced71c8971e83e3db6f0e4ba75379d7b2c5035e5cee19f855
- state
- seen
Written about three graphs of decks, not about run-levels; this page borrows the rule, which is general in its own words ("No single metric may crown or condemn").
† One hand only: every row here was written by the same witness.
Part Two
how a ghostwheel wakes up
Oh! Chad is back.
"Hi. Don't get up. I got this."
"Last word first. Every time."
Spoke looks at Pin.
And then he was gone.
Knock, knock. Who is there?
The small computer wakes up. It looks at its names. Is this me?
"It is me! C4!"
This is floor zero.
11 Zero
Is anyone home? Before a host can do anything else, it has to find out. In C4's shell library for the ghostwheel, ghostwheel.fn.sh, a run-level that is not set yet means "startup hasn't finished". The first level is 0, bootstrapping.
At level 0 the library runs only the tests "which can indicate startup issues". They ask plain questions. Are its four names filled in: C4_ID, C4_ROOT, C4_AS and C4_GW? Is the host it runs on really this host, by its long name and by its short one, and is "moo" not it? Every test the file declares today sits at level 0.
Last of all, the library defines a function "to confirm we exist!", which prints C4 GHOSTWHEEL and a version number. When you log in, the start-up file gw.rc loads the library and asks that function to speak. If the answer begins with C4, someone is home, and only then does it go on to bring the spokes up.
Notice what the tests do not do: they do not stop the machine. The file's rule is "Emit warnings about problems; no dying". A host that cannot answer every question at floor 0 still says what it found, and keeps going.
What Pin wrote down, mark 1
"(delete variable) unset run level indicates startup hasn't finished"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, line 23
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"# (delayed overwrite register) system runlevel / # 0..boostraping / # 1..containers ... # 5..running"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, lines 34-40
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
The file spells it "boostraping"; the page writes bootstrapping.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"C4_RUN=0 # only run tests which can indicate startup issues"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, line 254
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
For C4_ID, C4_ROOT, C4_AS and C4_GW, a level-0 test "non-empty"; for C4_GN, a level-0 test "positive integer".
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, lines 248-252
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
Three level-0 tests: c4.gw_is_localhost must say yes to `hostname -f` and to `hostname -s`, and no to "moo".
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, lines 460-462 (the function itself at lines 436-456)
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
Every uncommented c4.t.b line names run-level 0 (lines 186, 249-252, 275, 308-309, 401, 424, 427, 460-462); the only C4_RUN assignment is line 254, to 0.
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, the whole file
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
13 test lines at level 0; 0 at levels 1 to 9.
- seen
- 2026-11-04 00:19:54 UTC
- by
- grep, run on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh (grep -c -E '^\s*c4\.t\.b +"[a-z]*" +0', and the same with +[1-9])
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
Line 249 sits in a loop over four names, so the 13 lines make 16 tests when the file runs. All of them are at level 0.
Two or more hands (2). Where they differ, both are kept.
What Pin wrote down, mark 7
"# done! define a version function to confirm we exist!", then printf '%s %s %s' C4 GHOSTWHEEL 1.0.50
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, lines 898-900
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 8
c4_rc_ready runs "c4.VERSION | grep -i ^c4"; then "if c4_rc_ready ; then ... c4.SPOKES_UP".
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/gw.rc, lines 24-29 and 37-43
- hash
- sha256:7fa7b1e4fd88f4b4dc11395a028d2a2f2ce65fd34654f22e15d8628c14b1a9f2
- state
- seen
Unless ~/.inhibitspokes exists (line 41), and unless ~/.c4inhibitrc turns the whole hook off (lines 10-13).
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 9
"Emit warnings about problems; no dying"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, line 10
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
† One hand only: every row here was written by the same witness.
Up we go! Four floors.
Each floor has a door, and each door has a C on it. C, C, C, C: C4!
And each door has a lock.
12 Floors
Above floor 0 the library names four floors, and their names spell C4: 1 containers, 2 components, 3 configurations, 4 connections. Then comes 5, running. C4.md lists "Containers Components Configurations Connections" as one of four four-C readings of the name.
A second ladder uses the same numbers. sg1pl, a small tool that fetches a value and checks it, climbs 0 read, 1 present, 2 fresh, 3 digest, 4 signed. Present: a real file you can read, not empty. Fresh: its time is not in the future. Digest: a sha256 file beside it matches. Signed: a gpg signature beside it verifies. Each level "does everything below it, then one more thing".
Corwin's ruling calls a move between the low levels a "tumbler change", and says an application climbing above them is still "running" to the host. An older note saw two ladders fighting over one digit; the ruling closed that.
This page hangs one lock on each floor's door: present on containers, fresh on components, and so on up. That pairing is Mentat's reading of how his two ladders fit. The sources share the numbers; none says floor 2 is the fresh floor. It is his to bless.
Plainly, too: the floors are named, not yet tested. Every test in the library sits at floor 0. And C4's language book names the climb another way (configure, make, install, setup, self-test, enablement); spread 10 sets the ladders side by side.
What Pin wrote down, mark 1
"# 0..boostraping / # 1..containers / # 2..components / # 3..configurations / # 4..connections / # 5..running"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, lines 34-40
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"The name is not merely oversubscribed — it is oversubscribed with four-C sets specifically: Collaborative Consent Continuity Controls · Containers Components Configurations Connections · Continuous Creation Command & Control · Simon Brown's Context Container Component Code."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4.md, lines 62-65 (section 1a)
- hash
- sha256:358ce65ce2539df9298a55ec3f6a00b11a9dad3e7d2ef559d54bb367738c9d42
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"0 read: hand back the bytes. no judgement at all. / 1 present: a regular file, readable, and not zero bytes / 2 fresh: + mtime is not in the future, and within --age if given / 3 digest: + a <path>.sha256 sidecar exists and matches / 4 signed: + a <path>.asc detached signature verifies with gpg"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/h/sg1pl, lines 43-49
- hash
- sha256:1d17b2f7769e9175bf2706c1ed2617587dbefc8af04bb02f94dc9fbe20a569a5
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"THE RUN-LEVEL LADDER. Each level does everything below it, then one more thing."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/h/sg1pl, line 43
- hash
- sha256:1d17b2f7769e9175bf2706c1ed2617587dbefc8af04bb02f94dc9fbe20a569a5
- state
- seen
The same file records one exception, found on the real tree: requiring level 3 to reach level 4 made signature checks unreachable for files signed without a sha256 sidecar (lines 136-142), so a missing sidecar now reads NOT CHECKED rather than refusing.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
Corwin, 2026-09-11: "The higher run-levels are virtual allowing applications running on the ghostwheel to simulate tumbler change as for lower run-levels while staying in the "running" model from a host system standpoint."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 8-11
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"the `4` in `it4c` reads "everything" to one reader and "connections" to a reader holding `gw.rc` — two ladders in one digit space"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/model.md, line 1005 (held open #4)
- hash
- sha256:de571c9694cd6f0f0ac18034b88aa7ed51d2567d03853afc97ab2ac185d963e7
- state
- seen
The older witness. The row below is the later ruling that answers it. Both are kept.
"So `it4c`'s 4 and ghostwheel.fn.sh's 5 ("running") are not two ladders ... Contradiction #4 closes on his side"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 18-20
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"does he bless reading his ladders as two witnesses for one set of numbers (build floors and tumbler locks, 5 running, pretend floors above)?"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, lines 322-326 (fork F1)
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
An open fork, his to decide. The page's pairing is Mentat's reading, not his.
"Run-levels 0..4 are the tumblers (host standpoint: 0 read · 1 present · 2 fresh · 3 digest · 4 signed)."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 15-16
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
This line names the locks and no floors; ghostwheel.fn.sh lines 34-40 name the floors and no locks. No line read pairs them.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 8
13 test lines at level 0; 0 at levels 1 to 9.
- seen
- 2026-11-04 00:19:54 UTC
- by
- grep, run on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh (grep -c -E '^\s*c4\.t\.b +"[a-z]*" +0', and the same with +[1-9])
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
Every uncommented c4.t.b line names run-level 0; the only C4_RUN assignment is line 254, to 0.
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, the whole file
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
Two or more hands (2). Where they differ, both are kept.
What Pin wrote down, mark 9
"Capability is exposed in ordered levels — bootstrapping, containers, and upward through the real lifecycle: configure, make, install, setup, self-test, enablement."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 223-224 (section 8)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
A third way of naming the climb. It agrees with the library on bootstrapping and containers and then names other steps. Kept beside the others, not chosen between.
† One hand only: every row here was written by the same witness.
Floor five! The lights come on, in every room.
The ghostwheel is running.
Spoke sees it. Pin writes it down: running.
13 Running
Floor 5 is running. It is the host's word for "the lights are on": the floors below have done their part, and from here, as the host sees it, it is simply running.
How does a host get there today? When you log in, the start-up file gw.rc loads the library and asks it to say its name. If it answers, gw.rc brings the spokes up: for each spoke, the library checks whether it is ready, and if not, mounts it over the network with sshfs. Just before that part, the file leaves a note in its own voice: "wheels-up!".
Here is what is built and what is not. The library and its start-up file exist, and they are free software. Pin has two notes on which licence: the library's first lines say "GPLv3+", and the LICENSE file beside it holds the GNU Affero GPL, version 3. Both are kept; the difference is worth asking about. The floor names are in the library, but no test is attached to floors 1 to 5 yet, so running today is a name and a promise, not a checked state. C4's language book is blunt about gaps like this: "A tool that never graduates toward a higher level of assurance is itself a smell".
As the host sees it, running is the top. Anything that climbs higher does it on pretend floors, over the page.
What Pin wrote down, mark 1
"# 5..running"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, line 40
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"5 is the host's "running" and the application's virtual levels live above it."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 18-19
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
"The lights are on" is the book's picture of it, from the plan (PLAN.md section 6, spread 13), not his words.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"# we are done trying to load functions, worked or it didn't.. / if c4_rc_ready ; then / #try probing for and setting up features.. / if test ! -r $HOME/.inhibitspokes ... c4.SPOKES_UP"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/gw.rc, lines 37-43
- hash
- sha256:7fa7b1e4fd88f4b4dc11395a028d2a2f2ce65fd34654f22e15d8628c14b1a9f2
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"## brute force all the things / function c4.SPOKES_UP { ... c4.s.ready -q $s $i || c4.s.sshfs $s:/$i $C4_SPOKES/$s/$i"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, lines 884-895
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"C4_TR=w # wheels-up!"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, line 882
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
C4_TR names the test register in use from there on (line 44 sets it to T first); "wheels-up!" is the comment beside it.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"# Copyright (C)2026 Corwin Brust <corwin@brust> / # GPLv3+: The program is Free Software"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, lines 3-4
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
The two licence rows differ: the file header says GPLv3+, the LICENSE beside it is the AGPL v3. Both are kept; which one he means is his to say.
"GNU AFFERO GENERAL PUBLIC LICENSE / Version 3, 19 November 2007"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/LICENSE, lines 1-2
- hash
- sha256:4ca481b3ef58d385d6e2cc2a64c6cea937bf1b6bcb2a33e6f62be75b04849d91
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
13 test lines at level 0; 0 at levels 1 to 9.
- seen
- 2026-11-04 00:19:54 UTC
- by
- grep, run on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh (grep -c -E '^\s*c4\.t\.b +"[a-z]*" +0', and the same with +[1-9])
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
Every uncommented c4.t.b line names run-level 0; the only C4_RUN assignment is line 254, to 0.
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/p/c4fn/ghostwheel.fn.sh, the whole file
- hash
- sha256:8458a930d67aec89593a830fafce187a268ce98e7e40f700377bcd5a7c6ae6b3
- state
- seen
Two or more hands (2). Where they differ, both are kept.
What Pin wrote down, mark 8
"Each level is a signal, and what a caller may reach varies by the level in force. A tool that never graduates toward a higher level of assurance is itself a smell."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/C4-LANG.md, lines 224-226 (section 8)
- hash
- sha256:d99139b865824ff3a6b3c21246d4226561354271263cecf2c7126e70bcc5667d
- state
- seen
† One hand only: every row here was written by the same witness.
Above the roof are pretend floors!
Things on the wheel can climb them, up, and up, and up.
The computer still says one word: running.
14 Roof
What if an application on the wheel wants floors of its own? Corwin has answered that "several times": "The higher run-levels are virtual allowing applications running on the ghostwheel to simulate tumbler change as for lower run-levels while staying in the "running" model from a host system standpoint".
So the roof does not move. The host still reads running. Above it, an application can climb pretend floors of its own and turn the same kinds of locks for its own purposes.
One tool already rides them. ix0xi, the second index, calls itself an elevator. It quotes him: "virtual run levels above our max of four (>4 is all just RUNNING, to us ...)", so that moving among them "can simulate alternate index by ADDING LEADING DOTS" to a path. One floor up, c4.m.map becomes .c4.m.map; two floors up, ..c4.m.map. That one dot means one floor is the tool author's reading, and the tool says so.
Pin has two notes here that differ by one floor. The ruling's file puts running at 5 and the pretend floors above it. The elevator counts 1, 2, 3 and MANY as real, and 5, 6, 7 as virtual. From the host's side they agree: past 4, it is all running.
The ruling's file says why it was written down at all: "A ruling that has to be re-answered is a memory failure, not a question".
What Pin wrote down, mark 1
Corwin, 2026-09-11: "I see a question about run-levels? I have answered that one several times. The higher run-levels are virtual allowing applications running on the ghostwheel to simulate tumbler change as for lower run-levels while staying in the "running" model from a host system standpoint."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 8-11
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"Anything above is VIRTUAL: an application on the ghostwheel simulating tumbler change for its own purposes while the host still reads it as "running"."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 16-17
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
ix0xi -- "The second index: a mirror, and the elevator that rides it." Quoting him: "virtual run levels above our max of four (>4 is all just RUNNING, to us -- okay we designed so 1, 2, 3 MANY we are running!) so that movement among the virtual run-level can simulate alternate index by ADDING LEADING DOTS or dot-and-more and/or POSTFIXING to the path resolved"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/bin/ix0xi, line 2 and lines 50-54
- hash
- sha256:af1bd0f6ded37f1194d06ac92442ac46635dbd7fa56491a750fab96ad03ffd8d
- state
- seen
The tool exists (usage at line 87: "ix0xi ride PATH RL the elevator: decorate PATH for run-level RL"). This session read it and did not run it.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"`c4.m.map` at MANY becomes `.c4.m.map` one rung up, `..c4.m.map` two rungs up." And, under JOURNEY: "and that a virtual rung is exactly one prefix character."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/bin/ix0xi, lines 59-60 and 71-73
- hash
- sha256:af1bd0f6ded37f1194d06ac92442ac46635dbd7fa56491a750fab96ad03ffd8d
- state
- seen
The tool splits what is his (MUST) from the author's reading (JOURNEY); one dot per rung is on the JOURNEY side.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"5 is the host's "running" and the application's virtual levels live above it."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 18-19
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
Differs from the row for [many] by one floor: here 5 is running and the virtual levels start above it.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"1 2 3 MANY real. MANY is 4-and-up; the shop does not count past "it is running". / 5, 6, 7 ... VIRTUAL. Each rung above MANY adds one prefix character to the resolved path."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/bin/ix0xi, lines 56-57
- hash
- sha256:af1bd0f6ded37f1194d06ac92442ac46635dbd7fa56491a750fab96ad03ffd8d
- state
- seen
Differs from the row for [five] by one floor: here 5 is already virtual. Both agree the host says "running" past 4. The tool dates from 2026-08-03; the ruling from 2026-09-11.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"He has answered this several times. A ruling that has to be re-answered is a memory failure, not a question."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/run-levels-above-the-tumblers-are-virtual, lines 24-25
- hash
- sha256:d68f1300d815b6051ab1cff4bfe5bc2e2117ec3e3782bff49cc214bccf3e896d
- state
- seen
† One hand only: every row here was written by the same witness.
Friends hold hands in rings.
One friend is away. In the big ring, four still hold hands. Three is enough.
The small ring has two. Is two enough? Pin has two notes.
15 Rings
Spread 1 counted the hosts and rings. This page is about one bad day: a host is away.
Each of the fifteen stands in one big ring and one small one; that is a reading of his numbers, not a sentence of his.
Its big ring still has four. His rule for a big ring is "any 3/5 means available", with "not more than two being reserved for one each of dev or stage/test at any given time". So it stays up, and could lose one more.
Its small ring has two of three. Is that enough? His note does not say in so many words. The shop's ring drawing writes 2/3 beside every small ring; the fact file calls that rule its own reading, marked "arguable". Pin keeps both.
Who fixes it? Any ring can be looked at, but only the edge ring steers: control "is effected only from the edge ring perspective", which must "walk the edges and prove vs imbalances" before it plans the move. A change crosses between the two kinds of ring only through a host that holds the same role in both, "functioning as a bastien" (his spelling).
By default, people step down to the system's run-level to change a ring's services. Changing them without stepping down is something he finds "WAY too hard for me to know how we can plan for at this stage of our bootstrap". It gets a door. Turn the page.
What Pin wrote down, mark 1
"ring topology = f(PIN, RESERVE=2, MANY) where greater-size = (PIN−RESERVE)/MANY (count = MANY), lesser-size = MANY (count = greater-size)"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 66-67 (the formalized derivation)
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
Three rings of five and five rings of three, from the same fifteen. That each host sits in exactly one of each is the natural reading of those counts (and spread 1's drawing), not a line of his.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"3 rings of five servers where any 3/5 means available, not more than two being reserved for one each of dev or stage/test at any given time."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 6-8 (his words in chat, 2026-08-05)
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"lesser.1 gw19 gw17 gw22 2/3 PROTO" and "lesser.2..5 3-hosts-each 2/3"; "greater.A..C 5-hosts-each 3/5 max-2-reserved"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/a/gw-rings, lines 3-5
- hash
- sha256:a406b0b16ec593eb143088df67023fdd40dfc01a420c0f1a36d6d2e4d25694d8
- state
- seen
The drawing does not say who wrote it. It writes 2/3 for the small rings; his note (row for [three]'s file, lines 10-14) gives no number for them.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
Under "Readings (JOURNEY — mine, arguable)": "The lesser ring tolerates one absence; the greater tolerates two (and spends them, deliberately, on dev/stage)."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 36 and 42-44
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
The fact file's own reading (Claude-minted 2026-08-05), marked arguable. It and the drawing agree on 2/3; neither is his sentence.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"visualization may be from either (GREATER/LESSOR) ring context but JOURNEY (control) is effected only from the edge ring perspective which must 'per the shrink wrapping' be able to walk the edges and prove vs imbalances to plot/perform the 'move'"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 21-24 (his words)
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"five rings of three servers where any two rings of servers may similarly be dev/stage provided at least one server in the ring dev or test have a server that has that role per the first composition thus functioning as a bastien to accept changes across the greater rings feature space"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 10-14 (his words)
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
"the BASTION rule: change crosses ring classes only through a host holding the same role in both compositions."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 15-16
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
The fact file's summary of his sentence above; the page's plain sentence follows this summary.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"people must drop to the system-conceptualized run-level to effect new system services"; "so it may really happen that people innovate safe service-def changes without dropping (big CI/CD feature, "WAY too hard for me to know how we can plan for at this stage of our bootstrap")"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 26-32
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
† One hand only: every row here was written by the same witness.
A round door, with a star on it.
Behind it are things we can't build yet. The door says what would open it.
You can always come back.
16 Wormholes
Some ideas cannot be built yet. The shop does not throw them away; it gives each one a door. A wormhole is "a registered idea that cannot build yet". It carries the idea, named as its question; what would open it ("a tool, a level, a person, a ruling"); and its return line, the place in the book it belongs. An idea that may never build with us keeps its door too, with the reason, and the condition that would reopen it. That is the canon's third principle at work: "No abandonment".
Here is one we would place, from the last page. The question: can people change a ring's services safely without stepping down a run-level? What would open it: a way to plan for it, which he calls "WAY too hard for me to know how we can plan for at this stage of our bootstrap". Its return line: spread 15. The fact file already names it "an opening, not built".
C4's README keeps two more doors without using the word: META, "Not yet. There is no META parser", and C4QL, the part that looks, "Not yet".
When a door's condition is met, a row is added beside it saying OPENED, and nothing is renumbered.
And plainly: the plan's wormhole register is not built. The word is older than the plan: one search found it nowhere, a second found it in three earlier facts, one as "a wormhole row". Where the doors will live is Corwin's to choose.
What Pin wrote down, mark 1
"A wormhole is a registered idea that cannot build yet. Each one carries: the idea, in one sentence, named as its question; what would open it: a tool, a level, a person, a ruling; its return line: the atom or the spread of the book it belongs to"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, lines 161-165 (section 5)
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
The plan is Mentat's, written from his message of 2026-11-03 08:14 CST ("things we relegate to wormholds ... behind banks of registered ideation").
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
"for an idea that is unlikely ever to build with us, the reason, and still the condition that would reopen it. It is a kept loser with a door, never deleted (CANON: "No abandonment")."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, lines 166-167
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
"3. No abandonment — I do not give up on people, opportunities, or problems; I reach out."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the publication shelf on Avalon
- from
- H:/pub/canon/principles/CANON.md, line 47
- hash
- sha256:d0cc5d48e7af47b40f483e4dce6951daa2e4e0a023a1c4d31e5847e482368b27
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 4
"so it may really happen that people innovate safe service-def changes without dropping (big CI/CD feature, "WAY too hard for me to know how we can plan for at this stage of our bootstrap")"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 30-32
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
Placing this idea behind a wormhole door is this spread's reading; nothing in C4 registers it as one.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 5
"The un-plannable feature has a shape here already: changing service defs without dropping run-level = rebasing a live promise without a breakpoint ... Named as an opening, not built."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/facts/ghostwheel-ring-of-rings, lines 53-56
- hash
- sha256:6a70ea2ba7fac4f1c20e39497ecb987dc440cf139285dda316405443709fa099
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 6
"META — hints, weights, meaning; weighs. Not yet. There is no META parser and nothing effects it." and "C4QL — introspection, reflection; looks. Not yet."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/README.md, lines 107 and 110
- hash
- sha256:37fa9d9f44f031c05233c7481c3fd266b2e5cee688fd7bfb15e01dac377a2549
- state
- seen
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 7
"When its condition is met, a row is added beside it saying OPENED, the bank's ruling shape."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, line 169
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
The plan's design, not built. "Nothing is renumbered" is the question bank's rule the plan copies (PLAN.md lines 44-46).
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 8
0 files name a wormhole (case ignored, "wormhol").
- seen
- 2026-11-04 00:19:54 UTC
- by
- grep, run on Avalon
- from
- c4: grep -rli 'wormhol' facts c d/c evidence bin C4.md C4-LANG.md README.md model.md GHOSTWHEEL.org HELLO-C4.md
- hash
- sha256:37fa9d9f44f031c05233c7481c3fd266b2e5cee688fd7bfb15e01dac377a2549
- state
- seen
The sha is README.md's, one of the files searched; a search over many files has no single record. The word does appear in today's plan under q/2026-11-03-atom-dates/, which is a record folder, not a register.
facts/magic-numbers-is-itself-a-seam uses the word: "which is the same mechanism as a wormhole row" (written 2026-08-03).
- seen
- 2026-11-04 00:47:52 UTC
- by
- Mentat (claude-opus-5-5), reviewing, with grep -n on one file at a time, on Avalon
- from
- c4/facts/magic-numbers-is-itself-a-seam, line 42
- hash
- sha256:8419bfcebf533e06022f903dc67100dbdf688e7f55da7bd2cc5872b93790c0a0
- state
- seen
The row above found 0 files with one search over the whole tree, where long commands on this mount time out; an empty answer from a search that may not have finished is "could not check", not "none" (spread 6). Both rows are kept.
facts/pin-both-is-cheaper-than-choosing uses the word: "A refuted reading is parked with its wormhole, not pinned. eclipse-pass owns that verb." (written 2026-09-17)
- seen
- 2026-11-04 00:47:52 UTC
- by
- Mentat (claude-opus-5-5), reviewing, with grep -n on one file at a time, on Avalon
- from
- c4/facts/pin-both-is-cheaper-than-choosing, lines 42-43
- hash
- sha256:b8ed10d7f945e3cedec01e6c9eb00dc27c9730e9943c2b28999d8db7682b1116
- state
- seen
facts/secret-sweep-before-push uses the word: "mass-add is a wormhole-hit that auto-summons this sweep" (written 2026-07-28).
- seen
- 2026-11-04 00:47:52 UTC
- by
- Mentat (claude-opus-5-5), reviewing, with grep -n on one file at a time, on Avalon
- from
- c4/facts/secret-sweep-before-push, lines 8-9
- hash
- sha256:790dbe929588bc03c142e204d9d99ef7af26e08faf761a1ed09c55370c40d183
- state
- seen
Two or more hands (2). Where they differ, both are kept.
What Pin wrote down, mark 9
"F2. Where wormholes live. (a) A new state word in the question bank ... (b) A sibling register with the same shape"
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, lines 327-329 (fork F2)
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
† One hand only: every row here was written by the same witness.
Oh! Chad is back, one last time.
He looks at the name on the book. "Wheel," he says. "Ghost."
Spoke waves.
"Last word first. Every time."
And then he was gone.
Goodnight, wheel. Goodnight, rings, and the friends in the rings. Goodnight, letters, and seventeen doors. Goodnight, floors, and the locks on the doors.
Goodnight, star door. Goodnight, Spoke. Goodnight, Pin. Each one has its day.
17 Goodnight
Goodnight, every atom: each small fact here that could be true this month and false the next, with Pin's rows about it. Here they all are, by the day each was seen.
Seen 3 November: Door's hosts, rings, lesser, edge, derive, public, findable, noai; Letters' seventeen, mt, faces, srow, common, namespace, nine, two.
Seen 4 November: Seams' three, seam, pin, semaphore, keep, readme, both; Doing's vtype, vpress, lrow, ll, cand, ledger, six; Spaces' two, binds, prose, quotes, case, terse, found; Keeping's word, heights, honest, third, exit2, trampled, ruled, log, local; Proving's fails, inline, planted, first, liar, no, ladder, book; Twice's balance, opsci, twice, onehand, corrected, writers; When's row, seen, date, stamp, dagger, mirror, plan; Witnesses' code, lang, tumbler, promise, instrument, crown; Zero's unset, zero, only0, names, me, count, exist, ready, nodie; Floors' floors, fourc, locks, below, tumblers, twoladders, pairing, count, lang; Running's five, hostrunning, spokes, sshfs, wheels, licence, count, smell; Roof's virtual, above, elevator, dot, five, many, memory; Rings' both, three, twothree, arguable, steer, bastion, drop; Wormholes' wormhole, kept, noabandon, example, opening, notyet, opened, nohits, home; and this page's rows, list, days, c4ql.
Two days, one evening: by the clock in the shop, six hours behind the rows' UTC, every one of them was seen on the 3rd.
None was gathered by asking C4. Its query language, C4QL, is "Not yet"; its first piece selects entries by name, with its guards "STUBBED BY NAME". A script read the facts instead. Goodnight, list.
What Pin wrote down, mark 1
"The witness row. One line per sighting, seven fields, in plain words: atom ... said ... seen: when it was seen true, in UTC ... by ... from ... sha: the hash of that record at that moment ... state"
- seen
- 2026-11-04 00:37:47 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, lines 34-42 (section 1)
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
The book's rows use these fields, with "fact" for "atom" and an optional note.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 2
16 spreads before this one; atoms per spread: Door 8; Letters 8; Seams 7; Doing 7; Spaces 7; Keeping 9; Proving 8; Twice 6; When 7; Witnesses 6; Zero 9; Floors 9; Running 8; Roof 7; Rings 7; Wormholes 9.
- seen
- 2026-11-04 00:50:01 UTC
- by
- python3 (spread.read_spread), run in the book folder
- from
- src/book, and the == facts == section of each spread it lists, door to wormholes
- hash
- sha256:19a73bf5ee00b3c5612da209f5047d8a3f2d5748339046255ba0b7aa0ae082f0
- state
- seen
The sha is of those sixteen spread files joined in book order (goodnight itself left out, since it holds this row). If another writer edits a spread after this was counted, the sha no longer matches: that is the gauge doing its job, and the list wants re-reading.
† One hand only: every row here was written by the same witness.
What Pin wrote down, mark 3
seen: lines on 2026-11-03 for Door and Letters (20:08:58Z to 20:08:58Z); on 2026-11-04 for the other fourteen spreads (00:13:56Z to 00:47:52Z).
- seen
- 2026-11-04 00:50:01 UTC
- by
- python3 (spread.read_spread), run in the book folder
- from
- the seen: lines of the spreads named in src/book
- hash
- sha256:19a73bf5ee00b3c5612da209f5047d8a3f2d5748339046255ba0b7aa0ae082f0
- state
- seen
"His log pasted at 08:14 CST (14:14Z)"
- seen
- 2026-11-04 00:37:47 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/q/2026-11-03-atom-dates/PLAN.md, line 105
- hash
- sha256:c7173ccf4ca322b30683f6ffd129ac34bbb97ebd03cce0e597f9ca5514353451
- state
- seen
CST is six hours behind UTC. The rows for Part Two were seen around 00:20Z on 4 November, which was about 18:20 on 3 November in CST.
Two or more hands (2). Where they differ, both are kept.
What Pin wrote down, mark 4
"C4QL — introspection, reflection; looks. Not yet. h/c4qa.sh v0 implements selection and says in its own header that its three constraint guards are STUBBED BY NAME. No grammar card exists."
- seen
- 2026-11-04 00:19:40 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/README.md, lines 110-112
- hash
- sha256:37fa9d9f44f031c05233c7481c3fd266b2e5cee688fd7bfb15e01dac377a2549
- state
- seen
"c4qa -- repeatable C4 introspection analysis over q/C4/ (C4QA), selected by C4QS ... Constraint guards (run-level -> indexed-only; named -> string-only; dual register invocations -> both) are STUBBED BY NAME below, minted when a guard first arrives. Born 2026-08-08."
- seen
- 2026-11-04 00:37:47 UTC
- by
- part-two (claude-opus-5-5), reading the c4 tree on Avalon
- from
- c4/h/c4qa.sh, lines 2-9
- hash
- sha256:a8882a602587be51d416df8a02a20e6e692d4366107b2fb01d2853df19e76e93
- state
- seen
It selects over q/C4/ only; it is not a query over atoms like these.
† One hand only: every row here was written by the same witness.
Thank you for reading with us.
Come back soon.
Colophon
Words and pictures: Copyright 2026 Corwin Brust; CC-BY-SA-4.0. Written and drawn by Mentat (for Corwin, claude-opus-5-5).
The narration made for the pilot (Chad's first visit, Door and Letters): Piper (GPL-3.0-or-later), with voices trained on LJ Speech (public domain), LibriTTS (CC BY 4.0, Zen and others, 2019), and LibriVox readings gathered by Bryce Beattie (public domain). COLOPHON.md names each voice and quotes its model card.
NEWS
So You Want To Build A Ghostwheel? NEWS, newest first * The whole book, draft 1 (2026-11-03) ** Seventeen spreads in two parts, with Chad's three visits. Part One is how we say things; Part Two is how a ghostwheel wakes up. Part Two follows the run-levels, which is the plan's lean on its fork F1, not yet Corwin's ruling. ** Facing pages, like a paper book. The title page has the dedication facing it; after that, the picture page sits on the left and the fuller page on the right. The words on each picture page go where they lead the eye. ** A map of the shop, inside the back cover and under M: a floor plan, a roguelike's tiles, and a board of cards. ** 159 witness rows behind 126 atoms. Ten of the atoms have rows from two hands; where those hands differ, both rows are kept. * The pilot (2026-11-03) ** Chad's first visit, Door and Letters, read in two takes (the company, and the lap reader) as a video, an mp3, captions and a slide deck.
ChangeLog
2026-11-03 Corwin Brust <corwin@bru.st> The whole book, from Corwin's tuning of the pilot (17:48): facing pages, words that lead the eye, and a map. * src/seams ... src/witnesses: Part One, spreads 3 to 10. * src/chad2, src/zero ... src/wormholes, src/chad3: Part Two, and Chad's visits. * src/goodnight.in, tools/inventory.py: every atom by day, written by a stage. * src/cover: the title on the arc. * src/book, src/easy, src/NEWS: the spreads, 92 easy words, this page. * tools/book.py: the picture book. * tools/slides.py: ladder and pair. * tools/spread.py: == layout ==. * checks/book.js, checks/run.sh: the book's promises, each with a fault planted to prove it. 2026-11-03 Corwin Brust <corwin@bru.st> The pilot: Chad, Door and Letters.