-
-
- ID -
{host.host_id}
- - Kind -
- {host.kind} -
- Local Pod inspection -
- {host.capabilities.local_pod_inspection} -
- Platform -
- {host.capabilities.os} / {host.capabilities.arch} -
Local / single-workspace bootstrap
-Yoi Workspace Control Plane
-
- Static SPA shell for reading canonical .yoi project records
- and the local Host / Worker execution view through bounded backend APIs.
- Ticket and Objective lifecycle authority stays in the existing local record
- workflow.
-
Workspace
- {#if workspace} --
-
- ID -
- {workspace.workspace_id} -
- Name -
- {workspace.display_name} -
- Record authority -
- {workspace.record_authority} -
- Host / Worker bridge -
- {workspace.extension_points.host_worker_bridge.status} -
{loadError}
- {:else} -Waiting for /api/workspace…
Read API surface
--
- {#each endpoints as endpoint}
-
{endpoint.path}— {endpoint.label}
- {/each}
-
Reserved seams
+Local / single-workspace bootstrap
+Yoi Workspace Control Plane
- Event streams remain represented as extension-point state in the backend
- response. Hosts and Workers are read-only local observations; no
- scheduler, lifecycle control, or hosted multi-tenant behavior is
- implemented in this slice.
+ Static SPA shell for reading canonical .yoi project records
+ and the local Host / Worker execution view through bounded backend APIs.
+ Ticket and Objective lifecycle authority stays in the existing local record
+ workflow.
Hosts
- {#if hosts} - {#if hosts.items.length === 0} -No local Hosts are visible.
- {:else} -Workspace
+ {#if workspace} +-
+
- ID +
- {workspace.workspace_id}
{loadError}
- {:else} -Waiting for /api/hosts…
Workers
- {#if workers} - {#if workers.items.length === 0} -No local Workers are visible.
- {:else} -| Worker | -Host | -State | -Workspace | -Implementation | -
|---|---|---|---|---|
| - {worker.label} - {#if worker.role || worker.profile} - {worker.role ?? 'role unknown'} / {worker.profile ?? 'profile unknown'} - {/if} - | -{worker.host_id} |
- {worker.state} · {worker.status} | -{worker.workspace_root ?? 'unknown'} | -{worker.implementation.kind}: {worker.implementation.pod_name} | -
{loadError}
+{workspaceError}
{:else} -Waiting for /api/workers…
Waiting for /api/workspace…
Diagnostics
+Read API surface
-
- {#each diagnostics as diagnostic}
-
-
- {diagnostic.severity}
-
{diagnostic.code}- {diagnostic.message} -
+ {#each endpoints as endpoint}
+ {endpoint.path}— {endpoint.label}
{/each}
Reserved seams
++ Event streams remain represented as extension-point state in the backend + response. Hosts and Workers are read-only local observations; no + scheduler, lifecycle control, or hosted multi-tenant behavior is + implemented in this slice. +
+Hosts
+ {#if hosts} + {#if hosts.items.length === 0} +No local Hosts are visible.
+ {:else} +-
+
- ID +
{host.host_id}
+ - Kind +
- {host.kind} +
- Local inspection +
- {host.capabilities.local_pod_inspection} +
- Platform +
- {host.capabilities.os} / {host.capabilities.arch} +
{hostsError}
+ {:else} +Waiting for /api/hosts…
Workers
+ {#if workers} + {#if workers.items.length === 0} +No local Workers are visible.
+ {:else} +| Worker | +Host | +State | +Workspace | +Implementation | +
|---|---|---|---|---|
| + {worker.label} + {#if worker.role || worker.profile} + {worker.role ?? 'role unknown'} / {worker.profile ?? 'profile unknown'} + {/if} + | +{worker.host_id} |
+ {worker.state} · {worker.status} | +{worker.workspace_root ?? 'unknown'} | +{worker.implementation.kind} | +
{workersError}
+ {:else} +Waiting for /api/workers…
Diagnostics
+-
+ {#each diagnostics as diagnostic}
+
-
+ {diagnostic.severity}
+
{diagnostic.code}+ {diagnostic.message} +
+ {/each}
+