- Each crow is a tile: live avatar, name, latest update, time;
the most recently updated tile moves to the top
- Red "N waiting" count per tile tracks open questions separately
from the latest update, so a newer update never hides one
- Phones: no crow strip; two tabs (# todo, Flock) with a count of
crows waiting on you
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UQnSw4RRWp8uqpj3nsnnXF
- The flock is a member list with live status (perched, flying,
waiting on you, grounded); a scrolling strip on phones
- The Sentry and crows post into one channel; approvals are inline
buttons on their messages; verdicts show as reactions
- "Who's flying" line above the composer; Ctrl/Cmd+Enter to send
- Consecutive messages from one author group under one name
- RIVE_CONTRACT.md: roster size and still message avatars
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UQnSw4RRWp8uqpj3nsnnXF
- Cream paper, hand-drawn ink borders, engraving-era type
(IM Fell English SC, EB Garamond)
- Stipple shadows from a seamless, randomly dotted tile (fixed seed)
- Trust badges are ink stars; Sentry and Elder marked by nameplate
- Smokey's crow art unchanged
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UQnSw4RRWp8uqpj3nsnnXF
- ui/: Vite + plain TypeScript, builds into ./web for `crows serve`
- CrowView mirrors CrowModel in RIVE_CONTRACT.md (pose, trust,
reactions) so the .riv can replace the SVG later
- Event handling follows the contract's mapping table; server text
is only ever inserted as text
- Prank: toast plus a send-button cooldown countdown
- art/crow.svg: source art for Rive import
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UQnSw4RRWp8uqpj3nsnnXF