docs(09-02): complete etape management plan

This commit is contained in:
Arthur Belleville 2026-05-15 22:45:10 +02:00
parent 4af623a57b
commit 3ce7c8ea4f
No known key found for this signature in database

View file

@ -0,0 +1,76 @@
---
phase: 09-etapes
plan: 02
subsystem: tasks
tags: [go, htmx, templ, etapes]
requires:
- phase: 09-etapes
plan: 01
provides: etape schema, queries, strip, and task filtering
provides:
- etape edit, delete, and reorder handlers
- delete confirmation explaining tasks move to Unassigned
- compact chip management controls
affects: [09-etapes, tasks]
tech-stack:
added: []
patterns: [full tasks-tab refresh after management mutations, explicit reorder forms]
key-files:
created: []
modified:
- backend/internal/web/handlers_etapes.go
- backend/internal/web/router.go
- backend/templates/etapes.templ
- backend/templates/etapes_forms.go
key-decisions:
- "Use explicit Up/Down reorder forms instead of adding a second Sortable.js group in this minimal UI."
- "Return the full #tasks-tab fragment after edit, delete, and reorder so counts, chips, and kanban stay consistent."
patterns-established:
- "Etape management routes bind both tablo id and etape id before mutation."
- "Delete relies on the database foreign key's ON DELETE SET NULL behavior for task unassignment."
requirements-completed: []
completed: 2026-05-15
---
# Plan 09-02 Summary
**Etape edit, delete-unassign, and reorder management from the Tasks tab strip**
## Accomplishments
- Added etape edit, update, delete confirmation, delete, and reorder routes under protected tablo routes.
- Added compact edit/delete/up/down controls beside etape chips.
- Added the required delete confirmation copy: `Tasks in this etape will stay in the tablo and move to Unassigned.`
- Added tests for update, delete-unassign, reorder, and non-owner 404 behavior.
## Task Commits
1. **Task 1: Add RED coverage for etape management** - `9b89282`
2. **Task 2: Implement edit, delete-unassign, and reorder** - `4af623a`
## Verification
- `cd backend && just generate`
- `cd backend && go test ./internal/web -run 'TestEtapeUpdateChangesTitleAndDescription|TestEtapeDeleteUnassignsTasks|TestEtapeReorderPersistsPosition|TestEtapeOwnershipReturns404' -count=1 -v`
- `cd backend && go test ./... -count=1`
- `git diff --check`
Note: the DB-backed integration tests compile but are skipped locally because `TEST_DATABASE_URL`/`DATABASE_URL` is unset.
## Deviations from Plan
Used explicit Up/Down forms for reorder rather than Sortable.js. This keeps the first management UI minimal and avoids introducing a second drag/drop group.
## Issues Encountered
None.
## User Setup Required
None.
## Next Phase Readiness
Plan 09-03 can focus on richer task assignment selectors and filter behavior using the existing etape list, ownership validation, and full-tab refresh helpers.
## Self-Check: PASSED