I3791 — A code block on /ui and the Cockpit carries the one highlighter's classes, and the audit refuses one that does not
Extend the ui audit with a rule over the site, /ui and the Cockpit that fails a pre or code block which carries neither the one highlighter's classes (I2747) nor the declared plain marker, naming the page, the width and the element, so a surface that renders code without the shared highlighter is refused wherever it appears.
BLOCKED wave 1 · p1 · implementation profile · parallel safe
Blocked. This issue cannot start until I2747 is done. The status is derived from that, not declared.
Objective
Extend the ui audit with a rule over the site, /ui and the Cockpit that fails a pre or code block which carries neither the one highlighter's classes (I2747) nor the declared plain marker, naming the page, the width and the element, so a surface that renders code without the shared highlighter is refused wherever it appears.
Why
I2747 makes one engine available; nothing measures that a page uses it. On 2026-10-20 cockpit::view::pre rendered schemas, files and monitor output as plain pre on /cockpit and in the snapshot, and /ui's prose rendered inline code only.
Current state
scripts/lib/ui-audit.mjs has no code rule; scripts/site-check checks that the highlight sheets exist and that every pre scrolls or wraps.
Desired state
ui-audit rule code.unhighlighted covers every surface; a block that is deliberately plain carries the declared plain marker; the marker for a highlighted block is shared with I3002's copy control.
Scope
- scripts/lib/ui-audit.mjs
- scripts/lib/ui.test.mjs
- apps/majordomus-cli/src/cockpit/view.rs
- apps/majordomus-cli/src/ui/prose.rs
- test/cases/3791_every_code_block_is_highlighted.sh
Dependencies
Acceptance criteria
- ui-audit fails a page with a pre that carries neither the highlighter's classes nor the plain marker, naming page, width and element
- The site, /ui and the Cockpit pass the rule on master
Validation
- bin/majordomus plan validate
- node scripts/lib/ui.test.mjs
- MJ_TEST_JOBS=4 bash test/run.sh 3791_every_code_block_is_highlighted
Evidence required
- code_unhighlighted_rule_case
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I3791.yaml. Read it back with majordomus plan show I3791.