Skip to content

orchestrator: Wire reset actuation into the platform driver - #421

Draft
chrysh wants to merge 4 commits into
OpenPRoT:mainfrom
9elements:add-shell-reset
Draft

orchestrator: Wire reset actuation into the platform driver#421
chrysh wants to merge 4 commits into
OpenPRoT:mainfrom
9elements:add-shell-reset

Conversation

@chrysh

@chrysh chrysh commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Stacked on #418 — only the last commit ("Wire reset actuation into the platform driver") is new here; review the rest there.

Fills the Reset seam: BoardTypes names a BootControl per board, Board carries one line per component, and assert_reset/release_reset actuate them.

Actuation only — boot-progress feedback (ComponentReady/Booted/Timeout) belongs to the Evidence seam follow-up and arrives as outside events, never from these executors.

MockReset starts held, as hardware does at power-on, so the tests prove the at-rest guarantee end to end: held through verification, released only on the verdict, a dead line fails closed (SM latches Locked, component never leaves reset).

chrysh added 4 commits August 17, 2026 14:53
ImageSource is board-supplied access to a component's active image
(interposed flash, PLDM transfer, test double); Verifier judges it,
and its error means the check could not run — a bad image is
Verdict::Rejected, never an error. BoardTypes and Board bundle one
board's types and wired instances; a new seam adds an associated type
and a field, not another parameter.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Christina Quast <christina.quast@9elements.com>
One executor method per SM effect, each documenting its obligation
from the platform-boundary contract (orchestrator-model.md §6);
unimplemented executors fail closed. read_firmware opens the image
source; verify_firmware has the verifier judge it and queues the
verdict, which the driver loop feeds back via take_event.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Christina Quast <christina.quast@9elements.com>
PR OpenPRoT#357 already settled this word: 'shell' reads as bash, and the
docs say platform driver. The crate follows: PlatformDriver in
driver.rs, DriverError, openprot_orchestrator_driver. The outer pump
is now the event loop, freeing 'driver' for the struct.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Christina Quast <christina.quast@9elements.com>
The Reset seam fills in: BoardTypes names a BootControl per board,
Board carries one line per component, and assert_reset/release_reset
actuate them. Actuation only — boot-progress feedback stays with the
Evidence seam follow-up. MockReset starts held, as hardware does, so
the tests prove the at-rest guarantee: held through verification,
released only on the verdict, and a dead line fails closed.

Assisted-by: Claude:claude-fable-5
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.

1 participant