Provision ten pool principals, each with one immutable grant and nothing else #33
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Meta/Campaign
Meta/Epic
Meta/Session
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Curated
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Scope/Campaign
Status/Abandoned
Status/Blocked
Status/Conflicted
Status/In Progress
Status/In Review
Status/Need Grooming
Status/Need More Info
Status/Ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
Reference
Ting/Vedanta#33
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Proposal
Create the pool: exactly ten UUID-pinned principals, each carrying one distinct immutable
AssignmentGrantdelegated to theswarm-alpha/queenseat.Delivery class
agent-unit— provisioning and grant issuance against Kanidm capture doubles.Design
Provisioning creates identity and authority, and nothing else. Pool membership makes all ten eligible for allocation and allocates none of them. It creates no per-drone Forgejo account, no standing Forge token, and no active lease — those belong to a lease at checkout, not to a principal at birth, and a pool that hands them out at provisioning has ten standing credentials nobody is using.
Each slot's grant is distinct and immutable. One grant shared across slots would make the pool one principal wearing ten names; a mutable grant would let a later session inherit an earlier one's authority by amendment rather than by issue.
Consumes the reservation and adoption behaviour of #32, so provisioning is idempotent under retry rather than merely usually-correct.
Tasks
AssignmentGrantper slot, delegated to theswarm-alpha/queenseat.Specification Delta
Requirement: bring-up creates eligibility, never an active credential
Scenario: the pool is provisioned
swarm-alpha/queenseatScenario: provisioning runs twice
OpenSpec
OpenSpec 30
Structural parent
Vedanta#30