W-081: demo-anno ANNO-F05 part 2, messages, badges, needs attention¶
Type: feature · Size: M · Epic: E-anno-m1 · Target: apps/demo-anno · Breaking: no Depends: W-027, W-028, W-029, W-080 Refs: brief ANNO-F05; demo-anno spec ANNO-087..090, ANNO-092, ANNO-093, ANNO-095..099; ecs-schedule SCH-013
Goal¶
Second half of ANNO-F05, split from the feature because it would be L. Add the Messages log with observers on Idle, Blocked, and Starved that write only Messages (ANNO-087..090), the status Badge trait with economy/badges after economy/stock using three single-kind Or queries and write-if-differs (ANNO-096..098), the messages region (ANNO-092), the "Needs attention" list with keyboard focus (ANNO-093), and the cell refactor from statusOf to Badge with the render-count test (ANNO-099). Ends with the acceptance checklist A5 (ANNO-095, FPS and tick time at 4×). The ANNO-042 test from W-078 must pass unchanged here with its observers registered.
Steps¶
Not written. The Planner writes the ordered steps (/work W-081).
Log¶
- 2026-11-02 created from the approved spec (Triage). Split from ANNO-F05 (the second half of W-080). Size M; held in Later until W-027, W-028, W-029 and W-080 are done (Triage)
- 2026-11-02 Planner note: OQ16 needs a probe test for a destroyed entity in
Removedbefore any step relies on it, and the threeOrqueries stay single-kind. OQ15:Changed(Producer)andChanged(Housing)match every working producer and house each tick, so the change-only promise holds on theBadgewrites and renders. (Triage)