cadrumo.entrypoints.tui.operations.projection module

Immutable modal view models derived solely from public operation projections.

Every field here is computed from OperationPublicProjectionV1 and its public capability, response-control, and pending-interaction fields. Nothing in this module imports a persisted snapshot, a journal record, or any supervisor-private state; the modal renders from these view models alone, so a lifecycle truth (cancellable, terminal, detachable) can never be reclassified downstream of what the projection already declares.

class OperationModalViewModelV1(**data)[source]

Bases: BaseModel

Renderer-neutral, pre-derived state the generic operation modal draws.

Every derived field is a pure function of the source projection; none reclassifies lifecycle truth the projection itself does not already carry.

Parameters:

data (Any)

projection: OperationPublicProjectionV1
spinner_visible: bool
cancel_control_enabled: bool
detach_control_enabled: bool
close_policy: OperationClosePolicy
interaction_affordance: OperationModalInteractionAffordanceV1
terminal_copy_key: OperationModalTerminalCopyKeyV1 | None
phase_code: OperationEventCode | None
execution_deadline_at: datetime | None
cleanup_deadline_at: datetime | None
diagnostic_ref: OperationDiagnosticReference | None
receipt_kind: OperationModalReceiptKindV1 | None
receipt_ref: OperationReference | None
build_operation_modal_view_model(projection)[source]

Derive the one immutable modal view model for a public projection.

Return type:

OperationModalViewModelV1

Parameters:

projection (OperationPublicProjectionV1)