Review: API Boards + Board Items -- 12 endpoints
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Type -- Feature
- [x] Lineage -- decomposed from paldocs#51, depends on #49 and #57
- [x] Repo -- ldraney/paldocs
- [x] User Story -- present, well-formed
- [x] Context -- clear background on decomposition and MCP migration
- [x] File Targets -- 3 files to create/modify, 3 files not-to-touch listed
- [x] Feature Flag -- none (additive API routes, correct)
- [x] Acceptance Criteria -- 5 criteria
- [x] Test Expectations -- request specs, integration test, response shape comparison
- [x] Constraints -- as_json pattern, JSON shape matching, no jbuilder
- [x] Checklist -- present
- [x] Related -- project, story, arch, upstream/sibling/downstream all listed
Traceability
- [x] story:consolidation label -- story-paldocs-consolidation
- [x] story note verified -- found in project-paldocs user-stories section
- [x] arch:rails-api label -- present on board item
- [ ] arch note MISSING -- [SCOPE] Create architecture note arch-rails-api for the Rails API component
- [x] Forgejo issue -- https://forgejo.tail5b443a.ts.net/ldraney/paldocs/issues/58, open
File Targets
- [x] app/controllers/api/boards_controller.rb -- to be created. api/ directory confirmed present from #57.
- [x] app/controllers/api/board_items_controller.rb -- to be created. Same api/ directory.
- [x] config/routes.rb -- to be modified. Has namespace :api block with notes routes from #57.
- [x] app/controllers/api/base_controller.rb -- correctly listed as do-not-touch.
- [x] app/models/ -- correctly listed as do-not-touch. BoardItem model exists. Boards are Notes.
Repo Placement
OK. Issue filed on ldraney/paldocs, all file targets in same repo. Single-repo change.
Dependencies
- [x] Upstream #49 (schema ownership) -- closed/merged
- [x] Upstream #57 (API namespace + notes controller) -- closed/merged
- [x] Sibling #59 (projects/repos/tags/search API) -- open, no blocking dependency
- [x] Downstream #54 (MCP server) -- open, sprint:3, correctly sequenced
Acceptance Criteria
5 criteria, all verifiable by an agent via request specs and JSON shape comparison.
Blast Radius
Existing UI controllers in separate namespace, no collision. Routes additive under namespace :api. Sync endpoint needs pal-e-docs Python source reference.
Decomposition Assessment
3 file targets in 1 repo. 5 AC. 12 endpoints following established pattern. No decomposition needed.
Recommendation
- [SCOPE] Create architecture note arch-rails-api for the Rails API component. Used by #58, #59, and #54 but no backing note exists.