fix(embedded-agent): honor provider pick, survive reload, persist agent pins (v0.4.1)#53
Merged
Merged
Conversation
…nt pins, inline task grounding - Provider routing: built-in personas now inherit the global Settings -> Providers pick instead of the hardcoded claude-local; explicit per-persona pins (.annotask/agents.json) still win. Fixes apply runs spawning `claude` (and the resulting `spawn claude ENOENT`) when another CLI — e.g. copilot — was selected. - Agent settings persistence: stop wiping a saved per-persona model when the live model catalog can't be enumerated (Copilot's case), and display the saved value; a stale cross-provider model is cleared on provider change instead. - Reload survival: the spawn server keeps an applying CLI alive across a client disconnect (detach-grace) and finalizes the task on the child's own exit (clean exit -> review, interrupted/failed -> pending); the client no longer reverts the task to pending on pagehide and warns before an accidental reload. A stale orphan-finalize timer can no longer clobber a newer run for the task. - Autostart hardening: the headless auto-run driver warns when its single-run guard blocks a drain, and bounds each run so a hung send() can't wedge the FIFO. - Conversation styling: full GFM rendering (lists/headings/blockquotes/links/ tables), flex min-width so wide output doesn't scroll the whole panel, inline- code word-break, and a contrast fix on the agent-question banner; markdown links open in a new tab with rel=noopener. - Seed prompt inlines a compact task-grounding block (file/line/component + per- type context, via the shared buildTaskSummary) so the agent applies directly instead of reflexively calling annotask_get_task; heavy fields (screenshot, rendered HTML, interaction history) stay behind MCP.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reliability fixes for embedded agent mode, cut as v0.4.1.
Fixed
claude-local, so every apply/seed run spawnedclauderegardless of the provider chosen in Settings → Providers — surfacing asspawn claude ENOENTwhen claude wasn't installed (e.g. Copilot was selected). Built-in personas now inherit the global active provider; an explicit per-persona pin in.annotask/agents.jsonstill wins (resolveProviderForTaskType).review, interrupted/failed →pending). The client no longer reverts the task onpagehideand warns before an accidental reload. A stale orphan-finalize can't clobber a newer run for the same task.min-width: 0so wide output doesn't scroll the panel, inline-code wrapping, agent-question banner contrast, and links open in a new tab withrel="noopener".Changed
Task groundingblock (file/line/component + per-type context, via the shared task-summary) so the agent applies directly instead of reflexively callingannotask_get_task. Heavy fields (screenshot, rendered HTML, interaction history) stay behind MCP.Verification
review; force-kill →pending.Notes
npm publishruns locally (npm MFA/OTP), not via the release workflow.🤖 Generated with Claude Code