1.7 KiB
1.7 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 01-backend-detachment | Backend detach contract | done | 1 | plan.md | ../../specs/tasks/requirements/subtask-detachment.md |
Task 01: Backend detach contract
Acceptance
POST /api/v1/tasks/:id/detachclears only the parent relationship and returns the updated task; root calls are idempotent.- Detaching an
inherit_parenttask atomically storesshared_groupmode without releasing workspace membership; other modes remain unchanged. - The resulting
task.updatedpayload explicitly clearsparent_id, and the OfficeNo parentmutation uses the same semantic operation.
Verification
cd apps/backend && rtk go test ./internal/task/service ./internal/task/handlers ./internal/office/dashboard
Files likely touched
apps/backend/internal/task/service/service_detachment.goapps/backend/internal/task/service/service_detachment_test.goapps/backend/internal/task/service/service_events.goapps/backend/internal/task/handlers/task_handlers.goapps/backend/internal/task/handlers/task_http_handlers.goapps/backend/internal/task/handlers/task_http_handlers_test.goapps/backend/internal/office/dashboard/service_tasks.goapps/backend/internal/office/dashboard/handler.go
Dependencies
None.
Inputs
- Spec sections: What, Data model, API surface, Failure modes, Scenarios.
- Existing update pattern:
Service.UpdateTaskandhttpUpdateTask. - Existing workspace policy:
WorkspacePolicy.MetadataBlockand orchestratorshared_groupinheritance.
Output contract
Report the service/handler changes, tests run, files changed, blockers, residual risks, and update this task plus plan.md to done when acceptance passes.