Summary
Some server actions return raw data or throw errors instead of using the ActionResult<T> discriminated union pattern.
Source
Semantic Review SR-002 (2026-02-18), verified 2026-02-25
Current State (verified)
| File |
Returns ActionResult |
Notes |
board.ts |
Partial — withAuth functions return raw T |
4 functions use withAuth (raw), 6 use withAuthResultRateLimit (ActionResult) |
repo-cards.ts |
✅ Yes |
Uses inline auth but returns { success, data/error } |
user-presets.ts |
✅ Yes |
Returns ActionResult<T> |
user-settings.ts |
✅ Yes |
Via withAuthResultRateLimit |
maintenance-project-info.ts |
✅ Yes |
Via withAuthResultRateLimit |
project-info.ts |
✅ Yes |
Delegates to shared core |
Non-compliant functions in board.ts:
updateStatusList (line 199) — withAuth
deleteStatusList (line 262) — withAuth
updateStatusListPosition (line 387) — withAuth
updateBoard (line 592) — withAuth
Acceptance Criteria
Priority
🔴 High — Architecture pattern consistency
Notes
This is closely related to #150 (auth guard unification). Resolving #150 first will naturally fix this issue.
Summary
Some server actions return raw data or throw errors instead of using the
ActionResult<T>discriminated union pattern.Source
Semantic Review SR-002 (2026-02-18), verified 2026-02-25
Current State (verified)
board.tswithAuthfunctions return raw Trepo-cards.ts{ success, data/error }user-presets.tsActionResult<T>user-settings.tswithAuthResultRateLimitmaintenance-project-info.tswithAuthResultRateLimitproject-info.tsNon-compliant functions in
board.ts:updateStatusList(line 199) —withAuthdeleteStatusList(line 262) —withAuthupdateStatusListPosition(line 387) —withAuthupdateBoard(line 592) —withAuthAcceptance Criteria
withAuthfunctions inboard.tsmigrated towithAuthResultRateLimitPriority
🔴 High — Architecture pattern consistency
Notes
This is closely related to #150 (auth guard unification). Resolving #150 first will naturally fix this issue.