mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
models/kanban.py: - DEV_COLUMNS: cover all 15 lifecycle statuses (was 7; dropped BACKLOG, PAUSED, VERIFYING, NEEDS_REVISION, AWAITING_PR_REVIEW, AWAITING_PM_REVIEW, AWAITING_CEO_APPROVAL, CANCELLED). A dev whose task bounced to needs_revision or sits in a gate used to see their own task vanish. - PM_COLUMNS: add the gate/revision/paused/cancelled/backlog columns so the cell PM sees the QA->docs->PR-review->PM-review->CEO chain on its board. - QA_COLUMNS: drop the 'In Review'->VERIFYING mapping. VERIFYING is the dev's self-verification (task still with the dev, not with QA); it misrepresented dev mid-verification as active QA work. services/kanban.py: - _build_flat_board: add an 'Other' fallback column for any task whose status matches no configured column, so total_cards == sum(card_count) and no card is built-then-silently-dropped (the vanished-card leak). - get_qa_board: drop VERIFYING from qa_statuses (consistent with the column change). - get_documenter_board: scope to task_type=documentation so a dev IN_PROGRESS code task sharing the cell team no longer appears under 'Gathering'. - get_main_pm_board_flat: widen the status filter to include PENDING/CLAIMED/ COMPLETED and route those to the incoming/distributed/done columns, which were structurally always empty under the in-flight-only filter. tests/integration/test_kanban_service.py: parametrized coverage of every dropped dev status, PM gate/revision states, QA excludes VERIFYING, documenter excludes dev code tasks, flat Main PM incoming/distributed/done populated, and the 'Other' fallback invariant.