Traps someone already stepped on. This is the only append-only file in the rulebook. Each entry is one line: a date, a title, the trap and the right move, and the condition that retires it. The file holds 40 entries at most, and anyone deletes an entry that no longer holds, in the PR that makes it false. A gotcha that can become a test should become one.
- [2026-09-13] The Google sign-in page says the flow completed before Prometheus has a token — the browser page appears when Google hands back the one-time code, and Prometheus exchanges the code afterwards. An
InvalidClientErrorafter that page means Google rejected the client secret in.prometheus/credentials.json: download the OAuth client's JSON again. Retire when:prometheus connect googlereports a rejected secret in plain words. - [2026-09-13]
parseFloaton a CSS custom property that holdscalc()returns 0 —--main-minis acalc()expression, so reading it as a number silently breaks the dock's width limit. Resolve it by layout with a probe element, asdockMaxinjs/main.jsdoes. Retire when:--main-minholds a plain length. - [2026-09-13] Changing only the URL hash does not reload the dashboard's CSS or JS — switching views with
#viewkeeps the old stylesheets, so a CSS edit looks like it failed. Hard-reload, or change the query string. Retire when: the dashboard serves assets with a content hash. - [2026-09-13]
text-overflow: ellipsisneeds a real child element — a flex container's bare text is an anonymous flex item and cannot be ellipsized. Wrap the text in a span, asuiBadgedoes with.badge-t. Retire when: badges stop being flex containers. - [2026-09-13]
oklab()andcolor()values are on a 0–1 scale, not 0–255 — a contrast check that parses computed colours as 0–255 reports nonsense. Convert the colour through a canvas first. Retire when: a contrast test exists inevals/deterministic/. - [2026-09-14] python-dotenv's
set_keyreplaces a symlinked.envwith a real file — saving a setting from the dashboard inside a worktree detaches the linked.env. Check that.envis still a symlink before deleting a worktree. Retire when: settings stop being written throughset_key.