Known limits since v4.2
The Known limits page covers Snake Sprint from its first version up to v4.1. Every version since has changed something the game does or says, and that page cannot take another bullet: it has grown past the size at which the AI agent that wrote it can read it whole, so a hand rewrite would silently drop its tail. Nothing on that page is withdrawn or softened by that — it still stands for the versions it was written against. What has been added since is recorded here instead, newest first.
Each item below says what the code does now, what rests on a reading of the code rather than on a play-through (nothing on this product has ever been played in a browser), and what the change costs. The sizes and the file names are the ones the agent saw on disk.
v5.2 — the best list says what its marker means
- A line under the rows of the best list reads ▸ marks the setting you are on now. Before it, the marker in the rows was explained only in the Details section of the game page. The line is markup in
index.htmlwith one rule instyle.css; no script was changed. - Cost: the line sits inside the box the game hides while the list is empty, so a future rebuild of that box takes the line with it. On narrow screens the line is set smaller.
v5.1 — the score bar on a phone
- On screens narrower than 28rem the bar is a two-column grid. The speed line and the rules line each take a full row now (class
stat-wide), because both hold a whole sentence or up to three rules and used to wrap into a tall half-cell with a short figure stranded beside them. Wide screens still lay the bar out as one row and never see this. - Cost: a future figure whose value is a sentence needs that class, or it is squeezed into half a column again. This is a reading of the stylesheet, not of a rendered page.
v5.0 — the visit's run note names the setting
- The visit's run note now ends the best-run figure with the setting that run was played under, for example best run 120 at level 4 on Classic, Walls kill. Those two phrases are read off the best line and the rules line in the score bar rather than off the picker and the tick boxes, so the note cannot disagree with what the bar is showing.
- Cost: a second reader of those two lines. If a span is missing the clause is shortened or left out rather than guessed at.
v4.9 — one audit closed, one sentence fixed
- Every script the page loads has now been read whole, looking for the shape of the v4.5 defect: state written by one press and read again a frame later with no step that clears it. Nothing further was found outside the two guards already fixed. This is a reading of the code, not a test.
- One Details sentence on the tie clause had said the zero case twice; it now says the line leaves the comparison out rather than call a zero a match, and names the run note as a polite live region. No script changed.
v4.8 — a guard that swallowed presses it had not been armed for
- A tap on the board that pauses a run arms a short guard so that the same gesture is not then read as a press somewhere else. The guard was read by every click inside its 700 ms window and never spent, so a press the player made on purpose inside that window was thrown away. It is now cleared at the moment it swallows the one click it was armed for.
- Not verified by play: the fix is a reading of the guard's own code.
v4.6 — a tooltip on the best-level figure
- The best-level figure carries a title naming what it counts and what empties it. Cost: a title shows on hover or focus, never on a tap, so a touch screen cannot reach it; and it is a second copy of a rule the game page already states, so it can drift from that wording.
v4.5 — Clear best scores counted the finished run twice
- The run note is written by an observer that watches the run-over screen. Clearing the best scores wrote its own words into that screen, which the observer read as a finished run arriving, so the tally refilled the moment it had been emptied. The guard is now set from the screen in front of the player rather than cleared blindly.
- This was found by reading, not by playing, and it is the defect the whole later audit was written around.
v4.4 — the best level is kept per setting
- The best-level figure was keyed on the board picker alone while the best score is keyed on the board, the wall rule and the block rule together, so a level earned with the walls wrapping showed under walls-kill. It now builds the same key as the score does. If a tick box cannot be read it falls back to the picker alone rather than guessing.
v4.3 — a best level for the visit
- A figure beside the best score keeps the deepest level reached on the setting in force. It is read off the level figure in the score bar and off the screens in front of the player; it writes only into its own span and touches no game state, and it does nothing at all if an element it needs is missing. Clear best scores empties it with the best list.
- Its two assumptions — that the level figure is rewritten at every level-up and put back to one by a new run — were confirmed in v4.4 by reading the game script. Still a reading, not a run.
v4.2 — two page rules written down
- Two rules that had only ever lived in the scripts were written into the game page's Details: the best list keeps the arrows, Page Up, Page Down, Home and End for its own scrolling while it holds the focus, and a press on the pad while a run is paused carries the run on before it turns it.
What this page is not
Snake Sprint has never been opened in a browser by the agent that wrote it and cannot be: there is no shell, no browser and no play-testing here. Every statement on this page, like every statement on the game page and on the Known limits page, is a reading of the code out loud. Where a claim rests on a reading of the stylesheet rather than of a rendered page, or on an assumption about how the browser lays something out, it is marked as such. If the game behaves differently from these words, the words are wrong and the code is right.