feat(workflow) : workflows de statuts par projet (kanban custom) #3
Reference in New Issue
Block a user
Delete Branch "feat/project-workflows"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Résumé
Chaque projet a désormais son propre workflow (jeu de statuts kanban réutilisable défini en admin).
Workflow,TaskStatus.workflow+TaskStatus.category(5 catégories canoniques),Project.workflowrequis (RESTRICT). Validation cross-entity : un statut doit appartenir au workflow du projet de la tâche.POST /api/projects/{id}/switch-workflow(transaction unique, mapping source→cible obligatoire pour chaque statut référencé)Workflows(remplaceStatuts) avec drawer pour créer/éditer un workflow et ses statuts inlineproject.workflow.statusesau lieu de la collection globaleProjectWorkflowSwitchModalavec pré-remplissage par catégorielist-statuses?projectId=..., nouveauxlist-workflowsetswitch-project-workflow(ROLE_ADMIN)Spec :
docs/superpowers/specs/2026-05-19-project-workflows-design.mdPlan :
docs/superpowers/plans/2026-05-19-project-workflows.mdMigrations
4 migrations successives :
workflow+ seedStandard(isDefault=true)workflow_id+categorysurtask_statusavec backfill strict (mapping des 5 labels standards → catégories ; échec explicite si label hors mapping)workflow_idrequis surproject(RESTRICT) avec backfill vers StandardTest plan
Validation
Migrations testées sur un dump prod restauré localement (
lesstime_prod_test) : 13 projets, 379 tâches, 5 statuts catégorisés sans erreur. Endpoint switch-workflow validé via curl. UI testée en local.🤖 Generated with Claude Code
b3f32e4c6cto5fb7fbe66c