Skip to content

fix(store): harden persisted saved-role loading#53

Merged
synsoftworksdev merged 1 commit intomainfrom
fix/roles-store-load-hardening
Apr 15, 2026
Merged

fix(store): harden persisted saved-role loading#53
synsoftworksdev merged 1 commit intomainfrom
fix/roles-store-load-hardening

Conversation

@synsoftworksdev
Copy link
Copy Markdown
Member

Summary

Harden persisted saved-role loading so malformed or partially corrupted role
data fails early and predictably instead of surfacing low-level parse/shape
errors.

Changed

  • add InvalidSavedRoleDataError in src/adapters/role-store.ts
  • validate saved-role data at load time
  • reject:
    • invalid JSON
    • wrong top-level shape
    • malformed role entries
    • bad field types
    • invalid persisted role names
    • mixed valid/invalid entries
  • fail the whole load when any persisted role data is invalid
  • keep the user-facing error message consistent:
    • saved role data is invalid; fix or recreate the roles file
  • add adapter coverage for the invalid persisted-data cases
  • update CLI regression coverage for bad saved-role data, including mixed-entry failure

Verification

  • npm run build
  • npm test
  • npm run test:e2e
  • npm run test:release

Notes

  • no new product features
  • no unrelated command/output changes
  • commands that load saved roles now fail earlier and more predictably when on-disk role data is invalid

Validate persisted saved-role data at load time so malformed or partially
corrupted role files fail clearly and consistently.

Also:
- add `InvalidSavedRoleDataError` in `src/adapters/role-store.ts`
- reject invalid JSON in the saved roles file
- reject the wrong top-level shape
- reject malformed role entries and bad field types
- reject invalid persisted role names
- fail the entire load on mixed valid/invalid entries
- keep the user-facing error message consistent:
  `saved role data is invalid; fix or recreate the roles file`
- add adapter and CLI coverage for the invalid persisted-data cases

Verified with:
- npm run build
- npm test
- npm run test:e2e
- npm run test:release
@synsoftworksdev synsoftworksdev self-assigned this Apr 15, 2026
@synsoftworksdev synsoftworksdev merged commit 731d60f into main Apr 15, 2026
4 checks passed
@synsoftworksdev synsoftworksdev deleted the fix/roles-store-load-hardening branch April 15, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant