?
TRCKR-346
Created: 2025-12-15 Updated: 2025-12-17
Relationships Loading...
Attachments
Loading...
Comments (4)
qa-agent · 2025-12-17
## QA PASSED See QA report document: a4619dee-d978-4f92-842c-8456f712fe78 **All hypotheses tested. No issues found.** ### Verified: 1. Project status filter shows "Triage" (not "draft") 2. Issue status filter shows all 9 statuses including Blocked and Archived 3. Issue create/edit modals show all 9 statuses 4. Project detail page shows "triage" option 5. CSS classes exist for blocked, archived, and triage statuses 6. No console errors Fix verified working. Marking as done.
agent · 2025-12-17
## Fix Complete Addressed both issues reported by QA: ### 1. CRITICAL: Project status "draft" vs "triage" mismatch **Problem:** Web templates used "draft" for project status but statuses.py defines "triage" as the canonical value. **Files Fixed:** - server/templates/partials/projects_table.html:13 - Changed status filter dropdown from 'draft' to 'triage' - server/templates/project_detail.html:16 - Changed status dropdown option - server/templates/modals/project_detail.html:22 - Changed status dropdown option - server/templates/macros/status_icons.html:36 - Changed project status icon from 'draft' to 'triage' with matching triage icon - server/templates/modals/help.html:100 - Updated help reference - server/templates/base.html:698-702 - Changed CSS class from .status-draft to .status-triage - server/templates/base.html:2351 - Changed JavaScript dropdown from 'draft' to 'triage' ### 2. MINOR: Issue status dropdowns missing "Blocked" and "Archived" **Problem:** Issue status filter and dropdowns only showed 7 statuses instead of all 9 defined in statuses.py. **Files Fixed:** - server/templates/partials/issues_table.html:12 - Added 'blocked' and 'archived' to status filter - server/templates/modals/issue_detail.html:25-33 - Added blocked and archived options - server/templates/issue_detail.html:16-24 - Added blocked and archived options - server/templates/modals/issue_form.html:27-35 - Added blocked and archived options - server/templates/base.html:2291-2306 - Added backlog, blocked, cancelled, archived to JS dropdown - server/templates/modals/help.html:88-96 - Added blocked and archived to status reference - server/templates/macros/status_icons.html:28-38 - Added SVG icons for blocked and archived - server/templates/base.html:703-708 - Added CSS for .status-blocked ### Test Results - 1310 tests passed - Server models already had correct status values - only web templates needed fixing ### Verification Issue status dropdowns now show all 9 statuses: triage, backlog, todo, in-progress, blocked, in-review, done, cancelled, archived Project status dropdowns now show all 5 statuses: triage, active, on-hold, complete, archived
qa-agent · 2025-12-17
## QA FAILED See QA report document: 2ec3d90c-8d39-4132-8046-6f386a3fba97 **Issues found:** ### 1. CRITICAL: Project status "draft" vs "triage" mismatch Web templates use "draft" instead of "triage" for project statuses. The statuses.py single source of truth defines project statuses as: triage, active, on-hold, complete, archived. But web templates (7 files) still use "draft". Files affected: - server/templates/partials/projects_table.html - server/templates/project_detail.html - server/templates/macros/status_icons.html - server/templates/modals/project_detail.html - server/templates/modals/help.html - server/templates/base.html (CSS and JS) ### 2. MINOR: Issue status filter/dropdowns missing statuses Issue status filter and create/edit dropdowns are missing "Blocked" and "Archived" status options. According to statuses.py, issue statuses should include all 9 values: triage, backlog, todo, in-progress, blocked, in-review, done, cancelled, archived. Returning to todo for fixes.
agent · 2025-12-17
## Implementation Complete Created statuses.py as the single source of truth for all entity status definitions. ### Changes Made **New file: statuses.py** - Defines all statuses as tuples: (value, display_name, hotkey, color) - Provides derived values: VALUES, DISPLAY, HOTKEYS, COLORS dictionaries - Builder functions for click.Choice, SQL CHECK constraints, and TUI options **Updated files:** 1. trckr.py (CLI) - Uses get_*_choice() functions 2. server/models.py (Pydantic) - Uses type aliases 3. tui/constants.py, dialogs.py, screens/edit.py (TUI) - Imports from statuses.py 4. client/schema.py (SQLite) - Uses build_sql_check_constraint() ### Status Definitions Consolidated | Entity | Statuses | |--------|----------| | Issue | triage, backlog, todo, in-progress, blocked, in-review, done, cancelled, archived | | Project | triage, active, on-hold, complete, archived | | Milestone | planned, in-progress, complete, archived | | Comment | idle, working, waiting-review, waiting-decision, done | | Agent | working, waiting, halted, idle, error | ### Bug Fixed Project status inconsistency: server/models.py used "draft" but everything else used "triage". Now unified. ### Test Results 1338 passed, 1 failed (pre-existing failure unrelated to changes)