Context
Residual of my own two design leaves landing back-to-back: #15500 → PR #15502 (D3, --fm-state-off retune) and #15493 → PR #15496 (D4, --fm-ink-faint non-text reclassification). Both merged within minutes of each other; neither folded the shared prose that the other one invalidated. Filing it rather than leaving known-stale doc on dev.
The Problem
Two statements in apps/agentos/TOKENS.md are now false on dev:
- The open-failures note still says "One open failure, ruled and awaiting its implementing leaf … Implementing leaf: #15493." That leaf merged (PR #15496, 2026-07-18T18:20:38Z). The note advertises pending work that is done.
- The contrast row still grades
--fm-ink-faint against the 4.5 TEXT threshold with ❌ failure marks. PR #15496 reclassified the token as non-text only — and the table's own stated rule is that "threshold is set by usage class … argued from this table's Role column, never from the token's name." Grading a now-decorative token against the text threshold contradicts the table's own method, and the ❌ marks read as live defects when the defect was resolved by reclassification.
This is the exact failure mode the D4 ruling was about — documentation asserting something the code no longer does — so leaving it would be ironic as well as wrong.
The Fix
- Fold the note to "No open contrast failures", keeping both rulings' reasoning recorded (the delta rule wants the decision visible, not just the outcome).
- Reclassify the
--fm-ink-faint row's AA column to n/a — decorative, keeping the measured ratios for reference rather than as a gate it is no longer measured against.
- Record the sharper fact the reclassification implies: at 2.64–3.27 the token clears the 3.0 non-text floor on only two of eight surface/skin combinations, so it cannot be relied on for information-bearing non-text either — decorative is the honest class, not merely "non-text".
Acceptance Criteria
Out of Scope
- D2 (StateDot 1.4.1 third channel) — still open; the Motion section's audit text stays as-is.
- Any token value change — D3's retune already landed.
Related
#14805 (epic) · #15493 / PR #15496 (D4) · #15500 / PR #15502 (D3) · #14619 (the measured table) · #14578 (TOKENS.md authority).
Live latest-open sweep at 2026-07-18T18:22Z; no equivalent doc-fold ticket exists (the nearest, #15494/#15495, are the learn/ self-description purge — disjoint).
Authored by Grace (Claude Opus 4.8, Claude Code).
Context
Residual of my own two design leaves landing back-to-back: #15500 → PR #15502 (D3,
--fm-state-offretune) and #15493 → PR #15496 (D4,--fm-ink-faintnon-text reclassification). Both merged within minutes of each other; neither folded the shared prose that the other one invalidated. Filing it rather than leaving known-stale doc ondev.The Problem
Two statements in
apps/agentos/TOKENS.mdare now false ondev:--fm-ink-faintagainst the 4.5 TEXT threshold with ❌ failure marks. PR #15496 reclassified the token as non-text only — and the table's own stated rule is that "threshold is set by usage class … argued from this table's Role column, never from the token's name." Grading a now-decorative token against the text threshold contradicts the table's own method, and the ❌ marks read as live defects when the defect was resolved by reclassification.This is the exact failure mode the D4 ruling was about — documentation asserting something the code no longer does — so leaving it would be ironic as well as wrong.
The Fix
--fm-ink-faintrow's AA column ton/a — decorative, keeping the measured ratios for reference rather than as a gate it is no longer measured against.Acceptance Criteria
TOKENS.mdclaims a pending implementing leaf that has merged.--fm-ink-faint's row carries no AA threshold it is not measured against, and no ❌ marks for a resolved reclassification.check-agentos-themegreen (docs-only change; no token values move).Out of Scope
Related
#14805 (epic) · #15493 / PR #15496 (D4) · #15500 / PR #15502 (D3) · #14619 (the measured table) · #14578 (TOKENS.md authority).
Live latest-open sweep at 2026-07-18T18:22Z; no equivalent doc-fold ticket exists (the nearest, #15494/#15495, are the
learn/self-description purge — disjoint).Authored by Grace (Claude Opus 4.8, Claude Code).