feat(fleet): add shared role semantics #768

Merged
jason.woltje merged 7 commits from feat/758-shared-role-resolution into main 2026-07-15 00:53:48 +00:00
Owner

Summary

  • canonicalize exactly the approved legacy role aliases before persona lookup while retaining requested and canonical identities
  • add immutable canonical-class authority metadata and asynchronous roster-v2 semantic validation through the existing shared persona resolver
  • reuse canonical readable-persona resolution in profiles and v1 provisioning, with required baseline role contracts and operator documentation

Verification

  • focused role-resolution suites: 6 files, 109 tests passed
  • full @mosaicstack/mosaic suite: 50 files, 713 tests passed
  • package typecheck and lint passed
  • repository pre-push typecheck, lint, and Prettier gates passed
  • independent code review: APPROVE
  • independent security review: APPROVE

Boundaries

  • no lifecycle, roster mutation, lease issuance, certificate workflow/storage, credentials, or v2 provisioning
  • roster-v2 semantic validation remains an explicit async handoff for later production wiring
  • issue remains open through M5

Refs #758

## Summary - canonicalize exactly the approved legacy role aliases before persona lookup while retaining requested and canonical identities - add immutable canonical-class authority metadata and asynchronous roster-v2 semantic validation through the existing shared persona resolver - reuse canonical readable-persona resolution in profiles and v1 provisioning, with required baseline role contracts and operator documentation ## Verification - focused role-resolution suites: 6 files, 109 tests passed - full @mosaicstack/mosaic suite: 50 files, 713 tests passed - package typecheck and lint passed - repository pre-push typecheck, lint, and Prettier gates passed - independent code review: APPROVE - independent security review: APPROVE ## Boundaries - no lifecycle, roster mutation, lease issuance, certificate workflow/storage, credentials, or v2 provisioning - roster-v2 semantic validation remains an explicit async handoff for later production wiring - issue remains open through M5 Refs #758
jason.woltje added 4 commits 2026-07-14 21:53:30 +00:00
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
chore(docs): normalize fleet task table
Some checks failed
ci/woodpecker/pr/ci Pipeline failed
67516adef4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
jason.woltje force-pushed feat/758-shared-role-resolution from 67516adef4 to 1c41adad1c 2026-07-14 22:16:34 +00:00 Compare
jason.woltje force-pushed feat/758-shared-role-resolution from 1c41adad1c to 4d990eee7c 2026-07-15 00:17:22 +00:00 Compare
jason.woltje added 1 commit 2026-07-15 00:46:32 +00:00
fix(fleet): close persona resolver authority edges
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
ace73f1e03
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
jason.woltje merged commit a5e8e55401 into main 2026-07-15 00:53:48 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#768