Skip to content

fix(approval): preserve abandoned execution outcomes - #3

Closed
senamakel wants to merge 4 commits into
epic/7328-security-busfrom
epic-7328-abandoned-outcome
Closed

senamakel wants to merge 4 commits into
epic/7328-security-busfrom
epic-7328-abandoned-outcome

Conversation

@senamakel

Copy link
Copy Markdown
Owner

TinySecurity now records an abandoned in-flight approved execution as abandoned, preserving that its effects are unknown. The outcome is a distinct versioned bus value (contract 1.28), persists as an immutable terminal result, and legacy aborted maps to this outcome instead of explicit cancellation.

Refs tinyhumansai#1
Part of tinyhumansai/openhuman#7328

Validation:

  • cargo test -p tinysecurity-bus
  • cargo test -p tinysecurity-approval
  • cargo check -p tinysecurity-bus -p tinysecurity-approval
  • cargo clippy -p tinysecurity-bus -p tinysecurity-approval --all-targets -- -D warnings
  • cargo fmt --all -- --check

senamakel and others added 4 commits October 22, 2026 11:23
…trip

Extend the wire stability test to assert that the abandoned execution outcome
deserializes from its wire name and serializes back to the same string.

Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add an Abandoned variant to ExecutionOutcome for runs that were abandoned
before their effects could be determined, and map the legacy "aborted"
value to it instead of Cancelled. The contract version is bumped to 1.28
and the v1 fixture updated to match the new vocabulary.

Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add a test asserting that recording an abandoned execution persists it as a terminal executed state with an unknown effect, that replaying the same request is idempotent, and that a later conflicting outcome is rejected.

Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update the wire and scoped wire tests to expect contract version 1.28
instead of 1.27, and adjust the compatibility comment accordingly. The
approval engine test assertion is only reformatted to satisfy rustfmt.

Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
@senamakel

Copy link
Copy Markdown
Owner Author

Superseded by canonical upstream PR tinyhumansai#43. Please review the upstream PR for this change.

@senamakel senamakel closed this Oct 22, 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