assist v0.548
A fix-conflict command and threaded PR comments
Resolving merge conflicts on a PR branch was a thing I did by hand every time, so it became assist fix-conflict: it checks out the branch, rebases onto the fresh remote default, and hands the conflicts to a session running in auto mode with a /fix-conflict command explaining the strategy. It shows up in the PR dropdown next to the review options, which is where I’m already standing when I discover the conflict.
assist prs comments now groups by thread rather than printing a flat chronological list. groupThreads builds the structure, renderThreadBlock prints each thread with its replies underneath, and each comment carries its id so a follow-up reply can target it directly. That output is what /review-pr-comments reads, and the flat version made it guess at which reply belonged to which conversation.
Adding an agent to an existing session got both more permissive and more honest. A finished session can now be joined — there’s no reason it shouldn’t be — but the decision moved to the daemon, which returns a joinRefusal the UI can show, instead of the browser guessing from stale card state and the join silently failing.
Also fixed: Codex status delivery, which was dropping reports when the hook fired before the session registered, and the resume-session flag on respawn, which fix-conflict needs to continue rather than restart.