ticket: accept worker runtime execution boundary
This commit is contained in:
parent
62ce777cf8
commit
9929d1c704
|
|
@ -0,0 +1 @@
|
||||||
|
{"id":"orch-plan-20260627-190733-1","ticket_id":"00001KW55B32Y","kind":"accepted_plan","note":"Dashboard Queue accepted. No outgoing blockers for this boundary Ticket; downstream queued Tickets depend on it. Orchestration worktree clean and no inprogress work.","accepted_plan":{"summary":"`worker-runtime` に Worker execution backend の trait/handle/enum と lifecycle/input/protocol event publish contract を追加する。具体的な `worker` crate adapter は後続 Ticket に残し、execution backend 未接続 Worker が input accepted にならない型・状態・テスト境界を作る。","branch":"work/00001KW55B32Y-worker-runtime-execution-backend","worktree":"/home/hare/Projects/yoi/.worktree/00001KW55B32Y-worker-runtime-execution-backend","role_plan":"Orchestrator が dedicated child worktree を作成し、coder Worker に `crates/worker-runtime` と必要な Backend projection support (`crates/workspace-server`)、Cargo/package files の write scope を委譲する。reviewer Worker は read-only で execution backend 境界、input rejection/dispatch contract、protocol event hook、Browser-facing non-leak、fake/providerless response absence を確認する。merge/validation/done/cleanup は Orchestrator が行う。"},"author":"yoi-orchestrator","at":"2026-06-27T19:07:33Z"}
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
title: 'worker-runtimeにWorker実行Backend境界を追加する'
|
title: 'worker-runtimeにWorker実行Backend境界を追加する'
|
||||||
state: 'queued'
|
state: 'inprogress'
|
||||||
created_at: '2026-06-27T18:26:46Z'
|
created_at: '2026-06-27T18:26:46Z'
|
||||||
updated_at: '2026-06-27T19:06:28Z'
|
updated_at: '2026-06-27T19:08:06Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-27T19:06:28Z'
|
queued_at: '2026-06-27T19:06:28Z'
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,83 @@ Marked ready by `yoi ticket state`.
|
||||||
Ticket を `workspace-panel` が queued にしました。
|
Ticket を `workspace-panel` が queued にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: yoi-orchestrator at: 2026-06-27T19:07:57Z -->
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
Routing decision: implementation_ready
|
||||||
|
|
||||||
|
Reason:
|
||||||
|
- Dashboard Queue により routing 許可済み。
|
||||||
|
- 本 Ticket は後続 adapter / Companion 実行 Ticket の前段となる execution backend boundary であり、具体的な `worker` crate adapter 実装は Non-goal として分離されている。
|
||||||
|
- Outgoing blocking relation はなく、current `inprogress` は 0。orchestration worktree is clean。
|
||||||
|
- Downstream queued Tickets (`00001KW55B33B`, `00001KW55B33H`) は本 Ticket 完了まで待機させる。
|
||||||
|
|
||||||
|
Evidence checked:
|
||||||
|
- Ticket body: execution backend boundary、input rejection/dispatch、protocol event publish hook、Worker model invariant、Browser-facing non-leak、Non-goals、acceptance criteria。
|
||||||
|
- Relations: incoming/downstream dependency chain is present via queued Tickets; this Ticket itself has no unresolved outgoing blocker。
|
||||||
|
- Orchestration plan: accepted plan `orch-plan-20260627-190733-1` recorded。
|
||||||
|
- Code context: current `worker-runtime::Runtime` / `catalog` / `workspace-server::hosts` have Runtime/Worker model and projection foundation but no concrete execution backend boundary yet。
|
||||||
|
- Workspace state: queued 3 / inprogress 0、orchestration clean。
|
||||||
|
|
||||||
|
IntentPacket:
|
||||||
|
|
||||||
|
Intent:
|
||||||
|
- `worker-runtime` に Worker execution backend 境界を追加し、Runtime が input-capable Worker と backend-unconnected placeholder を混同しないようにする。
|
||||||
|
|
||||||
|
Binding decisions / invariants:
|
||||||
|
- Execution backend 未接続 Worker への user input は accepted にしない。
|
||||||
|
- Runtime 自身が fake / providerless assistant response を生成しない。
|
||||||
|
- Worker transcript / observation は正規 contract とし、`can_stream_events` / `can_read_bounded_transcript` を public capability として復活させない。
|
||||||
|
- Execution backend handle / socket path / credential / session path / raw worker handle は Browser-facing API に出さない。
|
||||||
|
- 既存 `worker` crate への具体 adapter 接続、Workspace Companion real LLM execution、Web Console UX redesign は実装しない。
|
||||||
|
|
||||||
|
Requirements / acceptance criteria:
|
||||||
|
- `worker-runtime` に execution backend trait / handle / enum / lifecycle contract がある。
|
||||||
|
- backend connected Worker の input dispatch 境界と run state/busy/rejected/errored typed result がある。
|
||||||
|
- stop/cancel unsupported は typed rejection。
|
||||||
|
- protocol event を Runtime observation bus へ publish する hook がある。
|
||||||
|
- Focused tests が backend 未接続 input rejection、connected backend input dispatch boundary、observation publish hook を確認する。
|
||||||
|
- `cargo test -p worker-runtime --features ws-server`, `cargo test -p yoi-workspace-server`, `cargo check -p yoi`, `git diff --check`, `nix build .#yoi --no-link` が通る。
|
||||||
|
|
||||||
|
Implementation latitude:
|
||||||
|
- Backend boundary の具体型名、trait sync/asyncの形、test backend/fake backend の実装、Runtime state/projectionの最小変更は Coder が既存 `worker-runtime` design に合わせて選べる。
|
||||||
|
- `workspace-server` projection に必要な最小 diagnostic/state 表現は追加してよい。
|
||||||
|
- 既存 `worker` crate adapter に必要そうな shape は見越してよいが、実 adapter 実装はしない。
|
||||||
|
|
||||||
|
Escalate if:
|
||||||
|
- `worker` crate に大きく手を入れないと boundary 自体が定義できない。
|
||||||
|
- Browser-facing API に raw execution handle/path/credential を出す必要が出る。
|
||||||
|
- public capability として `can_stream_events` / `can_read_bounded_transcript` を戻さないと UI/API が成立しない。
|
||||||
|
- fake/providerless response を再導入しないと tests/UX が通らない。
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
- `cargo fmt --all`
|
||||||
|
- `cargo test -p worker-runtime --features ws-server`
|
||||||
|
- `cargo test -p yoi-workspace-server`
|
||||||
|
- `cargo check -p yoi`
|
||||||
|
- `git diff --check`
|
||||||
|
- 可能なら `nix build .#yoi --no-link`
|
||||||
|
|
||||||
|
Critical risks / reviewer focus:
|
||||||
|
- backend 未接続 Worker が input accepted になる regression。
|
||||||
|
- Runtime-generated fake/providerless assistant response の再導入。
|
||||||
|
- Browser-facing projection に execution backend internals/path/credential/session が漏れること。
|
||||||
|
- Worker transcript/observation を optional display capability として扱うこと。
|
||||||
|
- 後続 adapter Ticket の scope を先取りしすぎること。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-27T19:08:06Z from: queued to: inprogress reason: routing_accepted_execution_backend_boundary field: state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Routing decision: implementation_ready。
|
||||||
|
|
||||||
|
Ticket body / relation / workspace state / accepted plan を確認し、Worker execution backend boundary slice は unblocked と判断した。Downstream queued Tickets は本 Ticket の completion を待つ。accepted plan と IntentPacket は thread / orchestration plan に記録済み。
|
||||||
|
|
||||||
|
これ以降、worktree creation / coder Worker routing などの implementation side effect に進める。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"id":"orch-plan-20260627-190816-1","ticket_id":"00001KW55B33B","kind":"blocked_by","related_ticket":"00001KW55B32Y","note":"Queue routing checked. Embedded `worker` crate execution connection depends on execution backend boundary `00001KW55B32Y`, which has just been accepted and is now inprogress. Leave queued until backend boundary is reviewed/merged/done.","author":"yoi-orchestrator","at":"2026-06-27T19:08:16Z"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'embedded worker-runtimeをworker crate実行に接続する'
|
title: 'embedded worker-runtimeをworker crate実行に接続する'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-27T18:26:46Z'
|
created_at: '2026-06-27T18:26:46Z'
|
||||||
updated_at: '2026-06-27T19:06:30Z'
|
updated_at: '2026-06-27T19:08:35Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-27T19:06:30Z'
|
queued_at: '2026-06-27T19:06:30Z'
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,28 @@ Marked ready by `yoi ticket state`.
|
||||||
Ticket を `workspace-panel` が queued にしました。
|
Ticket を `workspace-panel` が queued にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: yoi-orchestrator at: 2026-06-27T19:08:35Z -->
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
Routing decision: blocked_by_dependency_or_missing_authority
|
||||||
|
|
||||||
|
Reason:
|
||||||
|
- Dashboard Queue 後に Ticket / relations / orchestration plan / workspace state を確認した。
|
||||||
|
- 本 Ticket は `00001KW55B32Y` (`worker-runtimeにWorker実行Backend境界を追加する`) に `depends_on` relation を持つ。
|
||||||
|
- `00001KW55B32Y` は本 routing pass で accepted され `inprogress` になった。
|
||||||
|
- Adapter は execution backend boundary に接続する必要があるため、boundary の shape が review/merge/done になる前に開始しない。
|
||||||
|
|
||||||
|
Evidence checked:
|
||||||
|
- Ticket body: adapter placement/dependency boundary、Profile/config/authority resolution、input/run lifecycle、protocol event bridge、Non-goals。
|
||||||
|
- Relations: outgoing `depends_on -> 00001KW55B32Y`; incoming dependent `00001KW55B33H`。
|
||||||
|
- Orchestration plan: blocker record `orch-plan-20260627-190816-1` を追加。
|
||||||
|
- Workspace state: `00001KW55B32Y` is inprogress; current worktree clean before implementation side effects.
|
||||||
|
|
||||||
|
Next action:
|
||||||
|
- 本 Ticket は queued のまま待機。
|
||||||
|
- `00001KW55B32Y` が reviewer approve / merge / validation / done になった後に再 routing する。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"id":"orch-plan-20260627-190816-1","ticket_id":"00001KW55B33H","kind":"blocked_by","related_ticket":"00001KW55B33B","note":"Queue routing checked. Workspace Companion real LLM Worker execution depends on embedded worker-runtime to worker crate connection `00001KW55B33B`, which is queued and blocked by execution backend boundary `00001KW55B32Y`. Leave queued until dependency chain is done.","author":"yoi-orchestrator","at":"2026-06-27T19:08:16Z"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Workspace Companionを実LLM実行Workerとして起動する'
|
title: 'Workspace Companionを実LLM実行Workerとして起動する'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-27T18:26:47Z'
|
created_at: '2026-06-27T18:26:47Z'
|
||||||
updated_at: '2026-06-27T19:06:32Z'
|
updated_at: '2026-06-27T19:08:35Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-27T19:06:32Z'
|
queued_at: '2026-06-27T19:06:32Z'
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,28 @@ Marked ready by `yoi ticket state`.
|
||||||
Ticket を `workspace-panel` が queued にしました。
|
Ticket を `workspace-panel` が queued にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: yoi-orchestrator at: 2026-06-27T19:08:35Z -->
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
Routing decision: blocked_by_dependency_or_missing_authority
|
||||||
|
|
||||||
|
Reason:
|
||||||
|
- Dashboard Queue 後に Ticket / relations / orchestration plan / workspace state を確認した。
|
||||||
|
- 本 Ticket は `00001KW55B33B` (`embedded worker-runtimeをworker crate実行に接続する`) に `depends_on` relation を持つ。
|
||||||
|
- `00001KW55B33B` は queued で、さらに `00001KW55B32Y` execution backend boundary が inprogress のため blocked。
|
||||||
|
- Workspace Companion を実 LLM 実行 Worker として起動するには、embedded Runtime が既存 `worker` crate execution に接続済みである必要があるため、依存 chain 完了前に開始しない。
|
||||||
|
|
||||||
|
Evidence checked:
|
||||||
|
- Ticket body: Companion bootstrap、Worker Console behavior、API cleanup、Validation/evidence、Non-goals。
|
||||||
|
- Relations: outgoing `depends_on -> 00001KW55B33B` and related Web Console/Worker Console Tickets。
|
||||||
|
- Orchestration plan: blocker record `orch-plan-20260627-190816-1` を追加。
|
||||||
|
- Workspace state: `00001KW55B32Y` accepted/inprogress; `00001KW55B33B` queued/blocked。
|
||||||
|
|
||||||
|
Next action:
|
||||||
|
- 本 Ticket は queued のまま待機。
|
||||||
|
- `00001KW55B33B` が done になった後に再 routing する。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user