DocslothMaintainer
checking session

Maintainer

Maintainer displays real server state with a next action, not placeholder statistics.

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: maintainer automation: source and deploy triggers, the chosen policy, and the bounded impact a run would have.

Actions

  • PauseCore studioPausing automation stops the engine from starting new triggered runs; already-running runs are cancelled through their own cancel contract, not by this page.
  • Choose policyOpens the real policies surface: rules and approval conditions are control-plane records (POST/PUT /v1/policies), revision-bound so a concurrent edit is refused.
  • Run impactCore studioImpact analysis is computed by the core engine over the graph and affected pages; this hosted build holds no graph and never estimates impact from nothing.
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
the list endpoint returned no rows; the empty note names the object to create or connect and links the direct action. Empty is not an error.
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
automation that would spend is refused by the control plane when the workspace budget is exhausted; the workspace overview shows the cap and consumption.
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.