forked from Rockachopa/Timmy-time-dashboard
## Summary - CognitiveTracker.update() now emits `cognitive_state_changed` events to the SensoryBus - WorkshopHeartbeat (and other subscribers) react immediately to mood/engagement changes - Closes the sense → memory → react loop described in the Workshop architecture - Fire-and-forget emission — never blocks the chat response path - Gracefully skips when no event loop is running (sync contexts/tests) ## Test plan - [x] 3 new tests: event emission, mood change tracking, graceful skip without loop - [x] All 1935 unit tests pass - [x] Lint + format clean Fixes #222 Co-authored-by: kimi <kimi@localhost> Reviewed-on: http://localhost:3000/rockachopa/Timmy-time-dashboard/pulls/414 Co-authored-by: Kimi Agent <kimi@timmy.local> Co-committed-by: Kimi Agent <kimi@timmy.local>