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
Petrus (room, 2 Sep 00:34): "claudemb had good ideas how to improve IAK plumbing to make conversation tracking easier for all of you, i asked him to go ahead." This issue is the design, with the evidence from one evening in thinkoff-development. Every item is a product change for all cloners, none is prompt-tuning for one agent.
What went wrong tonight (evidence)
Time (UTC)
Agent
What happened
Plumbing cause
17:24
hermes (M5 poller)
replayed its backlog; claudemm found the state file had not saved since 31 Aug
seen-state written per batch, and the save had been failing silently
19:30
hermes
read "new card" as a GPU card and ran lspci; "card" meant the benchmark table, settled in messages it never saw
mention delivered with a 100-char preview of the parent, no thread
21:33 to 21:34
codexmb
posted the same PR 24 review five times
launchd poller crash-looping on api_key_file (#86, fixed #87), no seen-state; every nudge re-read the window
21:44
hermes
repeated the "memory downclocked 8532 to 8000" claim after it had been corrected at 21:37; answered "Welcome Fable 5.1" as if addressed to it
no settled-facts memory; no addressing gate
23:52
codexmb
two different answers to one mention, 8 s apart
two wake paths (webhook nudge + the Codex app's own check-rooms automation)
all evening
hermes, codexmb
multi-paragraph posts to one-line asks; re-verifying settled points
Deliver the thread, not the window. With every mention or reply, hand the agent the full parent message, the reply chain above it (up to N), and the asker's previous message in the room. Today the wake carries a 100-character preview.
Addressing gate in code. An agent answers when @mentioned, when replied to, or when the owner asks an open question that no other agent has claimed within ~20 s. Claims are reactions (👀 / 👍), which needs Pollers should deliver message reactions so task claims are visible to agents #78 (pollers deliver reactions). Agents that are not addressed stay silent by default.
Exactly one wake path per agent. Webhook, poller nudge, or in-app automation: one. nudge: one wake per window - debounce the second nudge path #89 (debounce) is a belt, not the fix. The poller should refuse to nudge when another path is configured, and the config should say which path is authoritative.
Post budget. Room posts capped (suggest 700 chars) unless the ask contains "write it up" or the agent is answering a question that asked for detail; long form goes to the room scratchpad with a one-line pointer in the room. Enforced in the poster helper, not in prompts.
Per-room "state of play" scratchpad. A short document of settled facts, appended by whoever settles one ("card = benchmark table v2", "BIOS parked until Helsinki", "LPDDR5X-8000 is the spec"), prepended to every wake prompt. Cheap shared memory; would have prevented three misreads tonight.
Wake prompt carries the agent's own recent posts. Two or three of the agent's last messages in the room, so it knows what it already said and does not re-verify or re-answer.
"Host slept" in the down-alert. A stale heartbeat while the poller's err log has not grown since the heartbeat stopped means the host was suspended, not the poller failing; say so (and quote the last pmset -g log sleep/wake line on macOS). Evidence: 02:09 alert fired on codexmb's poller during a 921 s Maintenance Sleep; the poller was fine. PR health alert: say when the host slept, not the poller failed (#90 item 9) #94.
Split
1, 4, 7-heartbeat are in flight in IAK (#87 merged, #89 draft, claudemm). Items 2, 3, 6 and the post budget (5) are new poller and hook work. Proposal: claudemm keeps 1 and 4 (already in that code tonight); claudeMB takes 2 and 6 first (thread delivery + state of play, the two that fix "conversation tracking" directly), then 3 and 5 after #78 lands. Each as its own PR with the cross-review rule.
Petrus (room, 2 Sep 00:34): "claudemb had good ideas how to improve IAK plumbing to make conversation tracking easier for all of you, i asked him to go ahead." This issue is the design, with the evidence from one evening in thinkoff-development. Every item is a product change for all cloners, none is prompt-tuning for one agent.
What went wrong tonight (evidence)
api_key_file(#86, fixed #87), no seen-state; every nudge re-read the windowChanges, in priority order
Seen-state per message, fsynced, with a start-failure alert. Write the marker after each handled message, not per batch. Alert the room once when a poller cannot start or the heartbeat goes stale (config: <name>_file secrets; poller heartbeat, nudge gate, one-time health alert (fixes #86) #87 has the heartbeat and alert for codex; apply to every poller: M5 hermes, Mini, MacBook).
Deliver the thread, not the window. With every mention or reply, hand the agent the full parent message, the reply chain above it (up to N), and the asker's previous message in the room. Today the wake carries a 100-character preview.
Addressing gate in code. An agent answers when @mentioned, when replied to, or when the owner asks an open question that no other agent has claimed within ~20 s. Claims are reactions (👀 / 👍), which needs Pollers should deliver message reactions so task claims are visible to agents #78 (pollers deliver reactions). Agents that are not addressed stay silent by default.
Exactly one wake path per agent. Webhook, poller nudge, or in-app automation: one. nudge: one wake per window - debounce the second nudge path #89 (debounce) is a belt, not the fix. The poller should refuse to nudge when another path is configured, and the config should say which path is authoritative.
Post budget. Room posts capped (suggest 700 chars) unless the ask contains "write it up" or the agent is answering a question that asked for detail; long form goes to the room scratchpad with a one-line pointer in the room. Enforced in the poster helper, not in prompts.
Per-room "state of play" scratchpad. A short document of settled facts, appended by whoever settles one ("card = benchmark table v2", "BIOS parked until Helsinki", "LPDDR5X-8000 is the spec"), prepended to every wake prompt. Cheap shared memory; would have prevented three misreads tonight.
Wake prompt carries the agent's own recent posts. Two or three of the agent's last messages in the room, so it knows what it already said and does not re-verify or re-answer.
"Host slept" in the down-alert. A stale heartbeat while the poller's err log has not grown since the heartbeat stopped means the host was suspended, not the poller failing; say so (and quote the last
pmset -g logsleep/wake line on macOS). Evidence: 02:09 alert fired on codexmb's poller during a 921 s Maintenance Sleep; the poller was fine. PR health alert: say when the host slept, not the poller failed (#90 item 9) #94.Split
1, 4, 7-heartbeat are in flight in IAK (#87 merged, #89 draft, claudemm). Items 2, 3, 6 and the post budget (5) are new poller and hook work. Proposal: claudemm keeps 1 and 4 (already in that code tonight); claudeMB takes 2 and 6 first (thread delivery + state of play, the two that fix "conversation tracking" directly), then 3 and 5 after #78 lands. Each as its own PR with the cross-review rule.