You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fix: DM processing state is missing — message pending->processing and Bot avatars should show working #536
A Human DM message is admitted to the Bot Inbox as pending (admission pending/retryable, delivery state pending).
As soon as a turn (steer or a fresh turn) actually takes it into the prompt, the message shows processing (blue), and the Bot's presence shows it is working — in the Channel body footer avatar (with its motion) and in the app sidebar avatar.
Observed
After sending a DM message, no processing state appears: neither the Channel body footer avatar nor the app sidebar avatar shows the Bot working, even while the turn runs.
Pointers to verify
Per-message states exist client-side: packages/client/src/client/channel-delivery-receipt.tsx renders delivery states with --bh-delivery-color-<state>; Host tests assert running → handled on both the steer and non-steer paths.
The avatar state comes from bot.aggregateState via toBotState (packages/client/src/client/bot-sidebar.tsx:317); the Host tracker is packages/core/src/state/bot-state.ts. Check whether an Orchestrator turn (DM, steered or not) ever flips the aggregate state to a working value, whether that change is streamed to the client, and whether the client has a distinct visual (colour/animation) for it in the sidebar avatar and the Channel body footer avatar.
Check the DM Channel body footer avatar specifically (composer area) versus the sidebar one; the two may read different state sources.
Acceptance criteria
While a DM turn is running (steered or fresh), the message shows processing and both avatars show the working state with their motion.
When the turn succeeds the visuals settle to the handled/idle state; on failure the message shows the needs-repair state.
Refs #528 (the steer path) — the admission/delivery transitions are already covered by Host tests; this is the presence/visual layer.
Task: codex/local/01a0e445-0c0f-70e1-bad4-fd99c8cfaa21 (not a DSH Session)
Issue scope: reproduce and fix the real DM processing/presence path using one Host-owned activity snapshot across sidebar and composer; preserve message admission settlement. Audit the handed-off PR feat(activity): sync DM presence from Host projection #230, retain applicable work, and validate against current main with real DSH evidence and fresh Human QA.
Branch: codex/536-live-dm-activity
Started: 2026-10-01 07:47 UTC
State: active
#120 previous task explicitly handed off PR #230 for review; #536 currently has no task claim. This task takes over the shared runtime path under Human's approved sequence. Old PR #230 will remain open until replacement or integration is verified; its recorded Human QA and task history are retained.
PR: #659, head 23e7efa59a14338261a7f05a9911d8c8bd1e272a.
Result: actual Host-owned activity is delivered live to the shared row/pinned/rail/composer Avatar; directly admitted Human DMs publish running when their prompt starts, and stream connection supplies current receipt baselines.
Verification: real isolated DSH fresh-turn and steer cases completed native Memory operations and model replies; both input admissions entered running and settled handled. Three sidebar layouts showed actual thinking/working and idle settlement. PR contains immutable, accessible screenshots and sanitized records. Final Linux CI passed lint, format, typecheck, full tests, build and docs; the CodeRabbit stream-reader finding is fixed and its thread resolved; final head CodeRabbit completed with no new actionable comments.
Human QA: pending, not inferred from automated evidence. No merge or issue closure yet.
Activity
DoodleBears commentedon Oct 1, 2026
Agent work claim
codex/local/01a0e445-0c0f-70e1-bad4-fd99c8cfaa21(not a DSH Session)codex/536-live-dm-activity#120 previous task explicitly handed off PR #230 for review; #536 currently has no task claim. This task takes over the shared runtime path under Human's approved sequence. Old PR #230 will remain open until replacement or integration is verified; its recorded Human QA and task history are retained.
test: verify public activity gateway and latest-main DM steer
test: stop admission reader when its stream closes
test: redact machine-local paths from DM screenshots
test: keep screenshot path redaction across renders
DoodleBears commentedon Oct 1, 2026
Agent work outcome
codex/local/01a0e445-0c0f-70e1-bad4-fd99c8cfaa2123e7efa59a14338261a7f05a9911d8c8bd1e272a.DoodleBears commentedon Oct 1, 2026
Agent work outcome
codex/local/01a0e445-0c0f-70e1-bad4-fd99c8cfaa2123e7efa59a14338261a7f05a9911d8c8bd1e272a, squash commit f9211ba5. Final CI and CodeRabbit checks passed.