ticket: add internal worker runner
This commit is contained in:
parent
2352f34c4e
commit
ff04becfab
0
.yoi/tickets/00001KXRXAJFZ/artifacts/.gitkeep
Normal file
0
.yoi/tickets/00001KXRXAJFZ/artifacts/.gitkeep
Normal file
62
.yoi/tickets/00001KXRXAJFZ/item.md
Normal file
62
.yoi/tickets/00001KXRXAJFZ/item.md
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
---
|
||||
title: 'Internal Worker runnerを実装する'
|
||||
state: 'inprogress'
|
||||
created_at: '2026-07-17T20:47:11Z'
|
||||
updated_at: '2026-07-17T20:47:48Z'
|
||||
assignee: null
|
||||
queued_by: 'yoi ticket'
|
||||
queued_at: '2026-07-17T20:47:48Z'
|
||||
---
|
||||
|
||||
## 背景
|
||||
|
||||
Memory extract は runtime 側の Worker から派生する internal worker として動かす。今後 `session-explore` feature 付き extract worker、compaction、consolidation なども同じ形で安全に動かせるよう、Worker 内部に isolated internal worker / sub-worker runner の標準経路を用意する。
|
||||
|
||||
Protocol に外部 API として載せる段階ではない。まず Worker 内部 API として実装し、後で session 永続化、progress event、cancellation、Protocol exposure を追加できる形にする。
|
||||
|
||||
## 実装方針
|
||||
|
||||
- Worker が internal worker の起動を所有する。
|
||||
- Feature は internal worker に渡す tool / context を contribute するだけで、Feature 自体が Worker を spawn しない。
|
||||
- internal worker は foreground Worker history を汚染しない。
|
||||
- prompt / input / tool registry / usage capture / output collection を `InternalWorkerSpec` 的な構造にまとめる。
|
||||
- 初期実装では既存 memory extract sub-engine をこの runner に載せ替える。
|
||||
- session 永続化はこの Ticket では実装しないが、runner の引数や result が後で persistence metadata を持てる形にする。
|
||||
|
||||
## 実装要件
|
||||
|
||||
- Worker 内部に reusable internal worker runner を追加する。
|
||||
- runner は少なくとも次を受け取れる。
|
||||
- purpose / name。
|
||||
- system prompt。
|
||||
- initial user input。
|
||||
- tool definitions / limited tool registry。
|
||||
- optional usage capture。
|
||||
- runner result は少なくとも次を返す。
|
||||
- run result。
|
||||
- captured usage。
|
||||
- finish/error metadata。
|
||||
- foreground history / canonical session log に internal prompt や harness messages を混ぜない。
|
||||
- existing memory extract path を runner 経由にする。
|
||||
- existing extract behavior を変えない。
|
||||
- post-run threshold trigger のまま。
|
||||
- `write_extracted` transitional path のまま。
|
||||
- staging output は flat candidate records のまま。
|
||||
- compaction / consolidation の載せ替えは非目標だが、後から同じ runner に寄せられる構造にする。
|
||||
|
||||
## 非目標
|
||||
|
||||
- Protocol method として external client から internal worker を起動できるようにしない。
|
||||
- internal worker session persistence をこの Ticket で実装しない。
|
||||
- `session-explore` feature や evidence tools はこの Ticket では実装しない。
|
||||
- compaction / consolidation の full migration はこの Ticket では実装しない。
|
||||
|
||||
## 受け入れ条件
|
||||
|
||||
- reusable internal worker runner が存在する。
|
||||
- memory extract がその runner 経由で動く。
|
||||
- internal worker prompt/input が foreground history に永続化されない。
|
||||
- tool surface は caller が渡した limited tool registry に閉じる。
|
||||
- existing extract tests / memory tests / worker tests が通る。
|
||||
- `cargo test -p memory` と `cargo test -p worker` が通る。
|
||||
- code 変更として `nix build .#yoi` が通る。
|
||||
25
.yoi/tickets/00001KXRXAJFZ/thread.md
Normal file
25
.yoi/tickets/00001KXRXAJFZ/thread.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<!-- event: create author: "yoi ticket" at: 2026-07-17T20:47:11Z -->
|
||||
|
||||
## 作成
|
||||
|
||||
LocalTicketBackend によって作成されました。
|
||||
|
||||
---
|
||||
|
||||
<!-- event: state_changed author: "yoi ticket" at: 2026-07-17T20:47:48Z from: ready to: queued reason: queued field: state -->
|
||||
|
||||
## State changed
|
||||
|
||||
Ticket を `yoi ticket` が queued にしました。
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: state_changed author: "yoi ticket" at: 2026-07-17T20:47:48Z from: queued to: inprogress reason: cli_state field: state -->
|
||||
|
||||
## State changed
|
||||
|
||||
State changed to `inprogress`.
|
||||
|
||||
|
||||
---
|
||||
Loading…
Reference in New Issue
Block a user