feat: add opt-in BoundaryAttest receipts for high-impact file operations - #2
Open
cullenmeyers wants to merge 1 commit into
Open
cullenmeyers wants to merge 1 commit into
cullenmeyers wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is the narrow BoundaryAttest proof-of-concept discussed in #1.
It adds optional BoundaryAttest Interop Profile v0.1 receipts for three high-impact filesystem operations:
write_filemove_filedelete_fileReceipt signing is disabled by default. Normal local usage requires no signing key or BoundaryAttest dependency and does not produce receipts.
Why this shape
The goal is not to replace the server's existing:
The receipt is only an optional evidence/export layer for cases where a selected filesystem operation may later need to be independently checked outside the original MCP/runtime.
Evidence captured
write_fileBinds:
The existing append semantics are preserved.
move_fileBinds:
If the caller provides a destination directory, the receipt binds the actual
destination/source.namepath used by the operation.delete_fileBinds:
send_to_trashresult semanticsIt does not pretend a post-delete artifact exists at the original path.
Receipt behavior
Receipts use the existing BoundaryAttest Interop Profile v0.1:
server_attestedclaim/signature/public_key_idenvelopeAbsolute local paths are not exposed directly in the portable target references; those use allowed-root-relative references.
Failure semantics
Filesystem operations are not transactional with receipt generation.
If the filesystem action succeeds but signing or receipt persistence fails, the action is not rolled back and is not reported as though it failed.
Instead, the normal success result is preserved with an explicit attestation-failure warning.