- Shipped
- October 4, 2026 at 10:46 PM UTC
- Author
- Kamo
- Commit
- 1d5dc54
Task 20's harness on 33 screens x 16 shots (light/dark, 1440/390, empty/loading/error/full): axe serious or critical on 255 of 528 shots before, 15 after, all of them the app-wide items ruled in SP98-T21-2. - Theme tokens: no literal colour left in the listed files. Shared helpers: toneInk/toneChipSx, brandWash/ **************** TABLE_HEAD_SX, ComputerStateChip, profileSurfaceVars, accessLevels. The managers', Roles & permissions' and Phone settings' Tailwind colours become tokens; the supervisor picker too. - Plain-words errors: aiErrorMessage (T20's hand-off), approvalFailure, rehearsalFailure, hireStepNote, charterRefusal, hostedComputerRefusal, serviceSentence; every failed load an ErrorState with a retry. - Headings one level per region (the charter editor's headingLevel), EmptyStates with a next action, spinners named, approval rows open with Enter, the tier picker one radiogroup, a disabled row action keeps its tooltip. - Live: the approval page and dialog re-read their approval on its own kamoai frames (T9's hand-off); a retired or switched-off AI workstation offers no Watch or Take over (T17's hand-off). - The access log says its 37 event types, statuses and severities in words, mirrored from shared-lib with a parity test; the AI model field's example is provider-neutral. Rulings SP98-T21-1..7 (spec section 7).
