Skip to content

feat: add versioning to Role Catalog definitions #1133

@Aureliolo

Description

@Aureliolo

Context

Follow-up from #1113 (versioning infrastructure evaluation). Role definitions control authority scope, budget limits, and skill requirements. Versioning enables audit trails for authorization decisions.

Value Assessment

  • Versioning value: 7/10 (HIGH)
  • Audit trail: Track changes to authority scope, budget limits, model tier recommendations
  • Rollback value: HIGH -- restore prior authorization scope
  • Reproducibility: Task approval decisions can reference role version at decision time
  • Change frequency: Low (quarterly)

Design Decision Needed

  • Option A: VersionSnapshot[Role] -- per-role versioning (granular, more rows)
  • Option B: VersionSnapshot[RoleCatalog] -- org-wide catalog snapshot (simpler, fewer rows, but stores entire catalog per change)

Recommend Option A for granularity, but needs discussion.

Implementation

  1. Design decision on granularity
  2. Create role version table via SQLiteVersionRepository[T]
  3. Wire into persistence backend
  4. Audit API: list role versions with change summary

Depends on #1131 and #1132.

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:lowNice to have, can deferscope:medium1-3 days of worktype:featureNew feature implementationv0.7Minor version v0.7

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions