feat: add privileged workspace worker discovery

This commit is contained in:
2026-08-30 22:48:26 +09:00
parent 766cbd17e5
commit 6640c902de
20 changed files with 945 additions and 48 deletions
+1
View File
@@ -28,6 +28,7 @@ feature = {
image = { enabled = true; };
sub_worker = { enabled = false; };
worker = { enabled = false; };
workspace_worker_discovery = { enabled = false; };
objective = { enabled = true; };
ticket = { enabled = true; authoring = true; thread = true; };
merge_request = {
+2
View File
@@ -8,6 +8,8 @@ import "./base.dcdl" // {
memory = { enabled = true; };
web = { enabled = true; };
sub_worker = { enabled = true; };
worker = { enabled = true; direct_spawn = false; };
workspace_worker_discovery = { enabled = true; };
manage_workdir = { enabled = true; };
ticket = { enabled = true; authoring = true; thread = true; };
};
+2
View File
@@ -10,6 +10,7 @@ commonMergeRequest = import "./common/merge-request.md";
commonTickets = import "./common/tickets.md";
commonToolUsage = import "./common/tool-usage.md";
commonWorkerObservation = import "./common/worker-observation.md";
commonWorkspaceWorkerDiscovery = import "./common/workspace-worker-discovery.md";
commonWorkerOrchestration = import "./common/worker-orchestration.md";
commonWorkspace = import "./common/workspace.md";
commonWriting = import "./common/writing.md";
@@ -40,6 +41,7 @@ in
tickets = commonTickets.content;
tool_usage = commonToolUsage.content;
worker_observation = commonWorkerObservation.content;
workspace_worker_discovery = commonWorkspaceWorkerDiscovery.content;
worker_orchestration = commonWorkerOrchestration.content;
workspace = commonWorkspace.content;
writing = commonWriting.content;
@@ -0,0 +1,6 @@
Workspace Worker discovery is separate from Worker control authority.
- Use `ListWorkspaceWorkers` to list accessible Workspace Workers or directly find one by its exact `W-*` key or display name.
- Reuse the returned typed `subject` unchanged when a later `Worker*` control tool requires a target. Do not guess `runtime_id` or `worker_id`.
- Discovery does not grant control. `WorkerList` remains the authoritative list of Workers this Worker may control, and a discovered Worker can still be rejected by every control operation.
- Results exclude service-private/Internal Workers and omit provider, launch, credential, and capability internals.