commits on main
2026-09-18
06caca23 dawn prime-agent-runtime: create bash completion notices on the serving loop from executor threads
prime-agent-runtime: create bash completion notices on the serving loop from executor threads
8ed53d81 dawn coding-agent: resume another project's session where it recorded itself
coding-agent: resume another project's session where it recorded itself
2026-09-17
a94490ed dawn coding-agent: answer the tool call a replaced session left unresolved
coding-agent: answer the tool call a replaced session left unresolved
55834622 dawn agent,prime-agent-runtime: coalesce tool progress updates and kernel output frames
agent,prime-agent-runtime: coalesce tool progress updates and kernel output frames
b2ea96f2 dawn coding-agent: clear the session search deadline when a roster miss resolves
coding-agent: clear the session search deadline when a roster miss resolves
2276eb6f dawn coding-agent: deflake the tray ttl assertion at the minute boundary
coding-agent: deflake the tray ttl assertion at the minute boundary
8c0d11a4 dawn Merge branch 'worker-exit-attribution' into integration/audit-fixes
Merge branch 'worker-exit-attribution' into integration/audit-fixes
9e09089b dawn fix(coding-agent): attribute worker exit reasons and defer heartbeat stops for busy workers
fix(coding-agent): attribute worker exit reasons and defer heartbeat stops for busy workers
8f13aae5 dawn feat(coding-agent): add supported daemon restart path restoring active sessions
feat(coding-agent): add supported daemon restart path restoring active sessions
b829ea92 dawn Merge branch 'daemon-stale-state' into integration/audit-fixes
Merge branch 'daemon-stale-state' into integration/audit-fixes
4ebf5f8a dawn fix(coding-agent): reclaim stale session state, bound worker recovery, and heal via doctor
fix(coding-agent): reclaim stale session state, bound worker recovery, and heal via doctor
f31badc3 dawn Merge branch 'daemon-reattach-v6' into integration/audit-fixes
Merge branch 'daemon-reattach-v6' into integration/audit-fixes
8cc9f73a dawn fix(coding-agent): harden daemon reattach remap verdicts, replacement concurrency, and disposal
fix(coding-agent): harden daemon reattach remap verdicts, replacement concurrency, and disposal
6f4f502d dawn Merge branch 'kernel-bootstrap-v2' into integration/audit-fixes
Merge branch 'kernel-bootstrap-v2' into integration/audit-fixes
46b60f26 dawn Merge branch 'hostsafety-v2' into integration/audit-fixes
Merge branch 'hostsafety-v2' into integration/audit-fixes
6b8fbd8b dawn fix(coding-agent): harden kernel bootstrap lock, staging checks, import isolation and postinstall
fix(coding-agent): harden kernel bootstrap lock, staging checks, import isolation and postinstall
04ed5dac dawn fix(runtime): harden process-ownership boundary, adoption lifelines, and power/vram guards
fix(runtime): harden process-ownership boundary, adoption lifelines, and power/vram guards
ba0ddb10 dawn coding-agent: add a sessionRecap.enabled off switch for the daemon status recap
coding-agent: add a sessionRecap.enabled off switch for the daemon status recap
bebad881 dawn fix(coding-agent): recover a window whose daemon session is unrestorable instead of exiting
fix(coding-agent): recover a window whose daemon session is unrestorable instead of exiting
7d73c102 dawn fix(coding-agent): bound the daemon session reattach wait and report an unrestorable session
fix(coding-agent): bound the daemon session reattach wait and report an unrestorable session
a0da0afc dawn Merge branch 'kernel-venv-race' into integration/audit-fixes
Merge branch 'kernel-venv-race' into integration/audit-fixes
41530f81 dawn fix(coding-agent): match the runtime ready check to the current handle accessors
fix(coding-agent): match the runtime ready check to the current handle accessors
92214706 dawn fix(coding-agent): make the kernel venv rebuild atomic and the kernel runtime self-healing
fix(coding-agent): make the kernel venv rebuild atomic and the kernel runtime self-healing
5cc39544 dawn Merge branch 'daemon-reattach' into integration/audit-fixes
Merge branch 'daemon-reattach' into integration/audit-fixes
fc4906d5 dawn fix(coding-agent): remap activeSessionId on request and catch interactive slash errors
fix(coding-agent): remap activeSessionId on request and catch interactive slash errors
b475e71c dawn Merge branch 'host-safety' into integration/audit-fixes
Merge branch 'host-safety' into integration/audit-fixes
13830115 dawn prime-agent-runtime: process adoption, descendant ancestry walking, and runtime layout resolution
prime-agent-runtime: process adoption, descendant ancestry walking, and runtime layout resolution
fe99d3eb dawn Merge branch 'harness-hygiene' into integration/audit-fixes
Merge branch 'harness-hygiene' into integration/audit-fixes
5ff35509 dawn Merge branch 'daemon-reattach' into integration/audit-fixes
Merge branch 'daemon-reattach' into integration/audit-fixes
348df40d dawn feat(coding-agent): curate restored state, frame heartbeats, and add violation counters
feat(coding-agent): curate restored state, frame heartbeats, and add violation counters
5a49ecd8 dawn fix(coding-agent): handle session remap and initial attach during daemon restarts
fix(coding-agent): handle session remap and initial attach during daemon restarts
74b12613 dawn prime-agent-runtime: scoped process control and desktop safety preflight
prime-agent-runtime: scoped process control and desktop safety preflight
02aa818c dawn fix(coding-agent): survive daemon restarts and retry re-attachment with backoff
fix(coding-agent): survive daemon restarts and retry re-attachment with backoff
c99e22f8 dawn Merge branch 'tool-ergonomics' into integration/audit-fixes
Merge branch 'tool-ergonomics' into integration/audit-fixes
98a385e6 dawn rlm: treat partial stdin consumption as accounting, not a delivery failure
rlm: treat partial stdin consumption as accounting, not a delivery failure
e5f052c6 dawn refactor(coding-agent,tui): call the feature a pasted file, one line and no hash
refactor(coding-agent,tui): call the feature a pasted file, one line and no hash
3e658fe3 dawn rlm,ssh: unify handle and result text accessor and add accountable stdin and copy verification
rlm,ssh: unify handle and result text accessor and add accountable stdin and copy verification
7ca9a37a dawn docs(coding-agent): note the alt+k spill toggle in the changelog
docs(coding-agent): note the alt+k spill toggle in the changelog
123498dc dawn fix(coding-agent): let alt+k toggle a live spill, since shift+alt+k needs a kitty terminal
fix(coding-agent): let alt+k toggle a live spill, since shift+alt+k needs a kitty terminal
2d9b647b dawn Merge branch 'spill-markers' into integration/audit-fixes
Merge branch 'spill-markers' into integration/audit-fixes
bbf12bcb dawn feat(interactive): spill large or secret pasted text outside transcript
feat(interactive): spill large or secret pasted text outside transcript
4a2988bd dawn test(coding-agent): assert the composed spawn brief on the wire
test(coding-agent): assert the composed spawn brief on the wire
dd7ebbb5 dawn Merge branch 'rebase-agent-repair' into integration/audit-fixes
Merge branch 'rebase-agent-repair' into integration/audit-fixes
4ea37843 dawn Merge branch 'fix-spawn-contract-docs' into integration/audit-fixes
Merge branch 'fix-spawn-contract-docs' into integration/audit-fixes
5eed86fb dawn feat(rlm): compose invariant child brief sections and warn on unlinted briefs
feat(rlm): compose invariant child brief sections and warn on unlinted briefs
4b747db5 dawn test(coding-agent): stop the tray ttl case from depending on wall-clock luck
test(coding-agent): stop the tray ttl case from depending on wall-clock luck
The label derives its ttl text from the clock, so a loaded machine lands a second past the four-minute mark and the exact string flips to `4m 1s`. Assert the ratio and the minute instead; the seconds are the clock's, not the view's.
73ecb005 dawn test(coding-agent): keep the deadline test under the cell sleep limit
test(coding-agent): keep the deadline test under the cell sleep limit
The cell-deadline test blocked with `time.sleep(30)`. The cell sleep guard (3cfe321e5) refuses a cell-code sleep above RLM_CELL_SLEEP_LIMIT (default 10 s), so the cell ended with status "error" before the 1.5 s deadline could abort it. Block for 5 s instead: under the guard's default limit, still well past the deadline, so the test keeps covering the deadline rather than the guard. Negative control: with `time.sleep(30)` restored the test fails again (expected "aborted", received "error"); with 5 s the file is 11/11.
eedee091 dawn test(coding-agent): keep the deadline test under the cell sleep limit
test(coding-agent): keep the deadline test under the cell sleep limit
The cell-deadline test blocked with `time.sleep(30)`. The cell sleep guard (3cfe321e5) refuses a cell-code sleep above RLM_CELL_SLEEP_LIMIT (default 10 s), so the cell ended with status "error" before the 1.5 s deadline could abort it. Block for 5 s instead: under the guard's default limit, still well past the deadline, so the test keeps covering the deadline rather than the guard. Negative control: with `time.sleep(30)` restored the test fails again (expected "aborted", received "error"); with 5 s the file is 11/11.
63cf36e8 dawn fix(coding-agent): set the agent-message key in the huge-body render case
fix(coding-agent): set the agent-message key in the huge-body render case
Agent-message bodies follow the fork's own expansion key, so the regression case that guards the JavaScript argument limit has to expand that key too; its subject is the huge body, not which key reveals it.
f640661b dawn feat(coding-agent): keep the fork's per-category expansion keys and the tray model label
feat(coding-agent): keep the fork's per-category expansion keys and the tray model label
The rebase left upstream's single conversation-detail cycle in place and dropped the fork's two extra keys. Restore them on top of the cycle: - app.messages.expand (ctrl+p) and app.edits.expand (ctrl+j) are back in KEYBINDINGS with their editor scope, their onAction wiring, the summary line's chat-action path, and their shortcuts-help hints - agentMessagesExpanded is tri-state: undefined follows the detail level, a key press pins it, so ctrl+p flips what is on screen either way while ctrl+o keeps cycling overview -> details -> all - applyChatExpansion and the component-creation sites use that state, and ToolExecutionComponent/IPythonCellComponent carry it so sent agent messages expand on their own key (the ipython cell shows the key hint) - conversation-components honors options.agentMessagesExpanded - the tray context label carries the model id, its effort and the fast tier again, with the fork's cached-ratio wording and the cache ttl on their own segments; getModelContextLabel stays plain so callers style it - keybindings-migration now asserts the two actions exist, and the tray test fakes declare the model getter they rely on