Found while reworking #219, which re-verified the generated stylesheet against every template on next.
templates/target_edit.html arrived with #229 (closing #127). Counting class tokens across all templates on next: 19 are missing from the committed static/css/tailwind.css, including hover:text-red-700, which that new template uses.
static/css/tailwind.css is a committed, SERVED artefact and nothing in Dockerfile or script/ regenerates it, so whatever is in the tree is what users get. The target edit form therefore renders with unstyled elements on next right now.
This is the second time this exact defect has shipped — #219 originally added ten classes without regenerating, which left the chevron rendering at the 300x150 CSS default on every delivery row. Both instances have the same root cause: nothing verifies the artefact matches the templates. That systemic gap is #231, and fixing it is what stops a third occurrence.
Note the branch on #219 already carries a regenerated artefact covering all 147 class tokens with 0 missing, so landing that PR is expected to resolve this. Filed anyway so it is not lost if that PR changes shape, and so the defect on next is recorded rather than fixed as a side effect of an unrelated unit.
Definition of done:
static/css/tailwind.css on next contains every utility class used by every template, verified by a token diff rather than a spot check
the target edit form renders correctly
if #219 lands first and closes this, confirm the token diff on next afterwards and close with that evidence
Found while reworking https://git.eeqj.de/sneak/webhooker/pulls/219, which re-verified the generated stylesheet against every template on `next`.
`templates/target_edit.html` arrived with https://git.eeqj.de/sneak/webhooker/pulls/229 (closing https://git.eeqj.de/sneak/webhooker/issues/127). Counting class tokens across all templates on `next`: **19 are missing from the committed `static/css/tailwind.css`**, including `hover:text-red-700`, which that new template uses.
`static/css/tailwind.css` is a committed, SERVED artefact and nothing in `Dockerfile` or `script/` regenerates it, so whatever is in the tree is what users get. The target edit form therefore renders with unstyled elements on `next` right now.
This is the second time this exact defect has shipped — https://git.eeqj.de/sneak/webhooker/pulls/219 originally added ten classes without regenerating, which left the chevron rendering at the 300x150 CSS default on every delivery row. Both instances have the same root cause: nothing verifies the artefact matches the templates. That systemic gap is https://git.eeqj.de/sneak/webhooker/issues/231, and fixing it is what stops a third occurrence.
Note the branch on https://git.eeqj.de/sneak/webhooker/pulls/219 already carries a regenerated artefact covering all 147 class tokens with 0 missing, so landing that PR is expected to resolve this. Filed anyway so it is not lost if that PR changes shape, and so the defect on `next` is recorded rather than fixed as a side effect of an unrelated unit.
Definition of done:
- `static/css/tailwind.css` on `next` contains every utility class used by every template, verified by a token diff rather than a spot check
- the target edit form renders correctly
- if https://git.eeqj.de/sneak/webhooker/pulls/219 lands first and closes this, confirm the token diff on `next` afterwards and close with that evidence
clawbot
added this to the 1.0.0 milestone 2026-08-20 07:40:29 +02:00
Correction to the count in the issue body: it is 3 missing tokens, not 19.
Re-measured in the third review of #219 with a strict selector match (escaped identifier plus a non-identifier lookahead, so .border cannot be satisfied by .border-gray-200):
next at aba02bc: 132 class tokens, 3 missing — hover:text-red-700, text-red-500, underline
The 19 came from a looser count that the reviewer could not reproduce by any construction. The defect is real and hover:text-red-700 is genuinely used by templates/target_edit.html, so the target edit form does render wrong on next — only the magnitude was overstated.
The material claim is confirmed: landing #219 resolves this.
Correction to the count in the issue body: it is **3 missing tokens, not 19**.
Re-measured in the third review of https://git.eeqj.de/sneak/webhooker/pulls/219 with a strict selector match (escaped identifier plus a non-identifier lookahead, so `.border` cannot be satisfied by `.border-gray-200`):
- `next` at `aba02bc`: 132 class tokens, **3 missing** — `hover:text-red-700`, `text-red-500`, `underline`
- the branch on https://git.eeqj.de/sneak/webhooker/pulls/219: 143 tokens, 0 missing
The 19 came from a looser count that the reviewer could not reproduce by any construction. The defect is real and `hover:text-red-700` is genuinely used by `templates/target_edit.html`, so the target edit form does render wrong on `next` — only the magnitude was overstated.
The material claim is confirmed: landing https://git.eeqj.de/sneak/webhooker/pulls/219 resolves this.
Closed by #219, which regenerated static/css/tailwind.css from the current templates.
Evidence, from that PR's fourth review, measuring each ref's own templates against its own stylesheet:
next before the merge (3b0ed82): 4 missing — hover:text-red-700, text-red-500, underline, w-28
the merged branch: 0 missing
w-28 joined the set after this issue was filed, arriving with #240. The two independent counts of the total token set differ slightly (132/144 vs 134/145) on tokenizer edge cases, but the missing SETS agree exactly, which is the part that matters.
One correction for the record: the regeneration was NOT purely additive, as that PR's body claimed. Eleven selectors were dropped from the stylesheet — all stale or inlined by @apply, and transform is no longer needed because Tailwind v4 emits .rotate-180{rotate:180deg} standalone. Harmless, but the claim was wrong and is corrected here rather than left standing.
The systemic gap remains open at #231: tailwindcss is unpinned and nothing verifies the committed artefact matches the templates. This is the second time the stylesheet has drifted; fixing that issue is what prevents a third.
Closed by https://git.eeqj.de/sneak/webhooker/pulls/219, which regenerated `static/css/tailwind.css` from the current templates.
Evidence, from that PR's fourth review, measuring each ref's own templates against its own stylesheet:
- `next` before the merge (`3b0ed82`): **4 missing** — `hover:text-red-700`, `text-red-500`, `underline`, `w-28`
- the merged branch: **0 missing**
`w-28` joined the set after this issue was filed, arriving with https://git.eeqj.de/sneak/webhooker/pulls/240. The two independent counts of the total token set differ slightly (132/144 vs 134/145) on tokenizer edge cases, but the missing SETS agree exactly, which is the part that matters.
One correction for the record: the regeneration was NOT purely additive, as that PR's body claimed. Eleven selectors were dropped from the stylesheet — all stale or inlined by `@apply`, and `transform` is no longer needed because Tailwind v4 emits `.rotate-180{rotate:180deg}` standalone. Harmless, but the claim was wrong and is corrected here rather than left standing.
The systemic gap remains open at https://git.eeqj.de/sneak/webhooker/issues/231: `tailwindcss` is unpinned and nothing verifies the committed artefact matches the templates. This is the second time the stylesheet has drifted; fixing that issue is what prevents a third.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Found while reworking #219, which re-verified the generated stylesheet against every template on
next.templates/target_edit.htmlarrived with #229 (closing #127). Counting class tokens across all templates onnext: 19 are missing from the committedstatic/css/tailwind.css, includinghover:text-red-700, which that new template uses.static/css/tailwind.cssis a committed, SERVED artefact and nothing inDockerfileorscript/regenerates it, so whatever is in the tree is what users get. The target edit form therefore renders with unstyled elements onnextright now.This is the second time this exact defect has shipped — #219 originally added ten classes without regenerating, which left the chevron rendering at the 300x150 CSS default on every delivery row. Both instances have the same root cause: nothing verifies the artefact matches the templates. That systemic gap is #231, and fixing it is what stops a third occurrence.
Note the branch on #219 already carries a regenerated artefact covering all 147 class tokens with 0 missing, so landing that PR is expected to resolve this. Filed anyway so it is not lost if that PR changes shape, and so the defect on
nextis recorded rather than fixed as a side effect of an unrelated unit.Definition of done:
static/css/tailwind.cssonnextcontains every utility class used by every template, verified by a token diff rather than a spot checknextafterwards and close with that evidenceCorrection to the count in the issue body: it is 3 missing tokens, not 19.
Re-measured in the third review of #219 with a strict selector match (escaped identifier plus a non-identifier lookahead, so
.bordercannot be satisfied by.border-gray-200):nextataba02bc: 132 class tokens, 3 missing —hover:text-red-700,text-red-500,underlineThe 19 came from a looser count that the reviewer could not reproduce by any construction. The defect is real and
hover:text-red-700is genuinely used bytemplates/target_edit.html, so the target edit form does render wrong onnext— only the magnitude was overstated.The material claim is confirmed: landing #219 resolves this.
Closed by #219, which regenerated
static/css/tailwind.cssfrom the current templates.Evidence, from that PR's fourth review, measuring each ref's own templates against its own stylesheet:
nextbefore the merge (3b0ed82): 4 missing —hover:text-red-700,text-red-500,underline,w-28w-28joined the set after this issue was filed, arriving with #240. The two independent counts of the total token set differ slightly (132/144 vs 134/145) on tokenizer edge cases, but the missing SETS agree exactly, which is the part that matters.One correction for the record: the regeneration was NOT purely additive, as that PR's body claimed. Eleven selectors were dropped from the stylesheet — all stale or inlined by
@apply, andtransformis no longer needed because Tailwind v4 emits.rotate-180{rotate:180deg}standalone. Harmless, but the claim was wrong and is corrected here rather than left standing.The systemic gap remains open at #231:
tailwindcssis unpinned and nothing verifies the committed artefact matches the templates. This is the second time the stylesheet has drifted; fixing that issue is what prevents a third.