Judge the DIFF against these gates, in order. Flag correctness and requirement gaps only — lint owns style. Global standards load via CLAUDE.md; this file is ONLY fleetcrown's scars.
- API envelope is
{ok: true|false}— NOT the global{success, data}convention. This repo deliberately overrides it (see CLAUDE.md). - Dispatch/orchestration state has ONE owner — no new
/tmpsignal files, no newclaude-*compat paths, no second writer to dispatch status. The split-authority loop is the repo's #1 historical bug source (13 of 15 recent commits were dispatch reliability fixes). Regression net:scripts/test/dispatch tests — extend, never bypass. - Design system — only
ui-*component classes + tokens from globals.css; no arbitrary hex/radius/shadow. Checkcheck:designpasses. - Runner protocol changes need a runner RELEASE — publishing goes through
the
fleetcrown-releasesfeed (NOTfleetcrown); a protocol change without a release strands every installed runner.
- Tailwind v4 silently drops an entire
@layer componentsblock if any rule uses a responsive variant inside@apply(e.g.sm:p-6) — no error. If component classes vanish, check this first. - bashrc zellij auto-attach can hijack a runner-owned PTY — guard with
$BASH_EXECUTION_STRING(already in dotfiles; don't regress it).
npm run test:unitgreen (auto-discoversscripts/test/*.ts); CI green on PR.- Diff updates CLAUDE.md/docs if it changes documented structure/behavior.
- Second fix of the same bug class ships the rule/test that ends the class.