Skip to content

FIRST-LIGHT and ONBOARD: the page is served, not piped - #41

Merged
rdryfoos merged 3 commits into
mainfrom
claude/bang-page-prose
Sep 22, 2026
Merged

rdryfoos merged 3 commits into
mainfrom
claude/bang-page-prose

Conversation

@rdryfoos

@rdryfoos rdryfoos commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

Three commits, two files, prose only. /bang serves FIRST-LIGHT as a rendered page with copy controls (dryfoos-sites #11), so the sentences that were true only of a reader inside less are no longer true of the page.

Do not merge yet. See The blocker below: this is waiting on the sites room, not on review.

What changed

ONBOARD.md, the companion aside: links https://specassay.com/bang instead of telling the reader to pipe it into a pager. The <!-- site:divider --> marker and the blockquote are untouched.

FIRST-LIGHT.md, five passages:

Was Is
"you have already done the two things some pages start with" the page is the instructions, the terminal beside it is where blocks go, nothing installed yet
"q leaves the page and gives you your prompt back" gone; there is no pager to leave
"Open a second window now", one window each "Open a terminal window now", with Spotlight and Command-N both named
"not in a terminal yet?" plus curl … | less gone; the reader is on the page
"happens in the terminal window in front of you" "is pasted into the terminal window beside it"

Kept deliberately: the space bar and down arrow clause, because both still scroll a browser, and "you never have to leave the instructions to run something", because that benefit survives the move. Rik's words stay wherever they still hold.

No pipe into a pager is left anywhere in FIRST-LIGHT.md (grep -c 'less' returns 0). That mattered: since /bang became HTML, the block this PR deletes would have told a stranger to pipe markup into less, inside the very page it was describing.

The gap that opened mid-PR, and closed

Deleting the "arrived some other way" block took the Spotlight instructions with it, so after the second commit a reader with no terminal was told to open one and given no way to do it: Command-N needs Terminal already running. Flagged rather than guessed at, because it needed a new sentence rather than a deletion and this page's instructional prose is Rik's.

Ruled and landed in 6b1dd9c: the paragraph now carries Spotlight for a reader starting from nothing, Command-N for a reader who already has Terminal open, and the reason to keep it beside the page. The route out of the deleted block is back, in the paragraph that asks for the terminal rather than in a footnote for people who arrived by another door.

The blocker, which is not in this repository

Merging this will red the next sites deploy until that room acts. tools/t-quickstart-asides.py:198 still requires the literal string FIRST-LIGHT inside the aside following the marked heading, and this PR removes that string from the aside.

Measured by importing the real functions from dryfoos-sites at 849a9c7 and running them against both versions of ONBOARD.md:

t-quickstart-asides.py:198 warn_companion_pager
main today PASS fires
this branch FAIL silent

The main column is the control. Without it this would be a reading that cannot come back negative, which is PROMOTION-CONTRACT.md rule 12.

Both halves of that table are the same fact from opposite sides. The prose change clears warn_companion_pager, which that room added on 2026-09-21 and wrote to clear itself the moment this prose changed. It trips line 198, which is the last thing in that build still anchored on this room's sentence rather than on the marker, the anchor their own #9 replaced it with for exactly this reason. Keying it off the marker is theirs to do, and is being done now; this PR merges after that lands. Writing FIRST-LIGHT back into the prose to satisfy it would be putting a parser's limitation on the author.

I did not measure the /FIRST-LIGHT → /bang 308 myself: specassay.com is blocked from this session and a failed curl would look identical either way. That redirect is quoted from sites/specassay/onboard.py, not asserted.

Verification

At 6b1dd9c, locally:

137 passed                                     tests/ + extensions/specassay-check/tests/
doc-versions: OK (10 warning(s))               0 refusals
SpecAssay Check (Gate 2): OK (71 registry IDs) gate.ok=True

No em dashes added. No version numbers added. The new paragraph was wrapped to this file's 99 columns by a wrap asserted to change line breaks and nothing else.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Vzf6Sh5RVMKdFqaXKFF2FY

/bang serves FIRST-LIGHT as a rendered page with copy controls
(dryfoos-sites #11), so two sentences that were only true of a
terminal are no longer true of the page.

FIRST-LIGHT.md drops "you have already done the two things some pages
start with" (the reader no longer arrives by fetching this file) and
the `q` clause (there is no pager to leave), and says instead to open
a terminal beside the page. The space bar and down arrow keep their
line: both still scroll a browser.

ONBOARD.md's companion aside links /bang instead of telling the reader
to pipe it into `less`. The marker and the blockquote stay as they are.

Two prose changes only, as commissioned. The adjacent paragraphs that
still assume a terminal are reported, not touched.

Self-gate, locally:

  137 passed                                     tests/ + extensions/
  doc-versions: OK (10 warning(s))               0 refusals
  SpecAssay Check (Gate 2): OK (71 registry IDs) gate.ok=True

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vzf6Sh5RVMKdFqaXKFF2FY
Ruled after the first commit, on the same branch. The page is read in a
browser now, so the passages that only made sense to a reader inside
`less` change with it. Rik's words stay wherever they still hold.

- "You are already here" keeps its heading and gets a body that says why:
  the page is the instructions, the terminal beside it is where the blocks
  go, nothing is installed yet.
- A second window was needed because one window held the page. One
  terminal is right now, so the sentence dividing the two goes and the
  benefit sentence stays: you still never leave the instructions to run
  something.
- The "arrived some other way" block goes entirely. It told a reader who
  is already on the page how to fetch the page, by piping it into a pager,
  which since /bang became HTML would pipe markup into `less`. No pipe to
  a pager is left anywhere in this file.
- The desktop-app note puts the terminal beside the page rather than in
  front of the reader.

Self-gate, locally:

  137 passed                                     tests/ + extensions/
  doc-versions: OK (10 warning(s))               0 refusals
  SpecAssay Check (Gate 2): OK (71 registry IDs) gate.ok=True

No em dashes added.

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

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 76ccd952-6cef-439d-bb3f-949f115c3d56


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Rik's paragraph, verbatim. The previous commit left a reader with no
terminal told to open one and given no way to do it: Command-N needs
Terminal already running, and the Spotlight route went out with the
"arrived some other way" block. This restores it, in the paragraph that
now asks for the terminal rather than in a footnote for people who
arrived by another door.

Wrapped to this file's 99 columns; the wrap was asserted to change line
breaks and nothing else.

Self-gate, locally:

  137 passed                                     tests/ + extensions/
  doc-versions: OK (10 warning(s))               0 refusals
  SpecAssay Check (Gate 2): OK (71 registry IDs) gate.ok=True

No em dashes added.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vzf6Sh5RVMKdFqaXKFF2FY
@rdryfoos
rdryfoos merged commit 2663ecd into main Sep 22, 2026
2 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