n.siegfried 2485ca7b61 T3.3 - S5: fix .field-hint properly and retire the comment it left behind
The comment at work-package-suite-styles.css:395 recorded the consequence of the
four token systems: .field-hint's only rule lived in wp-creation-styles.css,
which the wizard does not link, so the class rendered as unstyled body text. The
rule was later added to the wizard sheet, but as a SECOND rule with declarations
byte-identical to the .field small rule four lines above it - the same
duplication that caused the original bug, in miniature.

Merged into one rule under both selectors, so they cannot drift apart again, and
deleted the comment. It described a fixed problem, and its account of where the
class is used was wrong anyway: .field-hint appears once on the wizard, not in
"step 2's CM hint, the team-member notices".

The colour is deliberately untouched. --text-dim is #8d8d8d, which measures
3.3:1 on white and which console.css:103 already rejected for exactly this job -
but propagating that fix is T4.6, which is told to re-measure rather than inherit
either published figure. Fixing it here would change a rendered value in a wave
that must produce none, and would take the decision away from T4.6.

THE HUNT for the same class of failure elsewhere, which is the rest of the task.

Statically, per page, over every stylesheet that page actually links plus its own
inline <style>: every bare var(--x) reference where --x is declared by no sheet
the page loads. That is the .field-hint failure exactly, and it is the one that
renders nothing rather than rendering wrong.

  login 32 refs, launcher 54, sop 67, creator 92, admin 100, users 100, field 56
  unresolvable: 0 of 501

Zero, and structurally zero from here on: after T3.2 every token resolves from
theme-light.css, which all seven pages link first. The failure mode is no longer
possible rather than merely absent.

In the browser, on all seven pages: every class on a real element that no rule in
any loaded stylesheet targets, including the sheets help.js and wp-creation-app.js
inject at runtime. One candidate, and it is not a defect - .team-pick on the
wizard's four project-team selects is a JS hook that sits beside data-team, and
the selects are inside .field, so .field select styles them. Its sibling
.user-pick needs its own rule only because those two selects sit OUTSIDE .field,
which the comment there already explains.

Stated as a limitation rather than left implicit: the browser half sees each page
in its load state, so a class applied only on interaction would not appear in it.
The static half has no such gap - it covers every rule in every sheet regardless
of what is on screen - and it is the half that catches this particular bug.

Verification: token_check reports every token and all 3,500 elements identical to
wave 2 on all 7 pages.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 18:54:17 -05:00
Description
No description provided
8.9 MiB
Languages
Python 49.3%
JavaScript 32.6%
CSS 8.9%
HTML 8.7%
Shell 0.4%