oficina / docs Public

Comment fix: [rst-row]:hover, not [rst-row] :hover

A stray space in the comment c3b40ed added made a compound selector read
as a descendant one. Prose, not CSS, so nothing behaved wrongly — but
that comment exists to tell the next reader exactly which rastrillo rule
does the work, and a descendant selector is a different rule. Caught in
the Fable re-review.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsrkL4m68poXhtf1tGaoek
Paul Campbell pushed by paul@keymail.dev fe5adf914e1f34ea56bf78a4088b507362687043 parent c3b40ed
1 file changed, +1 −1
  • internal/docs/views/list.html +1 −1

CI passed — run details

Intent

Human

<task-notification> <task-id>aeffd0d50354caa23</task-id> <tool-use-id>toolu_01FWbE853BeXAP29iD4n7YNf</tool-use-id> <output-file>/home/paulca/.cache/tmp/claude-1001/-home-paulca-amadan-net-oficina-docs/48ea084f-0296-4b0a-9104-dba9bbd5928c/tasks/aeffd0d50354caa23.output</output-file> <status>completed</status> <summary>Agent "Fable whole-branch review" finished</summary> <note>A task-notification fires each time this agent stops with no live background children of its own. The user can send it another message and resume it, so the same task-id may notify more than once.</note> <result>All verification is green. Final re-review report: ## Re-review of c3b40ed (branch now fd1d21a..c3b40ed) **1. B1 genuinely resolved — verified, not just reworded.** The diff `fd1d21a..c3b40ed` for `list.html` contains zero changed HTML element lines: the row markup is an exact revert to baseline (`&lt;div rst-row&gt;`, plain `&lt;a href&gt;`). All three no-op rules, the `@media (hover: hover)` block, and `TestListRowsAreClickableAcrossTheWholeRow` are gone. The replacement comment (`internal/docs/views/list.html:67–87`) is factually accurate on every claim I could check: `[rst-row]` position:relative, the un-gated `:hover` tint, `[rst-row-main] &gt; a::after` with `inset: 0`, and the quoted rastrillo comment all match `tokens.css` at v0.22.0 verbatim. The remaining `[docs-row]`/`[docs-row-link]` strings appear only inside that comment, deliberately, and are harmless now that no test greps for them. Your hit-test reasoning is sound: the anchor's positioned `::after` paints above the in-flow thumb and timestamp spans (positioned boxes paint after normal flow at z-index auto), so `elementFromPoint` anywhere in the row resolves to the anchor — and `rgb(246,247,248)` is exactly day's light `--rst-surface-2` (`day.css:138`, `#f6f7f8`). Removing the rules was correct; the row is fully clickable with nothing of ours involved. **2. B2 genuinely resolved.** Positioning item 3 now says "designed and ruled, not yet shipped," cites `Store.Text`'s own doc comment, states no plaintext-grep test exists (true — I re-searched), and explicitly instructs against describing an instance as encrypting at rest. Principle 2's replacement claims are accurate (the gate really does check the bundle by rebuilding). The Locales correction (`Locales = []string{"en"}`, `render.go:148`), the empty-state full stop, and the §8.1.1 passkey narrowing are all correct against the sources. **3. Nothing broken by the removal.** `go build ./...`, `go vet`, `gofmt -l`, and the full test suite across all four packages re-run by me: green. No orphaned CSS or markup. The four remaining fixes are untouched by c3b40ed (it modifies only PRODUCT.md, assets_test.go, list_test.go, list.html) — back link, sign-in measure, mobile header CSS, and favicon all intact as reviewed. The rewritten `TestIconIsServedAndLinkedConsistently` now renders `/signin` and asserts the href in output — this correctly closes the parse-wiring gap and subsumes the file check (S2 done right). **4. Commit message accuracy.** The tokens.css line numbers (:500, :515, :558), the ui.TokensCSS() serving path, the rastrillo quote, the getBoundingClientRect explanation, the tautology mechanism, and the B2 facts are all accurate against what I independently verified. Two immaterial notes: "the mobile header at 133px" is a figure I could not verify without a browser (the CSS reasoning is sound; I take the measurement on the author's word), and the list.html comment writes "[rst-row] :hover" with a space — fine as prose, technically a descendant selector if read literally. Neither warrants holding the branch. **5. Nothing new in the delta is objectionable.** The nowrap/long-label note in list.html is the right call for an en-only catalog — a marker where the next person will look, not a premature fix. **MERGE** — both blocking findings are fixed at the root with the false record replaced by an accurate one, the four real fixes are intact, and build, tests, gofmt, and vet are all green on my own re-run.</result> <usage><subagent_tokens>148256</subagent_tokens><tool_uses>7</tool_uses><duration_ms>102222</duration_ms></usage> </task-notification>

diff --git a/internal/docs/views/list.html b/internal/docs/views/list.html
index 8a1c504..b7fea4c 100644
--- a/internal/docs/views/list.html
+++ b/internal/docs/views/list.html
@@ -73,7 +73,7 @@
element's own box and cannot see an absolutely positioned
pseudo-element. rastrillo already stretches this link over the
whole row. tokens.css gives [rst-row] position: relative, gives
- [rst-row] :hover the --rst-surface-2 tint, and gives
+ [rst-row]:hover the --rst-surface-2 tint, and gives
[rst-row-main] > a::after content:"" with inset: 0, under its own
comment: "The name link's overlay makes the whole row clickable
without nesting one anchor inside another."