Skip to content

orchestrator: Add the LockdownLatch terminal capability trait - #432

Open
chrysh wants to merge 1 commit into
OpenPRoT:mainfrom
9elements:add-lockdown
Open

orchestrator: Add the LockdownLatch terminal capability trait#432
chrysh wants to merge 1 commit into
OpenPRoT:mainfrom
9elements:add-lockdown

Conversation

@chrysh

@chrysh chrysh commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Effect::LatchLockdown is the one SM effect at the top of the escalation ladder with no capability seam. Add LockdownLatch: a one-way latch into the platform safe state, a sticky bit rather than an acquire/release lock.

Contract: Ok means the safe state is in force (not queued), a failed latch is a hard fault the caller must treat as terminal, latching an already-latched platform is Ok, and only a platform reset exits.

Trait only; the platform driver composition follows now that the driver crate (#418) has landed.

Part of 9elements#3
Related: #385 — whether Locked should be terminal.

@chrysh
chrysh force-pushed the add-lockdown branch 2 times, most recently from c27dcce to 4276bb1 Compare August 19, 2026 19:12
@chrysh
chrysh marked this pull request as ready for review August 19, 2026 19:37
/// unlatches it, and latching an already-latched platform succeeds. `Ok`
/// means the safe state is in force, not merely requested. A failed latch
/// is a hard fault: the orchestrator has nothing stronger to emit, so the
/// caller must halt or reset rather than continue.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Halt or reset implies we are acting on the eRoT CPU. We are not.

@chrysh
chrysh force-pushed the add-lockdown branch 2 times, most recently from 65cc0a4 to 12236a1 Compare August 20, 2026 10:32
@chrysh
chrysh requested a review from rusty1968 August 20, 2026 16:01
The Effect::LatchLockdown executor has no capability seam. Add
LockdownLatch: a one-way latch into the platform safe state, a sticky
bit rather than an acquire/release lock. Ok only when the safe state is
in force; a failed latch is a hard fault the caller must treat as
terminal. Trait only; the platform driver composition follows
separately.

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.

2 participants