Skip to content

A dropped brace in globals.css was eating every rule after it - #172

Merged
wschenk merged 1 commit into
mainfrom
claude/walking-thoughts-org-g0qlvt
Aug 8, 2026
Merged

A dropped brace in globals.css was eating every rule after it#172
wschenk merged 1 commit into
mainfrom
claude/walking-thoughts-org-g0qlvt

Conversation

@wschenk

@wschenk wschenk commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Summary

The Day flow and the Field Manual are both unstyled on main right now — no container, no margins, text edge to edge. /days is effectively unusable.

Cause: the To-do merge left .todo-tally unterminated. From that point to the end of the file, every rule was parsed as declarations of that block and silently discarded — .day-flow (#168) and all 39 .manual-* rules (#170) included. Nothing errored: the build passed, the pages rendered, the CSS was present in the file. It just never applied.

Restoring the one brace brings both surfaces back.

Guard added

tests/globals-css.spec.ts, because the stylesheet is the one part of this app with no type checker and this failure mode is completely invisible:

  • braces balance across the file (ignoring comments and strings), naming the line of any unmatched }
  • each surface's rules — .manual-sheet, .day-flow, .todo-items, .shell — sit at the top level, so a future append can't land inside an earlier block or a media query and go dead

Balanced braces alone wouldn't have caught a whole feature accidentally nested in a media query, hence the second test.

Test plan

  • Verified in a browser, not just in the file: .manual-sheet computes to width: 768px; padding: 20px (was full-bleed with none), and the page renders with its container, rules, and condensed headings
  • /manual and /days both 200 on the fixed build
  • Both new tests pass; they fail against the broken file (confirmed — the top-level test caught a wrong selector name on first run)
  • pnpm exec tsc --noEmit clean; eslint clean on changed files

No-ticket: true

🤖 Generated with Claude Code

https://claude.ai/code/session_01Mm4zPLAX77USAqyk12jgc1


Generated by Claude Code

The To-do merge left .todo-tally unterminated, so from that point to the
end of the file every rule was parsed as declarations of that block and
silently discarded. Nothing errored — the build passed, the pages
rendered — but the Day flow and the Field Manual both shipped with no
styles at all: no container, no margins, text edge to edge.

Restores the brace, which brings back .day-flow and every .manual-*
rule.

Adds tests/globals-css.spec.ts, because the stylesheet is the one part
of this app with no type checker and this failure mode is invisible:
it asserts the braces balance, and that each surface's rules
(.manual-sheet, .day-flow, .todo-items, .shell) sit at the top level
rather than nested inside an earlier block.

No-ticket: true

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mm4zPLAX77USAqyk12jgc1
@vercel

vercel Bot commented Aug 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
walking-thoughts Ready Ready Preview Aug 8, 2026 11:44am

Request Review

@wschenk
wschenk merged commit a1685f4 into main Aug 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants