Skip to content
docsv0.34.0

HouseComponent

THE SCREEN THE PANEL OPENS ON: what this house is, what it can be asked for, and what it cannot do yet. It exists because the panel used to open on Plugins, and nobody chose that — `order: 10` won a flat sort. A human who had just installed the framework met a table of PHP class names (greenhouse decisions/0264). The class table is not wrong; it is just not the first thing anybody needs, and Plugins is exactly where it belongs. IT SAYS WHAT IS MISSING, and that is the part worth defending. A capability nobody installed, a foundation nobody filled in, an index read from an offline floor — each is reported as the fact it is, with what it costs. The alternative is a screen that renders «—» and teaches nothing about which absence it is looking at. AND IT ADMITS WHEN IT HAS NOTHING TO SAY. An equipped house gets no invented next step: the panel says so and gets out of the way. A screen that always has advice is a screen whose advice is worth nothing.

HouseComponent::__construct()

public function __construct(Milpa\Admin\Data\HouseSource $source):

Parameters

Parameters of __construct()
NameTypeDescription
$sourceMilpa\Admin\Data\HouseSource

HouseComponent::contract()

public static function contract(): Milpa\Live\ValueObjects\ComponentContract

What this screen holds: the house's standing, its founding, its capabilities — and no actions.

HouseComponent::mount()

public function mount(array $props, Milpa\Live\ValueObjects\ComponentContext $context): Milpa\Live\ValueObjects\StateSnapshot

The house as it stands, plus WHO the gate authenticated. The principal reaches every section through its context (greenhouse decisions/0210) and this screen says who it is, because «who is in the house» is one of the three questions it exists to answer — and nobody is an answer too, not a blank.

Parameters

Parameters of mount()
NameTypeDescription
$propsarray
$contextMilpa\Live\ValueObjects\ComponentContext

HouseComponent::handle()

public function handle(Milpa\Live\ValueObjects\InteractionRequest $request): Milpa\Live\ValueObjects\InteractionResult

Reports an action rather than running one — this section reads. Every act it NAMES is a governed operation somewhere else: a signed command, a ceremony in a browser. A button here would run it under whatever authority the panel happens to have, which is the one thing a panel must never lend.

Parameters

Parameters of handle()
NameTypeDescription
$requestMilpa\Live\ValueObjects\InteractionRequest