Skip to content

Crossings on PEW/Work

Source: docs/canon/proposals.md
Status: Current canon document. “PEW/Proposal” here is the product noun; this document is not a draft.

Parents: grain.md Sibling: standard-toolkit.md (mutator membership). Permission: ../runtime/approval.md.

There is no PEW/Proposal awareness lane. Client want about open work is not an ephemeral mailbox the Actor considers.


Crossing Substrate Not
Cancel Host: admitTermination() if a worker is live, else fail("cancel", "terminate", …). Job cancel is daemon-owned (turn/cancel); that path terminates in-flight PEW the same way. A proposal the Actor admits
Permission approved / approvalComment on the Approvable leaf; sequences expose approvalQueue / approvalQueueHead. Sole home: ../runtime/approval.md. A PEW/Proposal; a child “approval” Expectation
Question / confirm Shell composer overlay (harness/confirm, #awaitCallback). Face: ../client/shell.md. expectation.propose / Actor proposals
Steer Prompt-specific steer chunks on the turn. A well-known PEW shape

ConfirmationProposal / confirmationProposalSchema is residual schema — do not extend; not Permission.

Quickdraw mailbox is paint transport only.


This input face applies to interactive execution. An unattended programmatic turn exposes no human approval or confirm dialogue; the daemon returns interaction_required through the operation outcome (../client/shell.md). Cancellation remains available via turn/cancel. Attaching a TUI does not change the run’s interaction constraint. Operator day-to-day: ../client/operate.md. Permission chrome: ../runtime/approval.md.

runningTurn = session.findRunningTurn()
openWork = live Jobs and PEW/Expectations in the displayed execution scope

PEW/Work is durable. Cancel and Permission are host writes. Confirm is shell chrome. Never mint a peer PEW/Expectation for the dialog.