## kdlbs/kandev — v0.94.0…v0.95.0

_239+ commits._

### Features
- **feat(office): implement taskless runs and Office mode repairs (#3777)** (3c1bf2d)
- **feat(automation): add webhook alert dedup, filters, and repo selector (#3719)** (e36746a)
- **feat(office): report routine schedule state and harden coordinator install (#3763)** (8641c5b)
- **feat(office): let a scheduled coordinator agent see the board and flag blockers (#3723)** (18516c8)
- **feat(inbox): surface unanswerable questions in a new History tab (#3679)** (4692c53)
- **feat: make session capacity opt-in (#3790)** (b1b095f)
- **feat: add workflow import profile selection (#3771)** (8966a60)
- **feat: make task actions keyboard accessible (#3767)** (2c3c2a8)
- **feat(ui): add smooth chat animations and scrolling (#3758)** (57bbae1)
- **feat(ui): add adaptive Kanban scrolling cues (#3739)** (25d4a97)
- **feat(agents): show configured fallback in profile rows (#3754)** (33b1d23)
- **feat: show CLI provider icons in composer model picker (#3760)** (e8e8bcf)
- **feat: add prompt-history plugin to catalog (#3757)** (f32eb37)
- **feat: protect agent plan edits and recover revisions (#3745)** (b1b8857)
- **feat: scope sidebar task views by workspace (#3731)** (5450be9)
- **feat(backend): compute review-round entry number server-side (#3266)** (e48ca9b)
- **feat: preview workflow moves before execution (#3677)** (044a823)
- **feat(plugins): register Redmine marketplace entry (#3684)** (031c1b4)
- **feat(agents): add OpenAI-compatible provider primitive for coding agents (#3233)** (209c454)
- **feat(settings): reorganize storage settings and improve retention UX (#3695)** (aae5a72)
- **feat(plugins): port agent_conversation Host contract from the maintained fork (#3672)** (60aef37)
- **feat(plugins): add generic approval ledger and receipts (#3238)** (cb9752b)
- **feat(web): add a Failed tab to the Needs-you Inbox (#3683)** (37cea5a)
- **feat: improve PR walkthrough impact summaries (#3706)** (dcca12b)
- **feat(mcp): add provider-neutral change request tools (#3671)** (71dbffe)
- **feat(plugins): add signed webhook automation adapters (#3692)** (411f56b)
- **feat(alertsource): let new alert sources share storage, not a table per integration (#3694)** (a0774f4)
- **feat(orchestrator): add instance-wide agent session concurrency ceiling (#3687)** (f8fc3bf)
- **feat: add prompt history plugin Host prerequisites (#3588)** (2b1d0cf)
- **feat: identify symlinks in changes and files (#3675)** (6c5ab15)
- **feat(ui): reveal collapsed sidebar on configurable hover (#3678)** (b10ed80)
- **feat: add optional tool payload retention (#3668)** (33c66bc)
- **feat(kubernetes): add explicit Docker workload recipe (#3648)** (4a0399d)
- **feat(ui): compact task prompt chips (#3665)** (da204b8)
- **feat(mcp): handle task change links (#3506)** (262ecdf)
- **feat: make new task auto-focus optional (#3653)** (cc6077f)
- **feat: restore Quick Chat tabs and expose agent goals (#3645)** (bb784a1)
- **feat: add canvas marketplace distribution and sharing (#3603)** (ba960f9)
- **feat: explain divergent contribution histories (#3627)** (5c6434d)
- **feat(ui): group homepage view settings (#3658)** (c86a16b)
- **feat(ui): add workspace Needs-you Inbox for pending agent questions (#3641)** (36dd762)
- **feat(web): add priority sort and filter to the kanban board (#3344)** (8d01756)
- **feat(office): bound run history growth with a scheduled retention sweep (#3566)** (f529d4b)
- **feat(executors): keep worktree and local agents running across a backend restart (#3467)** (e75c8b3)
- **feat: open canvas setup dialog directly (#3587)** (32b21c8)
- **feat(tasks): allow switching a task's executor before materialization (#3559)** (20308a2)
- **feat(threads): add grid layouts and auto-hide composers (#3626)** (f718c50)
- **feat(office): add a workspace-wide pause to halt autonomous agent launches (#3536)** (88d73ab)
- **feat(web): drag-and-drop reorder kanban task cards within a column (#3623)** (6ff4130)
- **feat: add temporary storage visibility and cleanup (#3633)** (a5fe427)
- **feat: show workflow step progress (#3638)** (9e8783f)
- **feat(office): make the unattended loop legible end-to-end (#3613)** (fbb673d)
- **feat(agentctl): push to a caller-named remote and branch, not just origin (#3558)** (df3c914)
- **feat(executors): detect and tear down dead SSH session transports (#3581)** (aebb01e)

### Fixes
- **fix(orchestrator): preserve step prompt across async agent start failure (#3792)** (1b02c5f)
- **fix(integrations): stop sentry and gitlab from leaking other workspaces' issue watches (#3681)** (26254fe)
- **fix(office): retry a transient agent failure before it auto-pauses the agent (#3725)** (5181364)
- **fix: stabilize workflow move preview invalidation (#3787)** (dd8216f)
- **fix: repair chat markdown section separators (#3785)** (60ba2ac)
- **fix: recover stale workflow completion signals (#3772) (#3788)** (9a91446)
- **fix: restore session-open conversation recovery (#3789)** (c8a0b42)
- **fix: preserve resumed agents after accepted turn cancellation (#3791)** (2f15db8)
- **fix: preserve workflow prompts after async startup failure (#3753) (#3768)** (0b41329)
- **fix: preserve repository discovery results and recovery (#3766)** (81b5941)
- **fix: prevent ceiling replay lock cycles (#3779)** (f4c9131)
- **fix(agents): restore prompt readiness after remote reconnect (#3774)** (0a5e79f)
- **fix: break ceiling replay boot deadlock (#3776)** (a9c6165)
- **fix: coalesce streamed agent plan messages (#3764)** (f6850d2)
- **fix: retry transient Cursor RetriableError failures (#3765)** (81b6d0d)
- **fix: coordinate maintenance health and compaction status recovery (#3770)** (9527e1d)
- **fix: align task summary semantic equality (#3769)** (4286487)
- **fix: preserve queued session ownership and visibility (#3755)** (c5dbb45)
- **fix: unify executor profile editor routes (#3740) (#3762)** (c277822)
- **fix(office): routine create/save persists every field and can arm a cron schedule (#3759)** (cf9c98d)
- **fix(dynamic-routing): stop scrambling and truncating dynamic-agent launch prompts (#3741)** (b99ac97)
- **fix(office): stop mark fixed from silently discarding a newer pause reason (#3734)** (3faf244)
- **fix(ui): show archive progress before removal (#3730)** (79894dc)
- **fix: preserve file-tree rows after hidden panel restore (#3744)** (6d8e54f)
- **fix: improve condensed workflow hover interaction (#3746)** (5806653)
- **fix(orchestrator): warn when auto-start is skipped for unresolved dependencies (#3724)** (1981b37)
- **fix(mcp): name unknown tool arguments and state task binding (#3733)** (8a0335a)
- **fix: approve Claude ACP Kandev MCP permissions (#3729) (#3738)** (03bc877)
- **fix: compact fully integrated managed branches (#3158)** (85c93d3)
- **fix: wake MCP queued messages (#3716) (#3737)** (c8cacc5)
- **fix: quiet shutdown logs, portable MCP tool schemas, and Copilot model UX (#3726)** (4c6e800)
- **fix: retract output from abandoned provider retries (#3728)** (1293d65)
- **fix: restore Nest under candidates (#3727)** (fc341e6)
- **fix(kanban): remove mobile task dragging (#3701)** (057335f)
- **fix: keep transient retry banners to one notice (#3704)** (173e4c8)
- **fix(office): don't fire paused or archived routines on cron, manual run, or webhook (#3535)** (88c6c0f)
- **fix: pair provider_scope with provider_repo_id on repository writes (#3699)** (2e3aeae)
- **fix: restore cancel controls during active turns (#3705)** (993b30c)
- **fix: protect queued FIFO dispatch admission (#3702)** (02120b9)
- **fix(agents): enforce exact profile model identity (#3473)** (739eabc)
- **fix(kubernetes): recover sessions after lost Pods (#3703)** (4ef775a)
- **fix: stop the needs-you inbox from flashing Loading on background refresh (#3685)** (186e354)
- **fix: restore single-user MCP PR linking (#3698)** (b586a80)
- **fix(lifecycle): forward TaskID in the Docker create-instance request (#3612)** (7f8781f)
- **fix: discover locally installed agents across launch modes (#3696)** (21afb5f)
- **fix(kubernetes): make retained PVC preparation robust (#3697)** (d986a14)
- **fix(tasks): archive a task whose canonical environment is gone (#3659)** (f6bf42c)
- **fix(task): make review finding status updates idempotent on resolved_at (#3670)** (ad34d0d)
- **fix: rename the Inbox feature toggle label to match the sidebar (#3673)** (b2efea3)
- **fix(plugins): support direct agent profile invocation (#2870)** (cc33b2a)
- **fix: persist right-panel visibility across layouts (#3657) (#3661)** (df2704f)
- **fix: retain session failures across recovery surfaces (#3669)** (eeeb6f5)
- **fix(kubernetes): make Docker worker lifecycle reliable (#3676)** (54e2e21)
- **fix: make queue admission reliable (#3663) (#3666)** (8acb32c)
- **fix(mcp): expose accepted workspace mode values (#3667)** (afeebea)
- **fix: harden task archive lifecycle recovery (#3651)** (01b0ded)
- **fix: widen workflow hover disclosure (#3664)** (bf0e285)
- **fix(test): scan aliased and dot-imported os environment reads (#3505)** (4fde4f7)
- **fix(github): preserve PR watch branch identities (#3649)** (0f4bf79)
- **fix(threads): allow scrolling through long clarification footers (#3655)** (c092aca)
- **fix: preserve plan comment drafts on foreground refresh (#3652)** (9475abe)
- **fix: contain workflow reset failures (#3358) (#3637)** (f371804)
- **fix: bound Git subprocess execution (#3646)** (623d183)
- **fix: harden startup recovery timeout and scrolling (#3654)** (7d4bd11)
- **fix(office): make routine catch-up enqueue a summarized wake (#3538)** (bc38ea1)
- **fix(backend): stop provider failure diagnostics from being lost or misattributed mid-stream (#3479)** (89bf765)
- **fix(office): keep budget alerts honest when a policy changes mid-check (#3532)** (4e4b29b)
- **fix(ui): normalize workflow move options styling (#3644)** (d62daa9)
- **fix: harden canvas review and runtime bootstrap (#3628)** (96b2814)
- **fix: recover slow analytics and workspace reads (#3639)** (34a2181)
- **fix(office): stop duplicate and missed children-completed run dispatches (#3620)** (26bf26f)
- **fix(office): keep an agent's session alive while it's still working the task (#3556)** (509a1bb)
- **fix(web): recover plan comments without blocking empty chat (#3616)** (0c2901a)
- **fix: bridge executor HTTPS Git access through host gh (#3072) (#3635)** (9cc146e)
- **fix: recover delayed session entry (#3631)** (9e9d3b1)
- **fix: fence cancelled session recovery attempts (#3636)** (2a11854)
- **fix: preserve task brief on first chat message (#3615) (#3632)** (31a48a6)
- **fix(office): make repeat task reassignment work again after 24 hours (#3533)** (bd7974d)
- **fix(tasks): reap orphaned processes left running after workspace cleanup (#3619)** (b110796)
- **fix(backend): stop double-dispatching step-entry on_enter actions (#3288)** (8d1a568)
- **fix(backend): tear down orphaned agent processes when a session never starts (#3394)** (41d3565)
- **fix(ci): reuse documentation requirement lookups (#3640)** (0ffa5e6)
- **fix(task): stop plugin pending-interaction API from picking the wrong current turn (#3618)** (2dc1596)
- **fix(kanban): compact multiple workflow swimlane heights (#3604)** (3e557f0)

### Backend
- **release: publish 0.95.0** (f92877b)

### Tests
- **test: close conversation storage follow-up gates (#3742)** (2eee90d)
- **test(office): stop a participant seat from naming no agent (#3662)** (2a0ec87)

### Docs
- **docs: decline the internal/reposync extraction and reconcile the Office config-sync design (#3717)** (d2ef8fe)
- **docs: simplify GitHub credential guidance (#3630)** (f150dd3)
- **docs: improve planning assumption checks (#3629)** (0483c05)

### Chore
- **ci: exempt canonical plugin registry source (#3736)** (d081ff0)
- **ci: harden GitHub API workflows (#3709)** (d2f1ea1)
- **ci: use Muse Spark 1.3 for PR walkthrough (#3674)** (941e795)
- **chore: use Luna medium for PR poller (#3647)** (753e554)
- **ci: improve frontend verification and review timeouts (#3634)** (2c4058c)
- **ci: enforce pull request documentation coverage (#3586)** (56bc954)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/kdlbs/kandev?utm_source=github-action)._