oficina / estilo Public

docs: record the accent contrast constraint, drop a dangling pointer

theme/estilo.css told the reader to consult "the start branch's report"
for proposals raised while building it. That report is
.superpowers/start-report.md, which .gitignore excludes — so the pointer
resolved for exactly one session and was dead for everyone else. A
comment that names a source the reader cannot open is worse than no
comment, because it reads as though the reasoning was recorded.

The one finding in it worth keeping is now recorded in AGENTS.md, and
re-measured here rather than carried across: --rst-accent against
--rst-accent-soft is 4.7523:1 in light mode against a 4.5:1 AA floor, a
margin of 0.25, and the tightest pair in the table. Dark is comfortable
at 6.5875:1.

This is not a defect in day. It matters because estilo exists to hold
oficina-specific changes, a branding accent is the likeliest first one,
and nearly any shift to a lighter or less saturated blue puts that pair
under the floor -- so --rst-accent and --rst-accent-soft have to move
together and be re-measured as a pair.

The header comment is outside theme_test.go's byte-identical span, so
estilo remains byte-for-byte day past it; the suite is green.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01APtNStXDZ5H2fAc1ZuGqtS
Paul Campbell pushed by paul@keymail.dev ad0edf497feedb149403aadc7289ae1231c4f835 parent 01e2888
2 files changed, +28 −3
  • AGENTS.md +25 −0
  • theme/estilo.css +3 −3

CI passed — run details

diff --git a/AGENTS.md b/AGENTS.md
index 306d789..52b1aaa 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -215,3 +215,28 @@ record** — it survives a squash where a PR body does not. **A refusal gets
surfaced in the discussion, never routed around.**
🤖 / 👨 markers, `Co-Authored-By` trailers, published prompt ledgers.
+
+## Known constraints
+
+Measured facts about the inherited `day` values that bear on any future
+divergence. Recorded here rather than in a session report because they
+outlive the session, and because the first thing a suite is ever tempted
+to change is its accent.
+
+- **`--rst-accent` has almost no contrast headroom in light mode.**
+ Against `--rst-accent-soft` it sits at **4.7523:1** (`#2464e0` on
+ `#eef3fe`), where the WCAG 2.2 AA floor for normal text is 4.5:1 — a
+ margin of 0.25. It is the tightest pair in the table. Dark mode is
+ comfortable at 6.5875:1 (`#7ba7ff` on `#17233a`).
+
+ This is compliant today and is **not** a defect in `day`. It matters
+ because a suite-branding accent is the most likely first divergence,
+ and almost any hue shift toward a lighter or less saturated blue drops
+ this pair below the floor. Changing `--rst-accent` therefore means
+ changing `--rst-accent-soft` in the same commit, and re-measuring — not
+ measuring the accent against the page background and assuming the soft
+ pair followed.
+
+ Verified in this repo, not carried over from a report: contrast
+ computed from the two `light-dark()` values in `theme/estilo.css`
+ by the WCAG 2.2 relative-luminance formula.
diff --git a/theme/estilo.css b/theme/estilo.css
index 7e106ad..751b20f 100644
--- a/theme/estilo.css
+++ b/theme/estilo.css
@@ -15,9 +15,9 @@
another consumer three pins away.
Any value a future session proposes changing is a design decision
- for Paul, not this session — see the "start" branch's report for
- proposals raised while building this file, none of them applied
- here.
+ for Paul, not this session. Constraints worth knowing before that
+ conversation are recorded in AGENTS.md under "Known constraints";
+ none of them are applied here.
The look, inherited from day: the ordinary, personable interface. A
white page, a plain grey text scale, one friendly blue that means