Add 'board' to NoteType enum #222
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/pal-e-api#222
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Type
Feature
Context
template-boardwas created (2026-03-27) as the fractal decomposition template for tickets exceeding the 5-minute agent rule. Conventionnote-conventionsandconvention-kanban-over-plansboth referenceboardas a first-class note type. However, the API NoteType enum doesn't includeboard— creating a board note requires usingdocas a workaround.User Story
As Betty Sue, I want to create board notes with
note_type: boardso decomposition boards are properly typed and queryable.Lineage
Discovered during
template-boarddogfood session (2026-03-27). Three board notes (board-161-scope-review-pipeline,board-188-worktree-isolation,board-183-convention-updates) had to usedoctype as workaround.Repo
forgejo_admin/pal-e-apiFile Targets
src/pal_e_docs/models.py— addboard = "board"toNoteTypeenumsrc/pal_e_docs/schemas.py— if NoteType is duplicated hereAcceptance Criteria
create_note(note_type="board")succeedslist_notes(note_type="board")returns board notesTest Expectations
note_type="board"and verify it round-tripsConstraints
Checklist
boardto NoteType enum in models.pyRelated
template-board— the template that needs this typenote-conventions— documents board as first-class typeconvention-kanban-over-plans— references template-boardThis issue is already implemented. PR #201 (commit
0c3863b, merged 2026-03-24) addedboardto the NoteType:src/pal_e_docs/schemas.py—boardadded toNoteType = Literal[...]src/pal_e_docs/routes/notes.py—"board": ["active", "archived"]added toVALID_STATUSEStests/test_note_type_enum.py—test_board_valid_statustest added and passingNo Alembic migration was needed because
note_typeis a plainStringcolumn in the database (not a DB-level enum). Validation happens at the application layer via the PydanticLiteraltype in schemas.py.Remaining checklist item (migrate 3 workaround board notes from
doctoboard) is a data operation, not a code change — can be done via the API or MCP tools.Closing as already resolved.
Closing — Already Resolved
The
boardnote type was already added in PR #201 (merged 2026-03-24):schemas.pyhasNoteType = Literal[..., "board"]routes/notes.pyhasVALID_STATUSES["board"] = ["active", "archived"]test_note_type_enum.pyThe
create_note(note_type="board")failure we hit was caused by MCP server caching old SDK imports. A session restart would have surfaced the working type.Migrated 3 workaround board notes from doc→board type. Closing.