Review: Add validation column to board schema and API
Verdict: BLOCK
Template Completeness
- [x] Type — Feature
- [x] Lineage — board, story, arch, enables
- [x] Repo — forgejo_admin/pal-e-api
- [x] User Story — PM wants validation column between needs_approval and done
- [x] Context — explains gap between SOP and API
- [x] File Targets — 3 targets listed
- [x] Acceptance Criteria — 5 criteria
- [x] Test Expectations — 4 test items + run command
- [x] Constraints — 3 constraints listed
- [x] Checklist — 6 items
- [x] Related — sop-board-workflow, convention-validation-checkpoints
All template sections present and well-formed.
Traceability
- [x] story:superuser-maintain — present on board item
- [x] arch:board-api — present on board item
- [x] Forgejo issue — forgejo_admin/pal-e-api#241, open
File Targets
- [x]
src/pal_e_docs/schemas.py— ALREADY DONE:BoardColumnTypeLiteral at line 226 already includes"validation"(line 233) - [x]
src/pal_e_docs/routes/boards.py— ALREADY DONE: All board routes already handle the validation column via the existingBoardColumnenum - [x]
alembic/— ALREADY DONE: Migrationr8m9n0o1p2q3_add_validation_board_column.pyexists - [x]
src/pal_e_docs/models.py(not listed in issue but relevant) — ALREADY DONE:BoardColumnenum includesvalidation = "validation"at line 30
All file targets verified — but the work has already been completed.
Repo Placement
Correct repo (pal-e-api). However, the Constraints section notes the MCP SDK docstring needs updating — that lives in
pal-e-mcp (separate repo). The MCP docstrings are stale: list_board_items (line 127-129), create_board_item (line 170-171), and update_board_item (line 268-269) enumerate columns without validation. This is a separate ticket for pal-e-mcp.Dependencies
- [x] Board item #522 (
Validate: alembic upgrade head — NoteTypes + validation column, pal-e-api#232) — satisfied, indone - [x] Board item #524 (
Fix 12 failing board_sync tests blocking CI, pal-e-api#233) — satisfied, indone
Both prior items completed the exact work this ticket describes.
Acceptance Criteria
All 5 acceptance criteria are already satisfied in the current codebase:
update_board_item(column="validation")— works, tested intest_board_item_validation_columncreate_board_item(column="validation")— works,BoardColumnTypeLiteral accepts itlist_board_items(column="validation")— works, tested intest_board_item_filter_validation_columnsync_boardhandles new column — works,BoardColumnenum used throughout- Existing board items unaffected — confirmed, migration is no-op on VARCHAR
Blast Radius
MCP tool docstrings in
pal-e-mcp are stale — three tool descriptions (list_board_items, create_board_item, update_board_item) enumerate column values without validation. Agents relying on MCP tool descriptions may not discover the column exists. This is real discovered scope for a separate ticket.Decomposition Assessment
N/A — the work is already complete. No implementation needed. The ticket should be closed as duplicate rather than executed.
- Discrete changes: 0 (already done)
- Estimated agent time: 0 minutes
- Independent subtasks: none
Recommendation
[SCOPE]Close pal-e-api#241 as duplicate. Thevalidationcolumn already exists in the model enum (models.py:30), schema Literal (schemas.py:233), alembic migration (r8m9n0o1p2q3), and has passing tests (test_note_type_enum.py). This work was completed as part of #232/#233.[BODY]Create a new Forgejo issue onforgejo_admin/pal-e-mcpfor the stale MCP docstrings — 3 tool descriptions missing "validation" in their column value lists (list_board_items line 127, create_board_item line 170, update_board_item line 268).