Skip to content

orchestrator: Test the at-rest guarantee end to end - #421

Open
chrysh wants to merge 2 commits into
OpenPRoT:mainfrom
9elements:add-shell-reset
Open

orchestrator: Test the at-rest guarantee end to end#421
chrysh wants to merge 2 commits into
OpenPRoT:mainfrom
9elements:add-shell-reset

Conversation

@chrysh

@chrysh chrysh commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Now that the platform driver (#418) has merged with the reset wiring already composed in (BootControl in BoardCapabilities, assert_reset/release_reset delegating to it), this PR is reduced to what 418 did not carry: the end-to-end proofs of the at-rest guarantee.

  • release_follows_verification: the component is still held in reset while its image is verified (observed from inside the verification window) and the line is released only on the passing verdict.
  • failed_release_fails_closed: a dead reset line is a failed actuation, not a verdict — the SM latches Locked and the component never leaves reset.
  • BootControl is re-exported from the driver crate so board crates need only one import.

Part of 9elements#4.

@leongross leongross linked an issue Aug 19, 2026 that may be closed by this pull request
@chrysh chrysh changed the title orchestrator: Wire reset actuation into the platform driver orchestrator: Test the at-rest guarantee end to end Aug 19, 2026
@chrysh
chrysh marked this pull request as ready for review August 19, 2026 19:37
@chrysh
chrysh force-pushed the add-shell-reset branch 2 times, most recently from b1d3c80 to c180502 Compare August 20, 2026 09:30
The reset wiring itself landed with the platform driver (BootControl
composed into BoardCapabilities, assert_reset/release_reset delegating
to it), so what remains here are the end-to-end proofs: a component is
still held in reset while its image is verified and the line is
released only on the passing verdict, and a dead reset line fails
closed with the component left quiesced. BootControl is re-exported
from the driver crate so board crates need only one import.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Christina Quast <christina.quast@9elements.com>
}

impl Verifier for LineWatchingVerifier {
type Error = VerifierBroken;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Must have slipped in the past review, please rename the VerifierBroken error struct to VerifierError.

Signed-off-by: Christina Quast <christina.quast@9elements.com>
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.

Downstream device reset/boot control signaling

2 participants