Skip to content

feat(s3perm): grant blob.Abort with the write command set - #36

Closed
frrist wants to merge 1 commit into
mainfrom
frrist/blob-abort-grant
Closed

feat(s3perm): grant blob.Abort with the write command set#36
frrist wants to merge 1 commit into
mainfrom
frrist/blob-abort-grant

Conversation

@frrist

@frrist frrist commented Jul 28, 2026

Copy link
Copy Markdown
Member

Adds blob.Abort to cmdsAdd: a key that may park bytes on a provider (multipart UploadPart) must be able to abort its own parked upload. /blob/abort is the abort leg of ingot's deferred-accept multipart lifecycle (fil-forge/ingot#40), and the proof store ingot captures at UploadPart is the authority for its off-request cleanup (the session-expiry sweeper, DeleteBucket's implicit abort of in-flight uploads). Without the grant those invocations go out proofless and sprue rejects them ("is not issued by subject and has no proofs"), so parked part blobs leak on abort — the failure behind ingot#40's TestForgeDeferredMultipart/AbortRejects gate and the CompleteMultipartUpload_conditional_writes xfail.

Part of the blob-removal landing chain: fil-forge/libforge#49 (merged) → fil-forge/piri#30fil-forge/smelt#19thisfil-forge/ingot#40.

🤖 Generated with Claude Code

A key that may park bytes on a provider (multipart UploadPart) must be
able to abort its own parked upload: /blob/abort is the abort leg of
ingot's deferred-accept multipart lifecycle, and the proof store ingot
captures at UploadPart is the authority for its off-request cleanup
(the session-expiry sweeper, DeleteBucket's implicit abort of in-flight
uploads). Without the grant those invocations go out proofless and
sprue rejects them, so parked part blobs leak on abort.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@frrist

frrist commented Jul 30, 2026

Copy link
Copy Markdown
Member Author

closing in favor of #35

@frrist frrist closed this Jul 30, 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