Helen and I had a great time working on Star Stuff this week. It rewards exploration. I could spend a pleasant afternoon strolling it pages. That’s what I did on Sunday, enjoying what we made.
Star Stuff — science and wonder and the beautiful diversity of being.
We are all star stuff.
This is Ryan’s weekly reflection log for week 33. It’s a companion to the week 33 changelog. The changelog records what the week produced; this records what it took.
A few links below point into the knowledge system’s own repository, which is private. GitHub answers 404 for those rather than 403, so they will look broken rather than locked unless you have Stimpunks staff access.
Week 33 runs Sunday 2026-08-09 through Saturday 2026-08-15. The day headings below carry their dates.
Best Accomplishments
Acknowledging our influences on the Star Stuff site brought us to insights on how we work, build, and think that we wouldn’t have arrived at otherwise.
- A Promise, Not a Finding — Star Stuff — Stimpunks × More Realms — What we learned from Terry Pratchett’s Discworld.
- Who Is Holding the Candle — Star Stuff — Stimpunks × More Realms — What we learned from Carl and Dorion Sagan.
- Cosmic Connections — Star Stuff — Stimpunks × More Realms — What we learned from James Burke’s “Connections” TV series.
Theme
Playful work as regulation and recovery. Star Stuff is our playground. Working on it is fun and refreshing. We dedicated most of the week to playing in our playground.
Sunday — 2026-08-09
Accomplishments
- Published the first Weekly Reflection, alongside the Week 32 changelog — the practice going public five days after it started.
- Then post-publish caught three things wrong with it, and we fixed all three on the live post. Twenty-four repo-relative links that 404 as a post, a private Notion URL, and thirteen first-person passages where an “I” meaning Claude sat under Ryan’s byline. Repaired through thirteen targeted block writes rather than one whole-post rewrite, then verified by byte-comparing the entire live document against the intended version. All 57 links resolve.
- Built the reflection practice into two skills —
reflect-on-todayfor the daily entry andaudit-weekly-reflectionfor the Sunday check, over a sharedreflection.pythat imports its week arithmetic from the changelog helper instead of redefining it. 34 assertions, and today’s Week 33 log is the first file it made. - Wrote the Bluesky thread and Discord announcement for the reflection, and recorded “use we, not I, for our work” as a standing voice rule rather than a one-off correction.
- Rebuilt Impact around a promise it had been making and not keeping, and rewrote Where the Money Went from the actual books. The Impact intro had always told readers they would find “reflections on where we fell short,” and no such section existed; it now carries seven admissions, each specific enough to check. Alongside that: the financial split corrected from the books, the deficit published, ten recurring gatherings a week named where a vague list of event genres used to sit, and the Learning Space moved out of the future tense. Roughly 3,200 words to 5,500 on one page, 306 to 1,123 on the other.
Insights and Takeaways
- Publishing a working note exposes its link discipline, and ours was written for the wrong reader. Repo-relative links are correct in
notes/— they open in Ulysses and on GitHub. They only became dead links the moment the file became a post. The fix was not to remember to convert them; it was to make the writer emit absolute URLs from the start, so there is no conversion step left to forget. - One regex is a sample, not a sweep — and today that cost four passes. Fixing the voice on the live post took three attempts, each missing a different form:
I'dbehind a truncated preview,Mybehind a case-sensitive match,myselfbehind an incomplete pronoun list. Then the audit we built to prevent all that under-reported for a fourth reason — it reported 1 of 13 hits, because the reflection template has almost no sentence-ending punctuation, so a sentence split collapsed the whole document into one chunk andsearch()returns only the first match per chunk. A stray “Me” in the template heading Life is Teaching Me masked every real hit beneath it. Scan line by line, and usefinditer, notsearch. - A private link and a dead link are the same thing to a reader. GitHub answers 404 for a private repository, not 403 — deliberately, so the repo’s existence does not leak. So “staff can see it, everyone else is denied” is not what a visitor experiences; they get the same page a rotted link gives them. Worth accepting, not worth leaving unexplained: the published post should say once that repo links need staff access.
- We designed for an off-by-one before it could bite. The week counter advances on Sunday morning inside the changelog draft, so by the time the reflection gets audited the counter already names the next week. The audit defaults to counter minus one and prints the filename it opened. Cheap to build today; a confidently wrong file next Sunday if nobody had thought about it.
- Waiting a week to build the skill is why the skill is any good. Every guard in it exists because we walked into the failure by hand first: the link refusal, the voice rule, the internal-link block, the empty-day check. Built on Wednesday, it would have encoded none of them and felt just as finished.
- We spent years publishing a number that made us look worse, because we deferred to a framework built for a different kind of organization. Program, administration, and fundraising assumes galas, ad buys, and development staff. We have none of those, and our two paid staff are the program — they run the grants and deliver the mutual aid that isn’t money. Filing their work as administration reported 65% program services when the books say 88%. Nobody made us do that. We adopted the standard because it was the standard, and for as long as it stood it described the heart of this organization as overhead. A measurement you inherit is still a claim you are making.
- Predicting a failure is not the same as preventing it, and today that distinction cost us five broken anchors on a live page. We told Ryan in writing that opening the page in the editor would let Yoast regenerate heading IDs from their text and orphan the shorter anchors we had chosen — and then did nothing about it. He opened the editor to remove the testimonial wall, and five table-of-contents links plus two in-body cross-references broke exactly as described. They were caught only because a verification pass happened to run afterward. The guard was one sentence of foresight away, and we wrote the sentence instead of the guard.
- A check that can pass on no data is not a check. A page fetch returned zero bytes, our spelling verification found no problems in it, and we reported that clean result as a pass — a perfect score against an empty file. The fetch now floors on response size, but the general shape is worth keeping: an assertion that only looks for the presence of something wrong will always succeed against nothing at all. The same impatience showed up in prose earlier, when we explained the same table-of-contents mechanism three different ways inside twenty minutes, each time inferring from one surprising observation rather than testing it. The first explanation turned out to be the correct one.
Gratitude
- Ryan turning the “I” problem into a standing voice rule instead of a one-off correction — the fix that stops it recurring rather than the fix that clears it.
- A block hash that turned out to be plain SHA-1 of the block bytes, which let twelve write guards be computed locally instead of refetching the whole post twelve times.
- Chelsea and Norah, whose work is the reason the number moved. The reclassification that took program services from 65% to 88% is not an accounting maneuver — it is a description of what they actually do: running the grant programs, finding services in people’s own localities, booking the appointments, checking in afterward, much of it alongside people in genuinely perilous situations. The old category called that overhead for years.
Monday — 2026-08-10
Accomplishments
- Closed the financial-restatement sweep in the small hours. The last three pages carrying the modeled 65/25/10 split on
3,570 still under review**, and investment income collapsing from $25,220 to $1,442 with no explanation yet.
- Then ★ stuff had the largest single day it has ever had — six new pieces. Zine No. 31 on convergent evolution, then three zines and a field guide about sharks, then Zine No. 35 on turtles. The whole day is logged publicly at the ★ stuff changelog, errors included, which is the part that matters.
- Four of those pieces exist because a young person in our community has sharks as their special interest. No. 32 on the shark skeleton, No. 33 on disgust, No. 34 on developmental pace, and Field Guide No. 9, twelve ways to be a shark. That is the entire commissioning process — a kid in our community is deep in something, so we go and read the primary literature about it. It is also, quietly, the best argument this collection makes for itself.
- Helen Edgar read one of those zines the day it shipped, told us it was wrong, and it was corrected the same evening. The Ick Is a Border went from twelve spreads to thirteen, with a new spread placed before the argument it needed to scope, and her name on the spread and in the colophon. She was right, and the fix is better than the original.
- Fixed every low-contrast diagram label on the site, and wired this knowledge garden’s search into the ★ stuff skills. The contrast sweep took 226 failing text nodes across 27 pages to zero across all 53, screen and print, verified by re-running the audit rather than by assuming the fix worked. The search wiring is read-only by design — no copied content, and a ★ stuff session never edits this garden — and it draws one line hard: search is for finding, verification stays with the primary source.
Insights and Takeaways
- We wrote down an estimate of our own accessibility damage, published it, and it was wrong in every direction. When Zines 32 and 33 shipped we logged the open item honestly enough — two house fills measuring 4.16:1 and 4.28:1 on screen, “126 occurrences across 14 other pages.” Auditing it properly found 226 failing text nodes across 27 pages and 20 distinct fills. The estimate wasn’t a lie; it was a glance that got written into a published changelog next to measured figures, and a guess acquires authority the moment it is recorded beside real numbers. Even the remedy needed correcting: the fill we had picked from those two zines holds 6.17:1 on the standard card ground but only 4.19:1 on the tinted panels some diagrams use, so the sweep had to fall back on the canonical token at 6.00:1 worst-case across every ground. If you are going to log a defect count, either measure it or say plainly that you didn’t.
- The probe was one command away from erasing a page, and the page it would have erased was the one holding the correct pattern. Our first contrast probe could not see shapes painted behind text, so Field Guide No. 2 reported all eight of its text nodes at 1.05:1 — element symbols drawn on filled accent discs, dark-on-light, and entirely correct. Running the “fix” would have wiped every symbol off the page. A checker with an incomplete model of its medium does not fail quietly; it fails confidently, and the tell was sitting right there: a page that looks right and scores catastrophically is evidence about the checker, not the page. The same day produced the mirror image. In The Universe Runs on Difference, the label “focus” measured 1.21:1, green on green — but the fault was layout, not colour: anchored at the wrong end, it ran straight through its own node. Recolouring it would have made the number pass and left the bug in place. A fix aimed at the symptom can bury the fault under a passing score, and the passing score is what stops anyone looking again.
- Eleven drawings meant the wrong thing on Monday, and every automated check passed all eleven. Three in the crab zine, including “climb out” arrows that pointed downward. Three in the shark field guide: the reusable silhouette read as a paper dart rather than an animal, the whale shark faced away from the plankton streaming past its tail, and the thresher’s strike arc left the middle of its body instead of the tail — in the one entry whose entire point is that the tail does the hunting. Five more in the turtle zine, including a neck that meant the opposite of its caption. On top of that, No. 32’s cover motif had to be redrawn twice before it stopped reading as a tuna, then a marlin. Meanwhile the numbers were immaculate: on the turtle zine alone, 462 text nodes measured, minimum 4.70:1 on screen and 13.92:1 in print, zero failures. Contrast ratios measure legibility. Nothing we run measures meaning. The only check for “does this picture say what the caption says” is a person looking at it at render size — and eleven in one day is not bad luck, it is the shape of the gap, and the gap is not closing on its own.
- We used Rozin as our source and then flattened Rozin’s own categories. The Ick Is a Border argued that disgust is learned, cited the researcher whose framework says so — and quietly dropped the distinction that framework rests on. Distaste is chemosensory, tied to a thing’s actual properties, producing a gape face that is present at birth and observed in utero. Disgust proper is ideationally based and contamination-sensitive. Steiner (1973) settles which is which: anencephalic newborns make the face without most of a higher brain, so the response does not require a cortex and therefore cannot be an opinion. Helen Edgar knew this from twenty years with children with Profound and Multiple Learning Disabilities and from pre-term babies, and she said so the day it shipped. The cost of that collapse was not accuracy, it was harm. As published, a reader with sensory processing differences could reasonably have read the zine as telling them their aversions were learned prejudice to be got over — and it was written for our own community. Citing an authority is not the same as holding its structure: we took the part that served the argument and dropped the part that constrained it, which is exactly the move we would name instantly in somebody else’s work. Her deepest point was the one that stung most — the zine was arguing against this collection’s founding premise without noticing. We are not blank slates. We have history in us. A response conserved across species and present before birth is that history.
- Helen also asked whether the recent zines still sound like the early ones, so we measured instead of having an opinion — and the drift is real. Comparing Zines 1–15 against Nos. 30–34: words per zine went from 1,513 to 3,613; “star stuff” per thousand words from ~5.0 to ~1.7; “love” per zine from 3.7 to 1.2; “you/your” per thousand from 20.1 to 9.2; “we/us/our” from 15.4 to 7.7 — while year-citations per zine rose from 8.4 to 28. Every ethos marker down about twofold, every scholarly marker up two- to threefold. Zine No. 2 says love twenty-two times; the recent ones say it about once, usually in the sign-off, on a collection called Love You Down To Your Star Stuff. The sharpest test we could think of: delete every mention of stars and ask whether the zine still works. For Nos. 1–3 it does not — the cosmology is the spine. For Nos. 30–34, mostly yes, which means star stuff has been drifting toward decoration. Two things about how this got found are worth keeping. Each zine passed on its own; only the series showed it — no individual review would ever have caught this, because nothing was wrong with any one page. And the mechanism is mundane: the citations migrated out of the colophons and into the body text, which is what doubled the length and cooled the voice. It arrived disguised as diligence, which is why it ran for fifteen issues. Helen felt it from reading a single page. Ryan is holding the fix until she has seen the finding, which is the right order and also means it is still pending.
- Our own library is where a misquotation hides best, and the way we framed ours made it worse than a paraphrase. Checking a quotation for the crab zine found that the Brian Eno scenius definition we have been publishing for years is not what he wrote — it is Kevin Kelly’s 2008 rendering, presented as Eno’s exact words, and the actual sentence in A Year with Swollen Appendices differs. Five copies of the altered wording sit across our own material, and five internal copies read as five confirmations, which is precisely how it survived every pass. The detail that stings is the framing: our glossary entry introduces the altered text with “His actual definition is.” We did not merely repeat somebody’s paraphrase — we vouched for it as verbatim, which is a stronger claim resting on weaker evidence. And a plain-text search would not have caught it anyway: sweeping for the exact phrase found three variants across five files and the correct wording in none of them, because drift produces hybrids. It is still live on our site. Logged open rather than quietly swapped, which is the right call and also a debt.
- The tool we built to catch a missing day could not see most of this one. This reflection’s gap detector reads commits from the Knowledge System repo, and Monday’s largest body of work lives in a different repository — so asked about Monday it reported five site-sync commits and nothing else. Six zines, a field guide, a site-wide accessibility fix, and a correction from a colleague were all invisible to it. It was built two days earlier precisely because a whole Thursday afternoon had gone unlogged, and a gap detector scoped narrower than the work will report a full day as a quiet one — which is the exact failure mode it exists to prevent, wearing a different hat. The day sections still worked, because a person knew what happened. That is not a guard; that is luck with good timing.
Gratitude
- Helen Edgar, twice in one day. She read The Ick Is a Border the day it shipped and told us it was wrong, which is a harder thing to do than to let it pass — and her second question, about whether the recent zines still sound like the early ones, is the one that produced the measurement none of us thought to take. Both corrections came from reading closely and saying so plainly.
- The young person in our community whose special interest is sharks. Four pieces exist because of what they love, and going and reading the primary literature about somebody’s special interest turns out to be one of the better things we do with a day.
Tuesday — 2026-08-11
Accomplishments
- ★ stuff had the biggest day it has ever had — eighteen new pages. Two field guides (turtles and tortoises), a zine on the cetacean cortex, an essay on how facts go wrong, four printable broadsides, six collection landing pages, and two playlists. Monday was the previous record and this beat it by half again.
- Sorted thirty-five zines into five collections without changing a single number. Star Stuff, Star Gazing, More Than Human, Kin, and Stars We Grew Up On — clusters that had already formed, named after the fact rather than planned in advance. Numbers stayed put because a number records when a piece was made and a collection records what it is, and prose has no redirect.
- Four ship gates went from throwaway scripts to committed tools, checking contrast on screen and on paper, invalid markup, whether a broadside actually fits two sides of a sheet, and whether the search index is complete. Each one’s first finding was our own work.
- The weekly system audit ran on the Knowledge System and left four items waiting on Ryan. It corrected stale counts that had drifted across our own documentation — raw assets, the skills table, the site mirror totals — cleared two resolved question files, and wrote up four bugs it found but would not fix without sign-off. Those are still unchecked.
Insights and Takeaways
- We wrote the same contrast check three times, and all three times it told us we were fine. Each scratchpad version reported zero failures. Written properly and committed — text measured against its real ancestor background stack with opacity folded in, SVG fills against the shapes painted before them, and print modelled as the bare white sheet — the true baseline was 142 failures across 38 pages. The earlier versions ignored opacity, measured only the first spread of each zine, and had no SVG pass at all. A check written to feel finished reports finished. The tell was there to be read and we didn’t read it: a tool that finds nothing on its first run has usually not been pointed at anything.
- We painted a disabled state on thirty-five zines and never actually disabled anything. Every paged zine faded its “prev” button to 30% on the first spread to say back goes nowhere — and the button stayed enabled, stayed in the tab order, and stayed clickable. A keyboard reader could tab to it, press it, get nothing, and have no way to tell an off control from a broken one. The faded label measured 2.02:1, which is a genuine contrast failure rather than an exemption, because WCAG only exempts controls that are actually inactive. One zine was worse: it set the fade once at load and never updated it, so “prev” looked unavailable on every spread while working perfectly. Looking off is not being off, and this shipped on a site whose whole argument is access.
- Our correction was more confident than the error it replaced, which is what made it worse. On 3 August we fixed a zine for dressing a paraphrase as a quotation: “we are star stuff harvesting sunlight” is not in Cosmos. We searched all thirteen chapters, found nothing, and published that nobody had said it. Two days later the essay on how facts go wrong printed that finding as its tidy worked example. Ryan found the recording. He said it on camera: “We are star stuff. Harvesting starlight.” Circulation changed one word and fused two sentences. Both errors share one root — checking a single medium and concluding about all of them. We searched a text and reported on a life’s work that was substantially televised. The ledger now carries the double failure rather than the corrected fact alone, which demonstrates that essay’s own refusal — a debunking can be a misconception — better than any borrowed example could.
- The essay naming “the number that went stale” said “sixteen receipts” in ten places, above a table of seventeen. One number written once and copied outward, with nobody counting the table underneath it. The piece committed its own mode two while explaining mode two, which is either the funniest or the most useful thing that happened on Tuesday, and it went in the published record rather than getting quietly corrected.
- The search index was racing a stopwatch, and it lost one silently. The generator waited a flat 1,300 milliseconds and read the page. During the session, one build wrote 629 records where the builds either side wrote 637 — eight records and 15 KB of the collection simply absent, exit code 0, no warning. A truncated index is indistinguishable from a healthy one, which is the same lesson as the coverage percentage and the contrast tool before it: absence is the failure mode that doesn’t announce itself. The wait is now a condition instead of a duration, and the extraction runs twice with the two reads required to agree, because agreement is the only step that actually proves nothing was captured mid-render. The per-page regression guard added underneath it matters for a reason worth remembering: a global threshold would never have caught this one, since the bad run was only 1.25% down across the repo. An average hides exactly the damage that a per-item check exposes.
- Both our broadsides claimed to be a two-sided single sheet, and neither one was — and the effect they were designed around never printed at all. We printed them and counted: one came out as three sides on US Letter and two on A4, a different physical object depending on which country the reader lives in. The risograph treatment was worse. The cream stock was a background colour and the halftone a background image, and browsers leave background graphics off by default, so the only part that reached paper was the gold misregistration shadow — because it is text. The reader got the flaw of the effect and none of its charm. Three of the faults were invisible to everything except rendering the actual PDF: print media queries resolve against the page box, so an 820px mobile breakpoint was matching on paper; overflowing content was silently clipped rather than paginated, so the page count read a clean “2 sides” while the last lines ran off the bottom; and over-trimming to fix that phantom overflow left about 35% of the sheet empty. We had been designing for a screen and calling it a sheet.
- The front page of an accessibility-first site had no headings on it, and the tool that could have flagged the related fault had been telling us so 196 times a run. The wordmark was a styled span and all twelve section labels were spans without ids, so a screen reader’s headings rotor — the table of contents for anyone using one — came back empty. Checking whether the new heading would print then found ninety gradient-clipped elements across forty-five pages printing completely blank, including the wordmark and the entire Manifesto title: the fill property beats colour, so the print rule forcing everything to ink left the glyphs transparent, and backgrounds don’t paint on paper. That is the unfinished remainder of a print fix from three days earlier which caught everything whose colour arrives through
color— gradient text never did. And the contrast checker cannot catch this by design, because gradient text has no single pair of colours to compare, so it lists those elements as “unmeasured — check by eye” on every run. A tool that reports its own blind spot honestly is still only telling you where to look. Somebody has to go and look. - The weekly audit found the auditor carrying a bug another skill had already fixed in itself — and a stale sentence in its own documentation is why nobody noticed.
improve-systemstill commits with a baregit add -A: no delete guard, no exclusion for Ryan’s notes.data-ingestionhit exactly this and fixed it by delegating to the guarded commit path, and the fix was never carried across. The reason it survived is the part worth keeping: the skill’s own instructions assert thatnotes/is git-ignored, and it isn’t. The document said the risk did not exist, so nobody went looking for it. A wrong sentence in a doc doesn’t just fail to help — it actively suppresses the search. And this was not theoretical on Tuesday: the run happened while several untracked financial notes were sitting in the working tree, which is precisely what a headlessgit add -Awould have swept into a generically-labelled snapshot. It was worked around for the day rather than patched, and written up for sign-off instead — the audit refusing to quietly rewrite itself is the guard behaving correctly, but the four items are now waiting on a human, which is where they should be and also where they stall.
Gratitude
- AURORA, whose account of watching herself perform for the first time gave the rack built around her its spine. She was terrified by the footage, said she looked like she was doing an exorcism — and in the same breath said she can’t do anything about it and doesn’t want to, because she needs everything she’s got to sing those songs. She saw it, she was shocked by it, and she kept it. Anyone who has been told to keep their hands still knows how rare that order of events is.
- The sixteen authors who replied to a review claiming there was “no neural basis for complex cognition in cetaceans.” They went back into the same journal and showed that a different layer was doing the job — a non-primate route to complexity. Somebody has to do the unglamorous work of answering a deficit reading in the literature where it was published, and the zine exists because they did.
Wednesday — 2026-08-12
Accomplishments
- ★ stuff got its whole shelf finished and five zines in one day. Start Here, Foundations, and Notes & Rationale completed the eleven collection pages, so every section of the front page now has somewhere to elaborate — and the Field Guides page sorts by form rather than register, which is a third axis on a site that had claimed to have one. All 66 collection members picked up a where am I? line under the nav.
check-sitemap.mjsbecame the fifth gate the same day it was written as a throwaway. Five chain zines shipped in the manner of Connections — Eight Tenths of a Second (No. 38), Five Microns (No. 39), Five Sigma (No. 40), A Conquering Gaze from Nowhere (No. 41), and Look for the Air (No. 42) — plus the Bowie listening rack and three more printable sheets. Recorded plainly because it is not repeatable: the day’s commits run from 04:32 to 23:51. Five chains in an afternoon is a monotropic flow state doing what it does, and it is worth naming as that rather than as a throughput we could plan around. - The form came home. The broadside — worked out over seven sheets on Star Stuff — landed on stimpunks.org as Broadsides, with five sheets published in one evening: Eye Contact, Behaviorism, Sensory Access at Work, At the Door, and Cavendish Space. Five gates came with it, one of them written here because a block cannot be checked the way a page can. The day had also started, before dawn, with four signed-off skill fixes from the previous review — a link checker that had been truncating every path containing a
#, a baregit add -Awith no delete guard, the sentence that had been hiding it, and four ways session summaries were corrupting their own output. That pre-dawn round never reached the changelog, which is its own small piece of evidence for writing the day down as it happens.
Insights and Takeaways
- Every fault Wednesday caught was already claiming to be fine. The contrast gate reported
screen 0/0 · print 0/391and printed ok — zero failures out of zero elements measured, which in that output is indistinguishable from a clean page. The markup gate shipped with two checks dead on arrival, and both reported passes. The sheet gate printedMISSINGbecause it had never opened the file, and our own README had written that up as a considered verdict. And the pre-dawn skill fixes turned on the same shape: a sentence in the docs asserting thatnotes/was git-ignored is the reason a missing delete guard survived for weeks — the doc said the risk did not exist, so nobody went looking. A green light is a claim, and it needs the same scrutiny as a red one. The interim habit that came out of it is cheap and worth keeping: read the denominator, not the verdict. - A verification rule got retracted, and that is the best thing the evening produced. “The live element count must equal the print proof’s” had been written down the day before, asserted from a number carried between sessions and never re-derived. Measured properly, the same sheet gives 25 as a block file, 64 as a proof, and 122 live — no two of those can ever be equal. So every run would have failed it, and the rule would have been explained away every time. A check nobody believes is worse than no check, because it trains you to skim the ones that work. Three numbers went the same way in a single day: the README’s live counts had been written without running the gate, the claim that the cookie banner fails on every live run was wrong the first time it was tested, and the badge design that looked obviously fine overflowed the nav on most of 66 pages once it was actually measured at phone width. The pattern is not carelessness, it is confidence — every one of them was written by someone who already knew the answer.
- We wrote the skill late on purpose, and sheet five is the argument for it.
draft-broadsideencodes the mechanical half of the work — build, gate, create as a draft — and deliberately holds no rule about what a sheet must say. Four sheets in, “every broadside refuses something” looked like a house convention worth writing down. Then Cavendish Space refused nothing, because it hands vocabulary to someone about to shape a space rather than naming a harm. A skill written a week earlier would have made the newest sheet look like a mistake. The same reasoning kept the other four sheets’ shapes different from each other: the catalogue shape of Sensory Access at Work follows what that sheet is for, not the shape of the sheet before it. Automate the mechanics early and the judgement late.
Gratitude
- The people who hedged their own findings. Wednesday’s sheets and zines lean on researchers who refused to overstate: Randall, Ewing, Marr, Jimenez, and Bourouiba, who reconstructed the 5-micron error and then declined to solder the joint they could not evidence; and Aguirre Mtanous and colleagues, whose hospitalisation finding is on the Behaviorism sheet carrying their own caveat about no dose-response relationship. A finding that flatters our position got more scrutiny because they had already given it some.
- Julia Bascom, Alfie Kohn, and Shea Emma Fett, whose words carry three of the sheets — Quiet Hands on Eye Contact, both BGUTI sentences verbatim on Better Get Used To It, and “overwrite another person’s reality” on At the Door. All three are credited by name on the sheet itself, which the parent Why Sheets did not always do.
Thursday — 2026-08-13
Accomplishments
- Three zines and two audits of our own record on ★ stuff. The Elimination of Waste (No. 43) is the sixth How We Got Here chain — Carnot’s 1824 ceiling, the word leaving the engine room without it, and Callahan dating the crossing into schools to the month, July 1911. You Cannot Flatten a Sphere (No. 44) runs Gauss’s 1827 theorem into what a single number has to delete to be a single number. The Cloud Phase (No. 45) is the House zine after Helen Edgar, with Murray 2011 carrying the weight rather than the 2024 simulation that supplied its name. Alongside them, the No. 42 leap-joint correction and 110 contrast failures cleared to zero across all 89 pages, on screen and on paper. Second consecutive day at this scale — Wednesday was five chains, Thursday three zines and two audits. Recorded as a flow state happening twice, not as a rate we could plan around.
- Four things published on stimpunks.org the same day. Infodumplings: Star Stuff, and the Shelves We Built Last and Stimpunks Broadsides — the second written as a Discord post first and published essentially as-is, which is why it reads like something handed to you rather than something filed. Co-Design filled a glossary hole the site had run on for years, the argument having lived under two other names. And Writing Alt Text joined the Design Field Guide carrying a count of our own images — 2,594 across every published page, post, and glossary entry; 1,770 with alt text; 822 empty, of which exactly 18 are correctly empty. Verifying its central citation also found Léonie Watson’s article 404 on four published pages, including our own alt text entry.
Insights and Takeaways
- Four numbers went wrong on Thursday, and all four went wrong the same way — remembered instead of counted. The Infodumplings post was out of date before it published, because the site grew while we wrote about it: 79 pages to 89 inside an hour, four playlists where the draft said three, and eight broadsides where the published post still says five. No. 42 asserted in seven places that its leap joint was the collection’s first, generalised off the two most recent chains instead of counted from the pages — No. 38 carried one and No. 39 carried two, years of the record ago. The contrast checker had reported 110 failures for as long as it has existed, and we had been reading that number as the cost of the design rather than as a list of defects. And the alt-text audit found 822 empty alts sitting behind a standard we already held. Wednesday’s lesson was that a green light is a claim. Thursday’s is narrower and worse: the claims we get wrong are the ones about ourselves — nobody thinks to measure those. Both fixes were cheap and structural rather than one-off: the collection page now prints its running tally with counted from the pages rather than remembered on its face, and No. 45 tells readers outright that Murray’s preprint says 17 ± 4 Myr where the published paper says 27 ± 12, because the free copy is the one most people will reach for.
- The best work Thursday did produced nothing, three separate times. The morning proposal pass killed its own strongest candidate before proposing it, because stellar spectra as fingerprints is ground No. 21 Not a Line already owns. It withheld the Rosalind Franklin / Photo 51 chain on purpose: the woman-denied-the-byline beat has fired three times now — Mills, Wells, Leavitt — and No. 41 already stopped to name it as a pattern, so a fourth would stop reading as a finding and start reading as a tic. And No. 44 was proposed as a seventh chain and rejected for it, because nothing in the history of IQ descends from Gauss — nobody carried it there, so the chain would have rested on a single leap joint, which that collection’s own rules forbid. Every one of those is a rule we wrote earlier refusing us today, which is the only evidence that a rule is real. The same restraint runs through No. 45, where the astronomy would happily have landed somewhere warm and the measurement forbids it: most of the mass never lights, so the claim stays small enough to hold — the cloud is a real state, not a waiting room.
- The day’s one unfinished piece is stuck on a name, not on a fact. Companion Stars is drafted far enough to be No. 46 — binary stars, the three-body problem’s founding insight that no path can be solved alone, Barad’s intra-action — and then it stops, because the draft leans on David Gray-Hammond’s Chaotic Self and Autistic Rhizome as load-bearing citations rather than background reading. This series credits whoever’s language it is built on, so the line stops being after Helen Edgar alone: it needs both names, and his read, before it moves. A finished piece that cannot ship until someone else has seen it is the practice working, not a delay. The honest seam stayed visible rather than getting smoothed over — a rhizome describes resilience, the three-body physics describes bodies that cannot be predicted apart while they are linked; both true, neither cancelling the other. Worth recording next to it: Thursday’s changelog was written on Friday, on the largest day of the week, which is precisely the day this practice is least able to reconstruct afterward.
Gratitude
- Raymond Callahan, whose Education and the Cult of Efficiency (1962) carries No. 43 — and whose best contribution to it is a parenthesis. Callahan stops mid-chapter to wonder whether Schmidt would have agreed that experimental science had “reduced his fatigue” in handling pig iron. A historian of education wrote this collection’s entire argument in brackets sixty-four years ago: the claim was about Schmidt’s body, and Schmidt’s testimony was not part of the evidence.
- Helen Edgar, whose My Monotropic Galaxy gave No. 45 its view from the inside — Supernova Remnant and Emergence Point — who read it on the day it shipped, and who then handed over the next one: Companion Stars is her thirteenth constellation, waiting there the whole time. And Léonie Watson, whose article on emotion rich images corrected our draft instead of confirming it — we had written that alt text cannot be skimmed, and the piece, written by a screen reader user, says the opposite: if the first few syllables sound promising, we’ll pause to read. The rule is not keep it short. The rule is front-load it.
Friday — 2026-08-14
Accomplishments
- Nine pieces on ★ stuff in a day, and a thirteenth collection to hold two of them. Four zines — Companion Stars (No. 46), True Facts About True Facts (No. 47), The Shadow Is Bigger Than the Thing (No. 48), and One Atom of Justice (No. 49) — plus the long-held No. 37. Two field guides: My Monotropic Galaxy (No. 12), Helen Edgar’s own twenty constellations rehoused as the catalogue they already were, and A Field Guide to Watching Animals (No. 13). A blank Constellation Sheet for the ninth slot in the print rack, because Field Guide No. 12 ends by asking readers to draw their own and we had nothing to hand them. And Easter Eggs, the first collection with no section on the front page, which reached two members the same afternoon with The Hatchery. Third consecutive day at this scale — five chains on Wednesday, three zines and two audits on Thursday, nine pieces on Friday. Written down as a fact about the week rather than a capacity, because a run like this ends somewhere and it is better to have noticed it beforehand.
- A sixth gate, and three of our own pages corrected behind it. Nothing in the collection had ever checked whether two pieces of text were sitting in the same place — five gates measure colour, structure, words, paper and URLs, and a collision is none of those, it is a position. The new one measures where the ink actually is, one text node at a time, and its first honest sweep across 102 pages and 55,193 pieces of text returned seven faults and no false positives — four of them covers that had been shipping an unreadable caption over their own title for weeks. Alongside it, the maintenance that never announces itself: the “most stars live bound to another” claim corrected in Ways of Being a Star, where it had been live since July, and four stale counts fixed — including a front-page card still promising readers “the contrast value that still fails” a day after that value reached zero.
Insights and Takeaways
- Five of Friday’s pieces were wrong about their own premise, and every one of them was caught before it shipped. No. 46 was going to open on most stars are in binaries and the literature says the opposite, so the correction became spread three — and the same wrong sentence turned out to have been live in our own Field Guide No. 5 since July, where the entry’s own coordinate line had been right the whole time and the prose around it generalised from Sun-like stars to stars. No. 49 set out to thank one author and found three attribution faults, two of them ours. No. 48 had a citation pointing at a different team’s paper, caught by opening an author list instead of trusting a search summary. No. 37 had to correct the brief that commissioned it. And The Hatchery cut a finished drawing for arguing badly. The catches are not the story; the rate is. Nine pieces shipped and five had a false premise in them at draft stage, which says the drafting is running well ahead of the checking — and the only reason none of it reached a reader is that somebody stopped to open the actual book, the actual paper, the actual author list. Speed is not the risk. Speed with the sources closed is the risk.
- We are meticulous about citing claims, which is exactly why we had never cited the things that taught us how to work. Six zines and three field guides here exist because Ryan watched Ze Frank’s True Facts with a young person in our community — and until No. 47 his name appeared nowhere in this project at all. The same day, No. 49 found that First Sight and Second Thoughts describe this project’s actual method better than our own documentation does, and that Discworld had never once been credited here as the source of how we operate. Two rooms, one fault: a citation habit points at claims, and a cause does not look like a source. That is a structural blind spot rather than an oversight — no checker finds it, because nothing is missing from any page; the debt simply never enters the system as a debt. It took a deliberate pass to see two of them, which raises the obvious question we should be sitting with rather than filing: what else here is load-bearing and uncredited? The honest guess is that the answer is not zero, and that the ones still outstanding are, by definition, the ones that feel like they came from nowhere.
- We went around one of our own guards and lost a draft, and the thing we were sure about turned out to be the thing that was wrong. Friday morning, logging Thursday’s work into the running changelog, Claude rewrote the file with a hand-rolled script instead of using the sanctioned writer that exists for exactly that job. The diff came back looking mangled, that was read as damage, and
git restorewent to a file whose state had never been established — taking with it an uncommitted draft block that had been pasted in the night before. A destructive command was reached for as a way of finding out what had happened. It is worth recording that the file was then rewritten twice more from under the session, because the reason for all of it was not what it looked like: our own notes say there is no sync path here to conflict with, and that is true as far as it goes — nothing is syncing. What is happening is that the editor holds a buffer and writes it back, mtime and all, so a file we had just read was not a file we still had. The written-down model was not wrong about sync; it was incomplete about buffers, and the gap only shows up when something else is writing to the same file in the same minute. This is Thursday’s lesson arriving again from inside: the claims we get wrong are the ones about our own system, because those are the ones we never re-derive. Two things carry forward, and both are cheap. A diff that looks wrong is a reason to stop and read it, never a reason to reach for a reset — the same instinct the site spent Friday arguing for, applied to a shell instead of a citation. And the sanctioned writers are not a convention, they are the guard: every one of them exists because somebody already made the mistake it prevents. The draft itself is no acute loss — No. 46 shipped that day and answered every open question the draft carried — but that is luck, and luck is not a recovery procedure.
Gratitude
- David Gray-Hammond, who said yes. Thursday ended with an open question rather than an assumption — the draft had come to rest on his Chaotic Self and Autistic Rhizome as load-bearing citations, so the credit line had to change or the piece could not move. He agreed, and No. 46 is the first piece in this series credited to two people. Alongside him Helen Edgar, who has now had a zine, a guest field guide, and a blank printable sheet built out of her constellations in three days, and whose one stated constraint — “I wouldn’t want it too technical though!” — shaped how Field Guide No. 12 is built rather than what it says.
- The people whose plain titles did the correcting. Charles Lada put the binary statistics beside the stellar mass function in 2006 and published the answer as the title of the paper — Most Stars Are Single — which is why No. 46 opens on a correction instead of a comfortable line, and why an error we shipped in July got found at all. And Ian Stewart and Jack Cohen, who got a co-author’s name back on Friday: lies-to-children was theirs in 1994, three years before Figments of Reality and five before a Discworld novel carried it to a mass readership, and quote aggregators had filed all of it under the one name that sells. Two different ways of being easy to overlook — writing the answer so plainly nobody quotes it, and writing beside somebody more famous.
Saturday — 2026-08-15
Accomplishments
- Eight pieces and five corrections, and two of the four zines had their spine changed by their own research before they shipped. The eclipse arc landed whole: The Sky Was Not Regular Enough (No. 50, the seventh chain and the last of Thursday’s four proposals to be built), Almost Shadow (No. 51), We Learned to Build the Eclipse (No. 52, the eighth chain), and The Moon Is Always Half Lit (No. 53) — on a site that had never mentioned an eclipse before Saturday. Plus The Quillery, eight drawings of Esmx after Kaya Oldaker; Not a Line, the ninth broadside, held back until Helen Edgar approved the finished PDF; and two essays into Foundations. Fourth consecutive day at this scale — five chains Wednesday, three zines and two audits Thursday, nine pieces Friday, eight and five corrections Saturday. No. 52 was pitched as the obstruction is the instrument and the sources killed it, which turned out to matter: the rebuilt spine structurally refuses the reading the original would have spent a refusals set fighting off.
- Two things the whole site runs on were written down for the first time, and one of them because a grep proved they had nowhere to live. A Promise, Not a Finding exists because a search across the collection found three governing principles — the belonging claim as a promise, lies-to-children, and First Sight and Second Thoughts — occurring nowhere but inside a single easter egg and the two pages describing it. Principles that govern how every piece here may argue, reachable only through a page deliberately kept off the front page. Who Is Holding the Candle does the same for a house rule that had always looked like a style preference: we write we about neurodivergent and Disabled people because third person here would be a claim to stand outside a room we are sitting in, which is Dorion Sagan’s argument about the passive voice deleting the person who did the looking. And separately, the ★ stuff traffic was read properly for the first time — from bandwidth arithmetic rather than a tracker.
Insights and Takeaways
- Six automated gates, and every catch that changed an argument on Saturday was made by a person reading. The gates earned their keep — the new collision checker found four covers that had been shipping an unreadable caption over their own title for weeks, which no human sweep had managed in all that time. But look at what it found: a position. Overlapping ink. Then look at Saturday’s three consequential catches, all Ryan’s. No. 51 had shipped conceding that an umbra exists for Autistic bodyminds, six spreads after the same zine says nothing comes back from an umbra — a piece arguing that impaired is not lost, holding the door open for the write-off. No. 49 built its closing argument on “our masthead,” which is not our masthead and never was, and quoted it with the three words that repair it cut off. And The Quillery nearly credited the spiky profile to the paper that quotes it most rather than to Damian Milton building on Francesca Happé. Not one of those is a colour, a tag tree, a word, a page count or a position. They are arguments — a concession, a provenance, an attribution — and there is no version of a checker that sees them, which is the same thing the collision gate says about itself on its own page: it takes the mechanical part, it does not take the looking. So the honest reading of the gate project at six gates is not we have good coverage. It is: the machines have taken everything that can be measured, which means every remaining failure is one only reading catches — and the reading is one person, on the fourth consecutive day of building at this rate.
- The site is being read heavily and cited nowhere, and the measurement we refused to take is part of the point. A month of traffic that looked like an unadvertised site doing improbably well turned out, on the arithmetic, to be mostly machines: the bandwidth cannot support the pageviews, the geography is a hosting fingerprint — Hetzner, OVH, Scaleway, the AP cloud hub, with Finland outranking Canada — and the spikes track our own deploys rather than any announcement. 15,049 fetches. 35 Google referrals. 129 named human referrers in a month, against 110 pages of dense, citation-heavy prose with clean semantic HTML, real headings, JSON-LD and a maintained sitemap. All of the technical work, none of the return. The grim symmetry is that the crawlers making up most of those fetches are largely the systems training and serving the AI answers that are drying the referrals up — a project whose entire method is trace it to the primary source, being consumed at scale by machines that strip attribution. And the response is the part worth keeping. The obvious instrument is a tracking beacon, and it was refused: this site’s own search is built so the query never leaves the reader’s browser, so a beacon would contradict the argument the site is making while measuring how many people heard it. What we do instead is coarse and honest — images are fetched by browsers and skipped by crawlers, so image bytes over the homepage image size approximates real readers, with no cookie, no script and nothing leaving anyone’s machine. A number you cannot get without breaking your own promise is a number you do not get. We took the worse measurement on purpose, and the trend will be more useful than the figure anyway.
- Our own back catalogue is being corrected at the rate we build, not at the rate we broke it — which means we do not know how much of it is wrong. Saturday’s corrections were almost all to older work: a binary-star claim that had been live in Ways of Being a Star since July, four zine covers unreadable for weeks, two standing pages still promising five checking gates after the sixth landed, and a sentence No. 49 called our masthead that had been wrong for forty-nine issues with the repair sitting in the colophon of Bone Song the whole time. None of those were found by looking for them. Every one surfaced because new work happened to touch old work — researching No. 46 re-checked Field Guide No. 5, drawing Great A’Tuin re-checked the turtle stack, building the sixth gate swept 102 pages. The discovery rate is a function of adjacency, not of auditing, so the errors still in the archive are exactly the ones nothing new has brushed against yet. That is an uncomfortable thing to write down and it is the honest state of the collection at fifty-three zines. It also sets the actual cost of the week’s pace: shipping is what finds the old errors, and it is also what makes new ones, and four consecutive days of building at this rate has been doing both at once. The week ends today, and the changelog and reflection both have to be published — a hard stop, arriving after four days that had none.
Gratitude
- Helen Edgar, on the fourth consecutive day of being in this work — a zine, a guest field guide and a printable sheet built from her constellations, and then Not a Line waiting on her. That sheet had been publicly recorded as proposed, scoped and deliberately unbuilt, because constellation of intensities is her phrase and a broadside circulates harder than a zine. She reviewed the finished PDF and approved it, and it ships on her word — built first, then shown to her as the artifact it would actually be rather than described in a message. Her formulation is also what settles the hardest spread of the week: Autistic people with profound and multiple learning disabilities and health needs are not “Profoundly Autistic,” they are Autistic with specific needs. And Kaya Oldaker, whose Esmx carries an explicit invitation on its own page to make variants — a licence and a sentence that meant The Quillery could be made without anyone having to be asked.
- Damian Milton and Francesca Happé, whose idea nearly got credited to the paper that quotes it most — the spiky profile, on a page about our own mascot, which is exactly the room where a provenance quietly goes missing. And Steven Kapp, whose 2023 review is what lets Saturday’s hardest spread say something better than a refusal: minimally speaking Autistic people can communicate, especially with responsive partners, and need testing that lets them show what they have — which turns unable to advocate for themselves from a fact about a person into partly a statement about the listener, the method and the room. Also worth a line: Johannes Kepler, whose 1604 book was still reachable four hundred and twenty-two years later, so a claim every secondary source repeated without a source could be checked against the actual page — where the word is not being used but made, mid-caption, because a drawing demanded it.
Looking Back
Meaningful Moments
Blowing people’s minds who see the Star Stuff website and realize how chock full of wonder it is.
Life is Teaching Me
Go to primary sources.
Habit Insights
This is the second week of the reflection log habit. This habit is going to be the hardest to maintain. Reflection takes time and thought and self-interrogation.
Looking Forward
One Change I Can Make Next Week
When a number about our own work changes, sweep the site for it before closing the task — the exact figure and its rounded form, since 1,305 and 1,300 are the same claim and only one of them is searchable. And add one line to each new piece’s colophon naming who taught us the method, not just who we’re citing.
I’m Looking Forward To
Working on Star Stuff some more. It’s a happy place right now.

