Empty-content responses from the pool got through the single retry once
two companies ran concurrently; 3 attempts with 3s/6s backoff.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Decomposition now classifies each task kind (build/research/review);
research/review map to matching work_item types, dispatcher dispatches
them alongside task/subtask/defect
- Office: walled research room (bookshelves, reading table, own floor)
bottom-right; generalized room routing (per-room door waypoints);
workers on research-type tasks walk there and read (page-flip anim)
instead of sitting at a desk; break area moved to mid-floor
Verified live: research directive decomposed into 4 research + 1 build
task; worker rendered at the reading table.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Poll now includes blocked work items: when Hermes retries a transiently
blocked task and it is active again, the item auto-resumes (task.resumed
event) instead of staying blocked forever. Blocked items whose kanban
task is done/review are left alone — re-finishing them every tick would
spam events and duplicate cost entries.
- Extraction prompt: a QA/review task that finished its checks is
task.completed even when it found defects — findings are the
deliverable. Previously "accessibility fails" wording classified the
task as blocked.
Verified live: misclassified QA task re-extracted to done; transiently
blocked task auto-resumed; wall-clock cap fired on a 30-min runaway.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- POST /companies/{slug}/directives: free-form shareholder message becomes
an objective (reuses manager decomposition), logs directive.received
- Objective rollup now emits a CEO-voiced milestone.update event via one
pool call (plain-text fallback if the LLM call fails)
- _chat_structured retries once on empty/invalid JSON from the pool
(observed empty-content responses breaking protocol extraction)
- Dashboard: per-company shareholder textarea + CEO updates feed; refresh
skips DOM rewrite while a textarea is focused
Verified end-to-end: directive -> 3 tasks -> rework after handoff block ->
rollup -> CEO milestone update; gaswatch index.html now on-brand.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>