cadrumo.entrypoints.tui.modelo.view.overview module

The modelo.workspace.overview read destination.

The frame for one admitted session: which workspace this is, what state it is in, and what the producers say can be done with it. Everything shown is copied from the projection; this screen resolves nothing and classifies nothing.

Everything on the page leads with the operator’s words: dispositions, assertions, review status and work state are named, never shown as their transport tokens. Producer attribution and raw identifiers – the work unit, the law-selected revision, each capability’s owner.producer – stay reachable in a collapsed technical-details group, because they answer “which code said so”, not “what does this mean for me”.

Two disclosures carry the destination’s honesty and are worth stating plainly, because both are places where rendering the obvious thing would assert something untrue.

The REVISION block shows coordinates, never a chronology. Workspace V1 exposes one law-selected revision plus two independently evaluated point assertions; it has no sequence over time, so a screen presenting a timeline would author a temporal claim no producer made.

The ACTIONS line says in one plain sentence that this page suggests no next steps yet, rather than rendering an empty list. An empty actions panel reads as “there is nothing you can do”; the truth is “this producer does not say what you can do”. Those are different claims, and only the second is true – ModeloWorkspaceCapabilityV1 and the refusal types declare recovery_action and no producer populates it, while the surrounding application layer attaches ActionReference to comparable verdicts routinely. So the silence here is an omission upstream, not an absence of actions in the system, and the screen must not convert one into the other.

class ModeloWorkspaceOverviewScreen(session, *, id=None)[source]

Bases: TypedAppAccess, AccountChromeScreen

Address, revision coordinates, status, and the capability denominator.

Parameters:
BINDINGS: ClassVar

A list of key bindings.

compose()[source]

Called by Textual to create child widgets.

This method is called when a widget is mounted or by setting recompose=True when calling [refresh()][textual.widget.Widget.refresh].

Note that you don’t typically need to explicitly call this method.

Return type:

Iterable[Widget]

Example

def compose(self) -> ComposeResult:
    yield Header()
    yield Label("Press the button below:")
    yield Button()
    yield Footer()
on_mount()[source]

Populate the header, the destination list, the disclosure groups, and the action notice.

Return type:

None

on_data_table_row_selected(event)[source]

Open the selected page over this one; leaving it returns here.

Return type:

None

Parameters:

event (RowSelected)

action_quit_overview()[source]

Leave the destination without returning a value; this screen decides nothing.

Return type:

None

action_toggle_appearance()[source]

Switch between the two shipped appearances.

Return type:

None

can_focus: bool

Widget may receive focus.

can_focus_children: bool

Widget’s children may receive focus.