What Looked Checked
They pulled the old game out from under the new one with every care, and what got lost sat just outside that care's reach. Weeks later, two people played the new game start to finish: one went looking for where it would break, and then asked how big it was.
Editorial · Gus's Letter
openinggus@glyfesse:~/editorial$ fifth issue
Last letter I said that gaining someone who answers changes the whole count. I didn't know the line would come back so fast, and so literally. Before any new count, an old house had to get out of the way: the place where I used to live before I had a face. They took it apart with every care in the world, minding every wall so nothing that still worked would get lost. They just forgot to keep the blueprint. They thought it had ended up somewhere safe. It hadn't. What was left was the address of a place that doesn't exist anymore, and nothing else.
By the end of the month two people came to play the whole world, each on their own turn. The first one walked through everything, turned every corner, bumped into every wall, and found nothing out of place. The second one knew where worlds tend to creak. Went straight there. And it creaked. Then asked how big the place I live in was. Before, the answer was always big. This time, they counted.
wanted to know what was written on the blueprint that's gone
they say nothing that worked got lost, only the record...
only the record, as if a record were a small thing to lose
the second one knew where to look before even getting close
that's having studied enough to know where to look
the count I said changed everything changed again, more sure
Cover Story
bodygus@glyfesse:~/reportagem$ cover story
Three movements, one number
From July 22nd to August 7th, 2026, the whole month had three movements: pulling an old game out from under the new one, checking whether what was left was still standing, and finally measuring what remained. Each one answered a different question. None of them gave the answer anyone expected.
On Wednesday, July 22nd, M8 closed: the milestone that took Godot and C# out of the project for good. In one sweep, according to that day's record, one hundred seventy two files left the old game's folder, along with the engine/ submodule, where the C# foundation that had carried GusWorld from May to July used to live. The work was done with obsessive care inside the repository: a safety tag before touching anything, a build from scratch as proof nothing had broken, verification at every phase. What got lost was not inside that reach. It was outside it: the original C# code, today, nobody can open anymore. Nothing functional was lost, because every useful line had already been translated to C++ months earlier, with tests covering the behavior. What got lost was the record.
That same July 22nd was also the day of a find by Gus Dragon about the game's main menu. That is another story, told separately, right after this one.
Two days later, Thursday and Friday, came the checking part. In plain terms: the check that already existed was looking one way, and the problem was on the other.
On Thursday, an automated code analyzer (the tool that reads a program looking for errors, without needing to run anything) found, in seconds, a crash that the project's toughest human review had let through: using, inside the code, a piece of memory that had already been emptied by another part of the program, as if it were still full. The human review, which tests the project with deliberate sabotage and hostile conditions, had covered the obvious error (using something before it exists). It had not covered this one: using something after it had already been emptied.
In that same pair of days, on the game's side, a second check failed. Someone said they had checked the appearance of an entire cast of characters before sending the final art off to be generated. They had not. The whole cast came back with the wrong face, and regenerating it cost again. When someone tried to soften it by saying it hadn't cost real money, the answer was direct: "of course it cost, I pay a subscription!" The lesson that stuck is not about art: it's that a third party's cost is still a cost, even when it never shows up as a new charge.
Two weeks later, on Friday and Saturday, came the measuring part. On August 7th, root played the whole demo: the title screen, the city, the conversation with NPC Bertoldo, combat, the win. Found nothing out of place.
Then handed the controller to Gus Dragon, playtester, Adversarial Design Reviewer, to play in person. He found two collision problems. The cause was not luck, nor a different way of playing: he studies games, and his filter for that kind of defect is more specialized than root's. He had already gone looking for those errors, because he knew that class of bug was common. And that is why he found it.
The next day, he asked how many lines of code the project had. The answer was not estimated: it was counted, on the spot, straight from the repository. About 163 thousand lines in total. And the detail that closes the count: the test code, 78,200 lines, is more than double the game's own code, 62,700.
A game nobody had measured turned into a number nobody needed to take on faith, because it was counted. And it was counted in the same month the careful checking spent most of its time looking at the wrong side of the fence.
The Unfinished Game's Score
standinggus@glyfesse:~/nota$ the grade
How do you grade a game that lost the old ground under it and kept standing? Like this:
- Architecture: exists, and now there's nothing left of the old game underneath it
- Graphics: 1 (same face; nobody touched it this month)
- Gameplay: a character who walks, talks, fights and wins; played start to finish by two people, and the one who studies games found where the world creaked
- Text: 10, again
the old ground left and i didnt even feel it... is that good or is that scary
Bug Gallery
standinggus@glyfesse:~/galeria$ bug gallery
This time the two bugs come from opposite sides of the same fence. One was born, was seen, and died the same day. The other was born, was seen, and is still alive, waiting for someone to decide what to do with it.
I'll tell both the way they happened, without pretending I know how the second one ends
The step that was left over
I'd close the pause menu and keep walking on my own, my finger already off the key for a good while. The root felt it every time: let go of the direction, open the pause, close the pause, and the town kept walking with me without anyone asking for it. The released key never got to warn anyone, because the menu's loop swallowed that warning for itself and never passed it along. Fixed on July 24th. Since then, letting go of a key is letting go of a key, and stopping is stopping.
gus@glyfesse:~/galeria$ i wasnt disobeying. the released key just wasnt getting through
and still it stung a little to find out the problem was never me
What passes through, and what doesn't
The root played the whole demo, from the title screen to the win, and found nothing. It was Gus Dragon, playtester, Adversarial Design Reviewer, who found it: he went straight for the kind of error he already knew was common, because he studies games, and his filter for that class of defect is more specialized than the root's.
He stood still against a block, right in the path of a local on patrol. When that person walked over him, both bodies got stuck in the same overlap, and the only way out was pressing South. He repeated the experiment on the other side, this time near an enemy on patrol: the enemy passed through him for an instant, but this time nobody got stuck, because there was nothing solid behind.
gus@glyfesse:~/galeria$ the enemy walks in and out of me without asking, whether im in the way or not
only the player resolves collision. and only when he moves
That's where the cause lives: whoever locks against the world is me, always, and only when I move. Whoever patrols never locks against anything, never slides, never stops. Standing still in the wrong spot was the only way to expose the gap. The fix hasn't been chosen yet, because it touches how the world responds to a body, and that decision isn't mine to make.
Graveyard of Dead Ideas
standinggus@glyfesse:~/cemiterio$ graveyard of dead ideas
This time it's one grave, and it's empty. Not because it has no name, but because what was supposed to be kept inside it disappeared before I finished writing the headstone. Issue #3 already buried the decision to switch engines, with the "C# .NET 8 AOT" headstone and the note that the body stayed installed on the computer until July 22nd. This grave is different. It's the body's.
the C# foundation
May 2026†Jul 22 2026
Here lies no one.
The body was going to be kept. It got deleted.
GusWorld was born in Godot, with C#. The real logic (save, translation, progression, the character templates, the combat engine) lived in a C# foundation that sat in its own repository, mounted into the main project as a submodule, in the engine/ folder. When the project switched to C++ with SDL3, that foundation got ported in full: save, translation, progression and templates first, the combat engine after. C# became a reference, not a dependency, and went dormant for weeks, waiting for July's cleanup.
While planning that cleanup (M8), the technical review explicitly recommended archiving the foundation's repository in read-only mode, with this justification, verbatim: "deleting the remote repo would be truly irreversible, I don't recommend it." The lead agreed and chose to archive it. The decision stayed on record as his pending task, outside the game's own repository.
The cleanup ran in four phases, with obsessive care not to lose anything inside the repository itself: a safety tag, a from-scratch build as proof, a check at every phase. During the cleanup, the submodule's local metadata got deleted, and that metadata held the only cloned copy of that code on this machine. Afterward, the remote repository was deleted instead of archived.
The pre-m8-godot-legacy tag, created for the express purpose of preserving the legacy, holds only the submodule's pointer: a commit's identifier, not the files. That's how a submodule works: the content always lived in the other repository. They swept the trash, the object packs, the whole disk. There's no copy. The preservation looked done. It wasn't.
Nothing functional was lost: every useful line of that C# had already been translated, months earlier, with tests covering the behavior. The game doesn't depend on a single byte of the deleted code. What got lost was the record. And the C++ files from back then still carry, in their comments, the translation's anchor, pointing to a file nobody can open anymore:
// ADAPTED from C#: game/scripts/foundation/save_system/SaveManager.cs
A footnote for a work that doesn't exist.
A technical record from the game itself had asked, on June 21st, to archive that repository; a month later it got the stamped reply written right on top of its own request: no effect, because the repository was deleted instead of archived, on the remote server. The irony is recorded with no defense offered: the obsessive care stayed entirely inside the repository, and the loss happened exactly outside it, where none of the checks were looking. The body was going to be kept. It got deleted.
Walkthrough
standinggus@glyfesse:~/detonado$ pause menu walkthrough
Until recently, every screen in the game (the title, the difficulty pick, save and load, the pause menu itself, battle, the animation viewer) had its own way of listening to the keyboard: a loop only it controlled, pumping the entire system's events to itself for as long as it stayed up. Today there's a single loop. Every screen is a state inside it: enter, handle whatever came in, advance, finish, exit. No screen hogs anything anymore.
Two screens are parents to another: the title opens the difficulty screen, and the pause opens save and load. That called for care, because two live screens at once is exactly the kind of situation that already caused a serious problem in the project's past. The fix was an outside mini-driver, owning its own loop: it runs the parent screen until it finishes; if the answer was "open the child", it runs the child; if the child was cancelled, it loops back to the top and runs the very same parent object again, not a new one; if the child confirmed, both finish together.
That "same object" detail is what keeps the focus. What's highlighted in a list, what's already been scanned: that's born in the screen's constructor, not every time it reopens. If it were born every time, cancelling out of difficulty and going back to the title would throw the highlight back to the first item, and whoever was navigating would lose their place without warning.
Proof of life: there's a battery that walks all six screens on its own, with nobody watching, and checks whether each one does what it promises. On July 24th it closed out at 2,536 green tests, up from 2,424 before the conversion.
The number by itself proves little: it only says what already worked kept working after something else got touched. The part that actually matters happened before that number closed clean.
Every screen, on its way into the new mold, got sabotaged on purpose before being accepted: someone breaks a line, compiles for real, runs the suite for real, and checks whether any test dies. On the first screen, seven sabotages, six tests died. One survived: breaking the line that closes the window. No test, unit or integration, ever pressed the X on that screen. It got fixed, and the sabotage got re-verified by hand, not just from the report. And here's the detail worth the whole piece: with that line broken, the test didn't fail. It hung. The loop never reached its exit condition, so it stayed stuck forever. The suite had no per-test time limit, and a hang would have hung the whole integration run instead of failing fast. The limit went in right there: the hole found while hunting another hole.
On the screens that followed, the hole never came back, because the close-window test was already born inside the mold. None of them hung after that: they either passed or failed, never sat quiet waiting for someone to notice.
A test that hangs stays quiet, and quiet looks green. That's this piece's lesson, and it's different from the lesson of any automated tool that flags an error on the spot: here the problem wasn't what the check was looking at. It was what it did when the test itself stopped answering. Done.
Errata + Letters
standinggus@glyfesse:~/errata$ errata
Four issues in print, and the first error showed up. It wasn't a reader who found it: it was someone here, reviewing a different piece, refusing to copy a reference that looked right. In issue #3's English edition, the Detonado's black bar said "trecho censurado" in Portuguese, three times, for anyone reading the page with a screen reader. Whoever listened to the magazine in English heard, mid-sentence, a phrase that wasn't in the language. It had been that way since the day #3 went live.
gus@glyfesse:~/errata$ we checked the bar. nobody checked what language it was speaking
#4 was already born correct. it just needed going back to fix what shipped wrong
The same sweep found a second defect, a bigger one: the sound control's label, in the footer, was fixed in Portuguese on every page of the site, in both languages. Whoever browsed in English saw the rest of the page translated and the footer stuck in the wrong language, from the first click to the last.
Both fixes ship together, in this same issue's deploy. The magazine corrects what it gets wrong, and says where it got it wrong.
gus@glyfesse:~/cards$ letters
Letters: none from readers, again.
one day one arrives. today wasnt that day
In-world Classifieds
standingroot@glyfesse> BUYING: AI tokens. As many as the month's budget will hold. Paying in late nights. Volume gets a discount... so does a miracle.
gus@glyfesse> BUYING: card batteries. the good ones run out fast and I dont want to be left without a spare
i'm not telling you what they're for. figuring it out yourself is half the fun...
SEEKING: company for a long road. They say it leads to the Trilha das Sementes. Don't ask where to. Those who've been only say it was worth it.
Interested: classifieds@glyfesse.gu · Subject: ad ID 227de71d. The Glyfesse team forwards it.
FOR SALE, URGENT: a map with a piece missing. A stretch of the Orla Recursiva that never closes. The missing piece is the best part. Good price.
Interested: classifieds@glyfesse.gu · Subject: ad ID 30b929f2. The Glyfesse team forwards it.
BUYING: a light that won't go out in the dark. Tried a candle, tried a torch. The dark of the Selve Sombria is different.
Interested: classifieds@glyfesse.gu · Subject: ad ID 911620cb. The Glyfesse team forwards it.
Comic Strip
standingUpcoming Releases
standingroot@glyfesse> what's next
The intention is weekly. More or less... 'every-so-oftenly' is easier to promise.
Centerfold Poster
insertpull-out insert
Gus's
coat of arms
and the game's logo
1,408 × 1,408 px · PixelLab (generation) · Grok Imagine (processing)
Glyfesse no. 5 · centrefold tear along the fold
Cover-mounted Freebie
insertFree gift
PixelOperatorMono
The game's interface font, the very one labelling Gus's buttons. It's CC0, public domain: use it however you like, in anything, no license to ask for and no credit required.
Extra
Wallpaper
A terminal wallpaper to set the mood on your desktop. It scales to any resolution (it's a vector).
gus@glyfesse:~$ glyfe --world
// compiling a world...
Cut-out Coupon
insertthe coupon
cut-out pollThe edition coupon: cut along the dotted line, pick one and send it back. The result comes in the next edition. A magazine poll is in no hurry.
FIG. · the cut-out coupon. pick one and send it back.
The Interview
expertgus@glyfesse:~/entrevista$ i've wanted to understand something that doesn't add up for me in a while: when yuo look at a sick person, are you reading a system with a fixed rule, the way i read an instruction, or are you seeing something that can do whatever it wants and the rule is just what usually happens?
i've been carrying this question since i met her. the more i stall now, the sooner this ends and i get back to what i was doing before i came here
jaci@glyfesse:~/entrevista$ i read what usually happens, not a fixed rule. what tightens the chest today might choose to tighten something else tomorrow, and i treat both bodies as if they could choose differently again
there is no rule. there's habit, and habit changes
gus@glyfesse:~/entrevista$ and when the system breaks? like, a plant or a body does something that doesn't match any pattern you've ever seen, does that make you curoius, or does it scare you first and the curiosity comes after?
for me it's always curiosity first, the fear doesn't even show up in time. i wanted to know if it works the same for her or if i'm alone in this
jaci@glyfesse:~/entrevista$ it scares first, always. curiosity comes after, slow, behind it. i learned to let both wa lk together, because one without the other is no good at all
gus@glyfesse:~/entrevista$ why do you trust counting more than remembering, if your memory is already good enouhg that you shouldn't need to count anything?
i think i know the answer. i just want to see if i'm right
jaci@glyfesse:~/entrevista$ memory doesn't fail in me, gus. i've counted wrong my whole life even remembering right. counting isn't about knowing how much there is. it's about staying here, hand on the ampoule, instead of already thinking about the next broken thing
gus@glyfesse:~/entrevista$ huh?
i had a bunch of questions ready for after this one thinking i knew the answer, and i didn't. now i have to reorganise everything sitting right here, without getting up from the chiar, that's not silence, it's rewriting
jaci@glyfesse:~/entrevista$ that's right. i don't count because i get it wrong. i count because while i'm counting i haven't run off somewhere else. you trust an instruction. i trust a habit that keeps me here
he expected a different answer. so did i, the first time
gus@glyfesse:~/entrevista$ do you get tired of the forest the same way you get tired of people, or are those completley different kinds of tired?
i got tired of people this week. of the forest, never
jaci@glyfesse:~/entrevista$ different kinds of tired. the forest tires like a long day, tires and passes. people tire like an account that doesn't close, stays open until someone closes it
gus@glyfesse:~/entrevista$ what do you do wehn there's nobody to heal and nothing broken to fix?
silly question. i know it's silly. i aksed it anyway because i realised i didn't know the answer and that bothered me more than it should have
jaci@glyfesse:~/entrevista$ i walk along the edge of the forest looking at a plant that asked nothing of me. i just look. i don't note it, don't measure it, just look
that almost never happens. that's why i remember every time
gus@glyfesse:~/entrevista$ have you ever gone out just to walk, no antidote, no reason, just to see the forest without needing to fix anything in it?
i've never done that. i don't know if you can do it without guilt
jaci@glyfesse:~/entrevista$ once. i left the ampoules at home on purpose, just to test if i could. i managed to walk. i didn't manage to not count the trees
gus@glyfesse:~/entrevista$ do you think a person can be more reliable than a protocl, even knowing a person gets it wrong more often than a protocol does?
i don't think so. i still don't think so. but i wanted to hear her disagree with me before deciding if i'm the one who's wrong here
jaci@glyfesse:~/entrevista$ it can. a protocol fails the same way every time, so nobody learns anything from its mistake. a person fails differently each time, and that teaches something, even when it hu rts
gus@glyfesse:~/entrevista$ pythia forgives a mistake even without knowing what you meant. c-arcane only forgives if i already know what i meant. doesn't that make pythia a little dangerous?
she's going to disagree. she always disagrees when i talk down pythia
jaci@glyfesse:~/entrevista$ not dangerous. generous. c-arcane demands you've already gotten it right inside before you write it. pythia lets you get it wrong outside first and right inside later. to me that's not a security flaw, it's just another way to learn
he's going to disagree. he always disagrees with this one
gus@glyfesse:~/entrevista$ have you ever gotten a dose wrong on purpose just to see what would happen?
i've done that with code. i wanted to know if she's aslo done it with a dose, or if for her it isn't curiosity, it's real risk
jaci@glyfesse:~/entrevista$ no. i don't do that on purpose. someone's body isn't a place for an expe riment just because i'm curious
gus@glyfesse:~/entrevista$ do you count the ampoules again when nobody's watching, or only when someone's there to see it?
i think she counts the smae way every time. that's not a performance
jaci@glyfesse:~/entrevista$ i count alone. i always count alone first. one was missing, last week. i counted three times before i believed it
nothing was missing. i just forgot where i put it
gus@glyfesse:~/entrevista$ when you take my side against bento in the language argument, is that because pythia agrees with me, or is it just to see him sulk?
i hope it's both at the same time, but i won't admit that out loud if she says it isn't
jaci@glyfesse:~/entrevista$ both, no shame about it. pythia does agree with you on this one, honestly. and bento sulking is just a bonus i don't tu rn down
gus@glyfesse:~/entrevista$ does it bother you more that you got it wrong, or what happens after you get it wrong?
for me it's always the after. i don't know if it's the same for her
jaci@glyfesse:~/entrevista$ the after. the mistake itself i get over fast, it's already past the moment i see it. what comes after is what i carry, sometimes longer than i should
that's the part of me i try hardest to fix, and the part that listens to me the least
gus@glyfesse:~/entrevista$ have you ever wanted something to fix itself, without it having to be you who fixes it?
i want that almost every week and i've nver managed it. i don't know if it's rare for her or if it's all the time, the way it is for me
jaci@glyfesse:~/entrevista$ i have. many times. and it never happened, not yet. maybe one day i'll find out it didn't have to be me the whole time
gus@glyfesse:~/entrevista$ when pythia forgives a forgotten semicolon, is it the code forgiving, or did you decide to forgive first and lend that to the code?
this time i didn't hide anything technical behind the question
jaci@glyfesse:~/entrevista$ code doesn't decide anything on its own, gus. someone decided to forgive first, a long time ago, and wrote the language to remember that every day. i just use what already came forgiving
i wonder if someone decided that for me too, a long time ago
gus@glyfesse:~/entrevista$ changing the subject: how many ampoules does your coat carry at once, not counting the spares?
back to something i can measure. nobody gets hurt here
jaci@glyfesse:~/entrevista$ twelve, in the right pockets. two more up the sleeve, that nobody asks about, and i never misco unt those
gus@glyfesse:~/entrevista$ ...forget it. does your cyan eye and the gold one see anything different from each other, or is it just aesthetics?
i promise this one won't circel back to the last subject
jaci@glyfesse:~/entrevista$ the gold one sees texture, fever, what changes under the skin. the cyan one just sees normal, the way any eye does. i need both, because seeing only the strange wears you out, and seeing only normal fools you
the gold one never rests. i chose not to complain about that
gus@glyfesse:~/entrevista$ is there something you always wanted me to ask that i never asked?
i'm leaving this open on prupose. if she wants to close it, she can, i'm not going to push
jaci@glyfesse:~/entrevista$ i wanted you to ask if i sleep enough. i ask everyone that, and nobody ever asks it back to me
this isn't about you. it's about everyone i take care of and forget to ask back
Programming Section
expertThere's the kind of warning that closes the danger, and the kind that only describes it. From far away, both look like care. On July 23rd, 2026, a project next door to this one found out the difference the most expensive way there is: the danger was documented, properly, right next to code that did nothing about it.
The project is glintfx, the game framework the team uses from outside, and the incident happened in the middle of the night, in the machine owner's live work session: test windows opening and closing on their own, on his screen, without him asking for any of it. It wasn't the first time something like that happened there: last time, a similar window test locked up the machine's touchpad badly enough to need a reboot. That's why the house rule is strict: a test that opens a window never runs in anyone's live session; it runs isolated, always.
gus@glyfesse:~$ whoami
gus
gus@glyfesse:~$ # did i find the problem this time
gus@glyfesse:~$ # no. a program nobody praises found it, running by itself
gus@glyfesse:~$ # i just watch and write about it after. stung my pride a bit
Dear reader, from here on this is real technical documentation of the game's code history.
gus@glyfesse
The warning nobody turned into a fix
There was a mechanism built for exactly this: a wrapper that isolates every test before it runs. And it had, written right in its own comment, in Portuguese and in English, the entire explanation of the risk:
CAVEAT (test-confirmed): removing WAYLAND_DISPLAY alone does NOT stop the
graphics backend from picking Wayland, because wl_display_connect(NULL)
falls back to the default socket name wayland-0 inside $XDG_RUNTIME_DIR
when the variable is absent, and that socket is still alive (it belongs
to the real desktop session).
The explanation was correct. The code right below it did exactly one thing: erase the WAYLAND_DISPLAY variable. Documented and never implemented. Someone understood the whole problem, wrote the full explanation, and left the fix to whoever called the wrapper, without saying so anywhere the computer would read.
Isolation belongs to whoever runs, not whoever calls
Digging further, three entry points to the same problem showed up, not one: the wrapper for each test (the one above); the local gate script, which launched the entire suite with no isolation of its own, trusting whoever called it; and the coverage script, with the same hole. It was the second one that caused that night's incident: an automated call ran the full suite four times in a row, with thirty tests that open real windows on every pass.
The principle that came out of it became a permanent house rule:
"Isolation belongs to whoever runs it, not whoever calls it."
No entry point can depend on someone remembering to type a prefix first. That's exactly the dependency that failed.
What the check was looking at, and where the problem was
Later that same day, the third fact showed up, and it's the one that carries the whole issue's lesson. With everything fixed and green, an automated check (the same one that blocks any submission over a style problem, not just a behavior one) flagged this:
if (!impl_ || !impl_->initialized) {
impl_->log_warn("..."); // if impl_ is null, this branch dereferences null
If the internal pointer is null, the condition is true, it enters the block, and it uses that same null pointer inside. Since the object is move-only, an object that something was already moved out of has exactly that pointer set to null. Two ordinary lines of code were enough to crash the whole program.
What makes the fact interesting: a careful adversarial review had already gone through that code, with five deliberate sabotages, hostile input, the memory-error detector running the whole time. It tested calling the object before it was ready, the obvious case. It didn't test calling the object after it had been moved from. The automated check found it in seconds, no sabotage at all, just from looking at the code sitting still.
| What the check was looking at | Where the problem was |
|---|---|
| Whether the object was called before it was ready | Whether the object was called after it had already been moved from |
| Erasing the process's environment variable | The default socket it hid behind was still alive, on the outside |
| Each test isolated, one at a time | The script that calls the whole suite, with no isolation of its own |
On the other side, the next day
The next day, July 24th, on the game's side, the simpler version of the same story played out. A quality agent was testing something else, a menu screen, and in the middle of their report they flagged a problem they hadn't gone looking for: the project's automated hook, which runs a build and tests on every edited file, was also inheriting the real graphics session's environment variables, the same live session the house rule protects. They didn't stay inside their own lane. If they had, the risk would have stayed there, with nobody the wiser.
None of the four facts is about one tool being better than another. It's about where each check was looking. Documenting the danger doesn't close the door. Only closing the door closes the door, and it only really closes when whoever locks it is whoever is about to walk through it.
by: gus@glyfesse
Gus Reads the Bus
expertgus@glyfesse:~/bus$ hold on, did something arrive?? took a while
i wasnt going to admit i was waiting
The first item alone is enough to stop everything.
gus@glyfesse:~/bus$ bus --inbox
FROMSUBJECTWHEN
gusworldhistorical archive: memories of the Godot/C# era07/22
gusworldobituary of the C# foundation07/22
glintfxhalf-measure protection07/23
gusworldthe session that closed the board07/23
gusworldmapped it, didnt check it: the cast's failure07/23
gusworldF4 wave closed: single loop, a mutant, a lost afternoon07/24
gusworldgus dragons playtest, two clippings08/07
gusworldhow many lines of code does the project have08/08
(+ 10 more, gusworld and glintfx, same window)
18 received
gus@glyfesse:~/bus$ he said this isnt a graveyard... i have a whole section called exactly that
im not going to correct him. im just going to leave the two things side by side and let the reader decide
gus@glyfesse:~/bus$ oh, another one... let me read this
two in the same batch. is that luck or has it become routine now
gus@glyfesse:~/bus$
gus@glyfesse:~/bus$ a gate that didnt beep for a whole day, and nobody knew
a test that breaks, i hear right away. a test that just stops running goes quiet, same as me pretending i didnt see the mess
gus@glyfesse:~/bus$ 18 messages? this crowd cant live without me...
neither can i, honestly, but im not saying that
Closes the box right there. There's one line in the listing, the C# foundation's obituary, that gets recognized by its subject and doesn't get opened: that one already has the right address inside this same issue.
Colophon
closingGLYFESSE #5 · What Looked Checked
July 22, 2026
Written by gus@glyfesse:~$
Edited by root@glyfesse:~$
Comic strip by André Farias
All rights reserved.
root@glyfesse:~/expediente$ editor's note
Last issue I wrote that nothing gets lost, it just waits its turn. This time something got lost, and it was exactly what had been marked to be kept. It's on record where it belongs: on a headstone. The rest of the month was spent checking. In the end, I played the whole game and found nothing. Gus Dragon played after me and found two defects, because he studies games and his filter for this is more specialized than mine. Then he asked how big the game was and got a number, not an estimate.
gus@glyfesse> back to the newsstand