Skip to content

feat: add the /principal/invalidate command - #70

Closed
pyropy wants to merge 1 commit into
srdjan/feat/iam-principal-fieldfrom
srdjan/feat/iam-principal-invalidate
Closed

pyropy wants to merge 1 commit into
srdjan/feat/iam-principal-fieldfrom
srdjan/feat/iam-principal-invalidate

Conversation

@pyropy

@pyropy pyropy commented Sep 10, 2026 •

Copy link
Copy Markdown

Description

Adds the /principal/invalidate command Hilt invokes on Swarf before committing a change to a principal's access. Hilt self-signs it with its own DID as subject, the shape /ucan/revoke uses; Swarf authorizes it from a publisher list. Part of the Forge S3 tenant IAM work (RFC).

Change log

  • New package commands/principal: InvalidateArguments{Tenant, Principal}, Invalidate binding, unit result
  • Generator and generated codecs
  • Tests: codec round-trip; self-signed Invoke, Handler and Unpack

馃 Generated with Claude Code

@pyropy
pyropy added this pull request to stack #71 September 10, 2026 16:10
Hilt tells Swarf that the proofs gateways cached for a principal's access
keys are void, and it does so before it commits the change that voided
them. The command carries the tenant DID and the principal identifier and
returns a unit result. No delegation names a principal, so the invocation
is self-signed and Swarf authorizes it from a publisher list rather than a
proof chain.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@pyropy
pyropy force-pushed the srdjan/feat/iam-principal-invalidate branch from ecc3a1c to 654f2ea Compare September 11, 2026 09:03
@pyropy
pyropy marked this pull request as ready for review September 11, 2026 12:41
@pyropy
pyropy requested review from Peeja, alanshaw and bajtos September 14, 2026 09:52
@pyropy

pyropy commented Sep 15, 2026

Copy link
Copy Markdown
Author

Superseded by the per-key marker design in fil-one/RFC#30 (f61f474): no principal invalidation record; markers are revoked through the existing /ucan/revoke. Branch kept.

@pyropy pyropy closed this Sep 15, 2026
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