abe4147d07
* fix: stop task renames from wiping task repositories A title-only PATCH (or WS task.update) converted the absent repositories field into a non-nil empty slice, which Service.UpdateTask treats as an explicit replace-with-nothing — deleting every task_repositories row and dropping the task out of repo-filtered sidebar views. Map "field absent" to nil at both update handlers so partial updates leave repositories untouched, while an explicitly empty list still clears them. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * test: assert update-task responses reflect repository state Address cubic review feedback: make the repo fake stateful so the explicit-clear test can assert the response body returns no repositories, and unmarshal the WS payload to confirm the preserved repository is present, matching the HTTP test's coverage. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Kandev Agent <agent@kandev.dev> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>