ticket: close runtime worker launch unification
This commit is contained in:
parent
bdb339fab8
commit
88ef627b6b
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
title: 'Runtime Worker起動経路を正規のExecution/ConfigBundle経路に一本化する'
|
title: 'Runtime Worker起動経路を正規のExecution/ConfigBundle経路に一本化する'
|
||||||
state: 'inprogress'
|
state: 'closed'
|
||||||
created_at: '2026-06-28T13:35:21Z'
|
created_at: '2026-06-28T13:35:21Z'
|
||||||
updated_at: '2026-06-28T18:37:36Z'
|
updated_at: '2026-06-28T18:39:03Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-28T16:47:42Z'
|
queued_at: '2026-06-28T16:47:42Z'
|
||||||
|
|
|
||||||
33
.yoi/tickets/00001KW7726H9/resolution.md
Normal file
33
.yoi/tickets/00001KW7726H9/resolution.md
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
Runtime Worker 起動経路を canonical `ConfigBundleRef + ExecutionBackend` 経路へ一本化し、reviewer approval 後に orchestration branch へ merge した。
|
||||||
|
|
||||||
|
実装内容:
|
||||||
|
- Runtime `CreateWorkerRequest` を `config_bundle_ref` と user-only initial input 中心の内部作成契約へ整理。
|
||||||
|
- Browser-facing launch semantics と Runtime worker creation request を分離。
|
||||||
|
- raw workspace / cwd / tool scope / config store / secret / socket / path 類を Runtime create request に含めない境界にした。
|
||||||
|
- ConfigBundle missing / digest mismatch / profile mismatch を typed error / diagnostic として扱う。
|
||||||
|
- execution backend 未接続では Worker 作成を拒否し、input-capable Worker が backend 未接続になる経路を塞いだ。
|
||||||
|
- create 成功時のみ catalog / transcript / event を永続化し、spawn / initial input dispatch rejection は rollback。
|
||||||
|
- execution binding identity を raw handle / secret / path / socket を含まない non-authority projection として永続化。
|
||||||
|
- restore 後に live handle がない persisted execution mapping は `stale` として diagnostic `worker_execution_mapping_stale` を出す。
|
||||||
|
- System initial input を Runtime boundary で拒否し、launch/create が system transcript を注入できないようにした。
|
||||||
|
- Workspace embedded / Companion / remote-facing creation を canonical Runtime create path に寄せた。
|
||||||
|
- Remote Runtime projection でも execution status を見て `can_accept_input` / `can_stop` を計算し、stale / unconnected / rejected / errored Workers を input-capable として出さないようにした。
|
||||||
|
- fake/providerless response bypass は導入していない。
|
||||||
|
|
||||||
|
Integrated commits:
|
||||||
|
- `14bb4934a6374eea64591035e5342088ab0ccd09 runtime: unify worker creation path`
|
||||||
|
- `c29d10b67bfff1f4a7a1b2742ec05fe63b80c054 runtime: persist execution binding projection`
|
||||||
|
- `ba7f9d2ee83a946820cc234e847b6531b4a141f3 workspace: respect remote execution projection`
|
||||||
|
- merge: `bdb339fa merge: runtime worker launch unification`
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
- `cargo fmt --all --check`: success
|
||||||
|
- `cargo test -p worker-runtime --features ws-server`: success
|
||||||
|
- `cargo test -p worker-runtime --features "fs-store ws-server"`: success
|
||||||
|
- `cargo test -p yoi-workspace-server`: success (`36 passed`)
|
||||||
|
- `cargo check -p yoi`: success
|
||||||
|
- `git diff --check`: success
|
||||||
|
- `nix build .#yoi --no-link`: success
|
||||||
|
|
||||||
|
Operational note:
|
||||||
|
- User instructed not to use `StopPod` for now after repeated stop/hang symptoms. Cleanup will skip role-Pod shutdown and remove only child implementation worktree / branch.
|
||||||
|
|
@ -595,3 +595,107 @@ approve
|
||||||
前回までの blocker(execution binding projection persistence、stale diagnostic、System initial input rejection、remote stale projection)について、現在の差分で受け入れ条件を満たしていると判断する。現時点で concrete blocker はない。
|
前回までの blocker(execution binding projection persistence、stale diagnostic、System initial input rejection、remote stale projection)について、現在の差分で受け入れ条件を満たしていると判断する。現時点で concrete blocker はない。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: implementation_report author: yoi-orchestrator at: 2026-06-28T18:38:41Z -->
|
||||||
|
|
||||||
|
## Implementation report
|
||||||
|
|
||||||
|
Merge / validation report:
|
||||||
|
|
||||||
|
Implementation branch was integrated into the orchestration branch after reviewer approval.
|
||||||
|
|
||||||
|
Integrated commits:
|
||||||
|
- `14bb4934a6374eea64591035e5342088ab0ccd09 runtime: unify worker creation path`
|
||||||
|
- `c29d10b67bfff1f4a7a1b2742ec05fe63b80c054 runtime: persist execution binding projection`
|
||||||
|
- `ba7f9d2ee83a946820cc234e847b6531b4a141f3 workspace: respect remote execution projection`
|
||||||
|
|
||||||
|
Merge commit:
|
||||||
|
- `bdb339fa merge: runtime worker launch unification`
|
||||||
|
|
||||||
|
Validation in orchestration worktree:
|
||||||
|
- `cargo fmt --all --check`: success
|
||||||
|
- `cargo test -p worker-runtime --features ws-server`: success
|
||||||
|
- `cargo test -p worker-runtime --features "fs-store ws-server"`: success
|
||||||
|
- `cargo test -p yoi-workspace-server`: success (`36 passed`)
|
||||||
|
- `cargo check -p yoi`: success
|
||||||
|
- `git diff --check`: success
|
||||||
|
- `nix build .#yoi --no-link`: success
|
||||||
|
|
||||||
|
Outcome:
|
||||||
|
- Runtime Worker creation is unified around canonical `ConfigBundleRef + ExecutionBackend` create semantics.
|
||||||
|
- Browser-facing launch semantics are separated from Runtime `CreateWorkerRequest`.
|
||||||
|
- Runtime create request no longer carries raw workspace/cwd/tool-scope/config-store/secret/socket/path semantics.
|
||||||
|
- ConfigBundle missing/digest/profile mismatch and execution backend missing/provider failures are typed diagnostics/errors.
|
||||||
|
- Input-capable Workers require execution backend connection.
|
||||||
|
- Execution binding identity is persisted only as non-authority projection and restore without live handle surfaces stale execution mapping diagnostics.
|
||||||
|
- System initial input is rejected at Runtime boundary and not persisted as launch-created system transcript.
|
||||||
|
- Remote Runtime projection respects execution state so stale/unconnected/rejected/errored Workers are not input-capable.
|
||||||
|
- fake/providerless response bypass was not introduced.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-28T18:38:48Z from: inprogress to: done reason: implementation_merged_and_validated field: state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Reviewer approval後に implementation branch を orchestration branch へ merge し、要求された validation が成功したため done に遷移する。
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
- `cargo fmt --all --check`: success
|
||||||
|
- `cargo test -p worker-runtime --features ws-server`: success
|
||||||
|
- `cargo test -p worker-runtime --features "fs-store ws-server"`: success
|
||||||
|
- `cargo test -p yoi-workspace-server`: success (`36 passed`)
|
||||||
|
- `cargo check -p yoi`: success
|
||||||
|
- `git diff --check`: success
|
||||||
|
- `nix build .#yoi --no-link`: success
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: hare at: 2026-06-28T18:39:03Z from: done to: closed reason: closed field: state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Ticket を closed にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: close author: hare at: 2026-06-28T18:39:03Z status: closed -->
|
||||||
|
|
||||||
|
## 完了
|
||||||
|
|
||||||
|
Runtime Worker 起動経路を canonical `ConfigBundleRef + ExecutionBackend` 経路へ一本化し、reviewer approval 後に orchestration branch へ merge した。
|
||||||
|
|
||||||
|
実装内容:
|
||||||
|
- Runtime `CreateWorkerRequest` を `config_bundle_ref` と user-only initial input 中心の内部作成契約へ整理。
|
||||||
|
- Browser-facing launch semantics と Runtime worker creation request を分離。
|
||||||
|
- raw workspace / cwd / tool scope / config store / secret / socket / path 類を Runtime create request に含めない境界にした。
|
||||||
|
- ConfigBundle missing / digest mismatch / profile mismatch を typed error / diagnostic として扱う。
|
||||||
|
- execution backend 未接続では Worker 作成を拒否し、input-capable Worker が backend 未接続になる経路を塞いだ。
|
||||||
|
- create 成功時のみ catalog / transcript / event を永続化し、spawn / initial input dispatch rejection は rollback。
|
||||||
|
- execution binding identity を raw handle / secret / path / socket を含まない non-authority projection として永続化。
|
||||||
|
- restore 後に live handle がない persisted execution mapping は `stale` として diagnostic `worker_execution_mapping_stale` を出す。
|
||||||
|
- System initial input を Runtime boundary で拒否し、launch/create が system transcript を注入できないようにした。
|
||||||
|
- Workspace embedded / Companion / remote-facing creation を canonical Runtime create path に寄せた。
|
||||||
|
- Remote Runtime projection でも execution status を見て `can_accept_input` / `can_stop` を計算し、stale / unconnected / rejected / errored Workers を input-capable として出さないようにした。
|
||||||
|
- fake/providerless response bypass は導入していない。
|
||||||
|
|
||||||
|
Integrated commits:
|
||||||
|
- `14bb4934a6374eea64591035e5342088ab0ccd09 runtime: unify worker creation path`
|
||||||
|
- `c29d10b67bfff1f4a7a1b2742ec05fe63b80c054 runtime: persist execution binding projection`
|
||||||
|
- `ba7f9d2ee83a946820cc234e847b6531b4a141f3 workspace: respect remote execution projection`
|
||||||
|
- merge: `bdb339fa merge: runtime worker launch unification`
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
- `cargo fmt --all --check`: success
|
||||||
|
- `cargo test -p worker-runtime --features ws-server`: success
|
||||||
|
- `cargo test -p worker-runtime --features "fs-store ws-server"`: success
|
||||||
|
- `cargo test -p yoi-workspace-server`: success (`36 passed`)
|
||||||
|
- `cargo check -p yoi`: success
|
||||||
|
- `git diff --check`: success
|
||||||
|
- `nix build .#yoi --no-link`: success
|
||||||
|
|
||||||
|
Operational note:
|
||||||
|
- User instructed not to use `StopPod` for now after repeated stop/hang symptoms. Cleanup will skip role-Pod shutdown and remove only child implementation worktree / branch.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user