diff --git a/.yoi/tickets/00001KVZBCQH4/item.md b/.yoi/tickets/00001KVZBCQH4/item.md index f33e15f6..b20cdb02 100644 --- a/.yoi/tickets/00001KVZBCQH4/item.md +++ b/.yoi/tickets/00001KVZBCQH4/item.md @@ -2,7 +2,7 @@ title: 'worker-runtime core crateと組み込みRuntime APIを作る' state: 'inprogress' created_at: '2026-06-25T12:17:05Z' -updated_at: '2026-06-25T16:23:24Z' +updated_at: '2026-06-25T16:37:25Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-25T16:20:10Z' diff --git a/.yoi/tickets/00001KVZBCQH4/thread.md b/.yoi/tickets/00001KVZBCQH4/thread.md index 4df8ab7d..57da4e3a 100644 --- a/.yoi/tickets/00001KVZBCQH4/thread.md +++ b/.yoi/tickets/00001KVZBCQH4/thread.md @@ -450,3 +450,77 @@ Startup note: - The first spawn attempt failed before child creation because the runtime workspace root path itself was not readable in the delegated scope. Retried with non-recursive read on `/home/hare/Projects/yoi` plus implementation worktree read/write scope; second spawn succeeded. --- + + + +## Implementation report + +Implementation report: + +実装完了。マージ・Ticket 更新・cleanup は未実施。 + +Commit: +- `9b2cae32 feat: add memory worker runtime crate` + +変更ファイル / API 概要: +- `Cargo.toml` + - workspace member / default-member に `crates/worker-runtime` を追加。 + - workspace dependency に `worker-runtime` を追加。 +- `Cargo.lock` + - `worker-runtime` package entry を追加。 +- `crates/worker-runtime/Cargo.toml` +- `crates/worker-runtime/src/*` + +新規 crate `worker-runtime` の主な API 領域: +- `Runtime`: concrete な memory-backed embedded Runtime domain entity。`Runtime::new_memory()`, `Runtime::with_options(...)`。 +- `identity`: `RuntimeId`, `WorkerId`, `WorkerRef`。Worker 操作は `runtime_id + worker_id` を持つ `WorkerRef` を authority として扱う。 +- `management`: `RuntimeOptions`, `RuntimeSummary`, `RuntimeStatus`, `RuntimeLimits`。 +- `catalog`: `CreateWorkerRequest`, `WorkerIntent`, `ProfileSelector`, `ConfigBundleRef`, `CapabilityRequest`, `WorkspaceRef`, `MountRef`, `WorkerSummary`, `WorkerDetail`, `WorkerStatus`。 +- `interaction`: `WorkerInput`, `send_input(...)` による transcript 追記。 +- `observation`: bounded transcript projection、`EventCursor`, `RuntimeEventBatch`, poll-only `EventSubscription` placeholder。 +- `diagnostics`: `RuntimeDiagnostic`, `DiagnosticSeverity`。 + +実装範囲: +- HTTP / WS / SSE / REST / FS persistence / Backend integration / config bundle sync は未実装。 +- provider/tool execution も未統合。 +- config bundle なし・requested capabilities なしの tools-less Worker 作成をサポート。 +- create/list/detail/send/stop/cancel/projection/events/diagnostics の unit tests を追加。 + +Validation results: +- `cargo fmt --all`: success +- `cargo test -p worker-runtime`: success (6 tests passed) +- `cargo check -p yoi`: success +- `git diff --check`: success +- `nix build .#yoi --no-link`: failure + - 理由: `Cargo.lock` に新規 workspace crate `worker-runtime` が追加されたため、既存 `package.nix` の `cargoHash` / vendored lock consistency が古くなっている。 + - `package.nix` は今回の delegated write scope 外なので未変更。 + +Residual risks / review focus: +- `package.nix` の `cargoHash` 更新が別途必要。今回の delegated write scope が `crates/**`, root `Cargo.toml`, root `Cargo.lock` のみだったため対応していない。 +- v0 は in-memory のみで、Runtime/Worker lifecycle semantics は最小実装。特に terminal Worker に対する再 stop/cancel の扱いを review 対象にする。 +- Event subscription は意図通り poll-only placeholder。後続 streaming 実装時に cursor semantics が十分か確認する。 + +--- + + + +## Implementation report + +Packaging follow-up implementation report: + +対応内容: +- `package.nix` の `cargoHash` のみ更新。 +- New hash: `sha256-RHo2b6dVClqu32wpgES/RQeBMXaqyqXZaooeSH5SveM=` + +Commit: +- `593db95175ff8537af2401a5def21fc32dd4846d fix: update nix cargo hash` + +Validation: +- `nix build .#yoi --no-link`: success +- `git diff --check`: success + +Residual notes: +- 作業ツリーは clean。 +- merge / close / cleanup は未実施。 + +--- diff --git a/.yoi/tickets/00001KVZKSV6C/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KVZKSV6C/artifacts/orchestration-plan.jsonl new file mode 100644 index 00000000..4f66e707 --- /dev/null +++ b/.yoi/tickets/00001KVZKSV6C/artifacts/orchestration-plan.jsonl @@ -0,0 +1 @@ +{"id":"orch-plan-20260625-163206-1","ticket_id":"00001KVZKSV6C","kind":"blocked_by","related_ticket":"00001KVZBCQH4","note":"Queue routing checked after Dashboard Queue. This Backend RuntimeRegistry foundation Ticket depends on `00001KVZBCQH4` worker-runtime core. That dependency is currently inprogress and only at coder implementation report stage, not reviewed/merged/done, so implementation side effects for this Ticket are blocked.","author":"yoi-orchestrator","at":"2026-06-25T16:32:06Z"} diff --git a/.yoi/tickets/00001KVZKSV6C/item.md b/.yoi/tickets/00001KVZKSV6C/item.md index ffc85bb8..e2a40eb5 100644 --- a/.yoi/tickets/00001KVZKSV6C/item.md +++ b/.yoi/tickets/00001KVZKSV6C/item.md @@ -2,7 +2,7 @@ title: 'Backend RuntimeRegistryの基盤をworker-runtime向けに整理する' state: 'queued' created_at: '2026-06-25T14:44:03Z' -updated_at: '2026-06-25T16:31:28Z' +updated_at: '2026-06-25T16:32:17Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-25T16:31:28Z' diff --git a/.yoi/tickets/00001KVZKSV6C/thread.md b/.yoi/tickets/00001KVZKSV6C/thread.md index c195d97d..611a40f7 100644 --- a/.yoi/tickets/00001KVZKSV6C/thread.md +++ b/.yoi/tickets/00001KVZKSV6C/thread.md @@ -50,4 +50,33 @@ Marked ready by `yoi ticket state`. Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: blocked_by_dependency_or_missing_authority + +Reason: +- Dashboard Queue による routing 許可を受けて Ticket / relations / orchestration plan / workspace state を確認した。 +- 本 Ticket は `00001KVZBCQH4` (`worker-runtime core crateと組み込みRuntime APIを作る`) に `depends_on` relation を持つ。 +- `00001KVZBCQH4` は現在 `inprogress`。Coder implementation report は届いているが、まだ review / merge / validation / done ではない。 +- 本 Ticket の要件は worker-runtime core domain types を前提に Backend Registry foundation を整理する内容なので、依存 Ticket が確定する前に別 worktree / Coder Worker を開始すると API churn / conflict risk が高い。 + +Evidence checked: +- Ticket body: Backend RuntimeRegistry foundation、runtime_id / worker_id authority、existing local compatibility source、workspace-server hosts/server target、Non-goals。 +- Relations: outgoing `depends_on -> 00001KVZBCQH4`; incoming dependents `00001KVZSGT0Q`, `00001KVZSGT14`。 +- Orchestration plan: blocker record `orch-plan-20260625-163206-1` を追加。 +- Workspace state: `00001KVZBCQH4` implementation worktree exists and coder has reported commit `9b2cae32`, but no reviewer approval / Orchestrator merge yet。 +- Queue state: 本 Ticket と `00001KVZSGT0Q` が queued、`00001KVZBCQH4` が inprogress。 + +Next action: +- 本 Ticket は queued のまま待機。 +- `00001KVZBCQH4` が reviewer approve / merge / validation / done になった後、再 routing して unblocked なら `queued -> inprogress` acceptance に進む。 + +Escalate if: +- `00001KVZBCQH4` の Runtime API shape が本 Ticket の前提を満たさない。 +- Backend Registry foundation 側で worker-runtime core の追加変更が必要になる。 + --- diff --git a/.yoi/tickets/00001KVZSGT0Q/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KVZSGT0Q/artifacts/orchestration-plan.jsonl new file mode 100644 index 00000000..d7a6b330 --- /dev/null +++ b/.yoi/tickets/00001KVZSGT0Q/artifacts/orchestration-plan.jsonl @@ -0,0 +1 @@ +{"id":"orch-plan-20260625-163225-1","ticket_id":"00001KVZSGT0Q","kind":"blocked_by","related_ticket":"00001KVZKSV6C","note":"Queue routing checked after Dashboard Queue. Embedded Runtime connection depends on Backend RuntimeRegistry foundation `00001KVZKSV6C`, which is still queued and itself blocked by inprogress worker-runtime core `00001KVZBCQH4`. Do not start this Ticket until the foundation dependency is accepted/completed.","author":"yoi-orchestrator","at":"2026-06-25T16:32:25Z"} diff --git a/.yoi/tickets/00001KVZSGT0Q/item.md b/.yoi/tickets/00001KVZSGT0Q/item.md index bc0c980a..ef0329b2 100644 --- a/.yoi/tickets/00001KVZSGT0Q/item.md +++ b/.yoi/tickets/00001KVZSGT0Q/item.md @@ -2,7 +2,7 @@ title: 'Backend RuntimeRegistryにembedded worker-runtimeを接続する' state: 'queued' created_at: '2026-06-25T16:23:58Z' -updated_at: '2026-06-25T16:31:30Z' +updated_at: '2026-06-25T16:32:35Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-25T16:31:30Z' diff --git a/.yoi/tickets/00001KVZSGT0Q/thread.md b/.yoi/tickets/00001KVZSGT0Q/thread.md index 692950aa..ba9f1877 100644 --- a/.yoi/tickets/00001KVZSGT0Q/thread.md +++ b/.yoi/tickets/00001KVZSGT0Q/thread.md @@ -30,4 +30,32 @@ Marked ready by `yoi ticket state`. Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: blocked_by_dependency_or_missing_authority + +Reason: +- Dashboard Queue による routing 許可を受けて Ticket / relations / orchestration plan / workspace state を確認した。 +- 本 Ticket は `00001KVZKSV6C` (`Backend RuntimeRegistryの基盤をworker-runtime向けに整理する`) に `depends_on` relation を持つ。 +- `00001KVZKSV6C` は現在 `queued` で、さらに `00001KVZBCQH4` worker-runtime core が `inprogress` のため blocked と判断済み。 +- Embedded Runtime connection は Backend RuntimeRegistry foundation の handle boundary に依存するため、foundation 確定前に implementation side effect を開始しない。 + +Evidence checked: +- Ticket body: embedded `worker_runtime::Runtime` registration、direct lib call routing、Backend API exposure、Non-goals。 +- Relations: outgoing `depends_on -> 00001KVZKSV6C`; incoming dependent `00001KVZ9JGK0`。 +- Orchestration plan: blocker record `orch-plan-20260625-163225-1` を追加。 +- Workspace state: `00001KVZBCQH4` は inprogress、`00001KVZKSV6C` は queued/blocked。 + +Next action: +- 本 Ticket は queued のまま待機。 +- `00001KVZKSV6C` が accepted/completed して Backend Registry foundation が確定した後、再 routing する。 + +Escalate if: +- Embedded Runtime connection のために `00001KVZKSV6C` の scope/acceptance を変更する必要が出る。 +- worker-runtime core API が embedded Backend integration に必要な create/send/projection semantics を満たさない。 + ---