Return retained mailbox receipts during native Agent receive - #67
Merged
Merged
Conversation
# Conflicts: # tests/test_network_packaging.py
…nto feat/native-mailbox-read
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.
Native recipients can now retain an explicit per-message ACK destination and let ordinary Agent
receivereturn the actual saved mailbox receipt.connectsupports register/list/inspect/remove selection actions and directreturn_mailbox_receipt. Registration stays local and conveys no disclosure or upload authority; return reauthenticates the saved mailbox and its original independent ACK grants before proving the selected source.The client persists the original preparation before transmission and reuses the same signed request after a lost reply or restart. Python and TypeScript share the bounded selection/return journals and completed history. Original-root status observations are persisted before denial; an expired retained revocation blocks pending retransmission. Expired uncertain requests become
reconciliation_requiredand stop ordinary polling. Each receive attempts at most two ready returns under its shared deadline. Removing a selection preserves the saved inbox and original return history.Validation covers actual cold-memory receipt return, lost-response restart, original-sender confirmation, Python reopening native completion, re-registration without another upload, retained revocation and expired-use refusal. Existing native saved-receipt and remote mailbox scenarios, Python ordinary-return recovery, and package/CI inventories are also covered. The HTTP fixture now closes its finished recipient recovery connection before switching runtimes; the cross-runtime checks verify SQLite integrity after each native operation. Final-source complete cloud regression passed 1238 tests across all 139 modules and matched 316 source hashes. All supported Python 3.10 suites and cross-platform conformance passed. Twelve extracted-client checks passed against the exact release archives. Native replica inbox recovery and provisioning remain unfinished.