Software list
Software list displays real server state with a next action, not placeholder statistics.
Software
Read from the connected engine through the control plane.Loading…
Rows come from the connected engine through the control-plane proxy; this page never renders placeholder records.
Served by the core studio
Software records (sources, programs, runs, releases, components, environments, media, verification and exports) live in the core engine and are edited in its studio. When a connected engine answers through this workspace, the panels above render its own records as returned; without a connection the shell states that and shows nothing rather than an invented row. The surface contract below names each action and the setup it needs.
Surface contract
Primary object: the software list: each record’s name and publication state, with search and archive served by the core studio.
Actions
- CreateOpens the zero-code source grouping entry; the record itself is created by the core studio through the guided setup. No repository is read until its source is authorized.
- OpenCore studioOpening a software shows publication, source state and runs, all held by the core studio. This hosted build holds no engine records and never lists invented rows.
- ArchiveCore studioArchival keeps the record and stops publication; it is a core-studio operation over an engine route this hosted build does not hold.
Required states and how this surface reaches them
- loading
- the session probe and each list show Loading… until the control plane answers.
- ready
- the server’s own records render as returned; the primary object is named before its details.
- empty
- no software record exists yet; the direct action is the guided setup, which creates the first one through POST /v1/software.
- error
- the control plane’s status and detail are shown; no placeholder row replaces them.
- offline
- no control plane is reachable; nothing is rendered rather than invented.
- permission_denied
- a 401 returns to sign-in with this path; a 403 states that the role cannot read this surface.
- not_configured
- a 503 names the missing provider or secret; setup is shown, never fake results.
- budget_paused
- a 402 (quota_exceeded / upgrade_required) pauses spending; the budget row shows the cap and consumption that caused it.
- requires_approval
- mutations the server reserves for an explicit human owner/admin are refused with its own detail and never auto-approved here.
Scope: workspace membership. Engine records are read and written through the core engine’s own routes (proxied by the control plane); the hosted shell binds only to named contracts, shows a record only when the server returned it, and never calculates permissions in the browser.