Add auth user stories: roles, phases, and data model impact #114
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "docs/user-stories-auth"
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?
Summary
Changes
docs/user-stories-auth.md: New file with actor definitions, 12 user stories across 4 phases, role permission matrix, user interaction diagrams, data model impact, and open questionsTest Plan
Review Checklist
Related Notes
ldraney/landscaping-assistant #107-- parent auth issuePR #114 Review
DOMAIN REVIEW
This is a documentation-only PR adding
docs/user-stories-auth.md(283 lines, 0 deletions). No code changes. The domain review focuses on documentation quality, accuracy against the existing codebase, and completeness as a planning artifact.Documentation quality: Strong. The document is well-structured with clear actor definitions, phased user stories with acceptance criteria, a permission matrix, Mermaid diagrams (ER, flow, Gantt-style delivery), and open questions. Each user story follows a consistent format with ID, narrative, and acceptance criteria.
Accuracy against existing codebase: Verified.
QueueItemmodel has no user association -- it's a single shared queue." This is confirmed correct. The actual model isWorkQueueItem(seeapp/models/work_queue_item.rb), which hasbelongs_to :propertywith a uniqueness constraint on[work_date, property_id]and no user/username column. The per-user queue change flagged in the doc is a genuine breaking change.db/schema.rbProperty table.Model naming inconsistency (nit): The doc's ER diagram uses
QUEUE_ITEMwith ausernamefield, but the existing model is calledWorkQueueItem. The doc should either use the actual model name or note the rename. This matters because implementers will look at this doc and need to know whether a rename is intended.Mermaid diagrams: All four diagrams (actor graph, interaction diagram, ER diagram, delivery order) are syntactically valid and semantically meaningful. The ER diagram correctly shows the new
KEYCLOAK_USERentity and its relationship to queue items.BLOCKERS
None. This is a documentation-only PR with no code changes. The BLOCKER criteria (test coverage, input validation, secrets, DRY auth violations) do not apply.
NITS
Model name mismatch: The ER diagram uses
QUEUE_ITEMbut the existing model isWorkQueueItem. Consider using the actual name or adding a note like "renamed from WorkQueueItem" if a rename is planned.PR body references wrong parent: The PR body says "Related Notes: ldraney/landscaping-assistant #107 -- parent auth issue" but also "Closes #113". The task prompt identifies #113 as the parent issue, and #107 is the broader auth epic. The Related section should be clearer about which is the parent issue vs. the epic. This is minor since both references are valid and useful.
Phase reference tags: The delivery diagram uses
#107a,#107b,#107c,#107das phase identifiers, but these don't correspond to actual Forgejo issues. Consider noting these are future ticket placeholders, or remove the tags until tickets are created.ROADMAP.md consistency: The existing
docs/ROADMAP.mdline 183 lists "Keycloak auth (multi-user, crew member accounts)" under "Future (Not Scoped)". Once this user stories doc lands, consider updating ROADMAP.md to reference the new doc or mark auth as "scoped" with a link.SOP COMPLIANCE
docs/user-stories-auth. This uses adocs/prefix convention rather than{issue-number}-{kebab-case-purpose}(would be113-user-stories-auth). Minor deviation from SOP but the intent is clear and thedocs/prefix is reasonable for a documentation-only branch.PROCESS OBSERVATIONS
WorkQueueItemuniqueness constraint[work_date, property_id]would need to become[work_date, property_id, username]or similar.VERDICT: APPROVED
Fixed review nits in
46115f4:QUEUE_ITEM→WORK_QUEUE_ITEMto match actualWorkQueueItemmodel name#107a-dplaceholder tags from delivery order diagram (not real issue numbers)Remaining nits (not fixing):
docs/prefix vs113-prefix) — cosmetic, not worth rebasingldraney referenced this pull request2026-06-06 03:24:41 +00:00
Pull request closed