4.4 KiB
4.4 KiB
| title | state | created_at | updated_at | assignee | queued_by | queued_at |
|---|---|---|---|---|---|---|
| Extract stagingのsource anchor形式を実装する | inprogress | 2026-07-16T17:17:22Z | 2026-07-16T19:28:00Z | null | workspace-panel | 2026-07-16T19:26:52Z |
背景
Overview-first extract では、extract worker が開始時点の会話 snapshot と filtered Overview projection を参照し、必要な evidence だけを探索して staging payload を出す。これを安全に実装するには、先に staging payload / source anchor / evidence reference の形式を固める必要がある。
現状の StagingRecord は record 全体に source: SourceRef を持つが、個々の decision / discussion / attempt / request がどの evidence に基づくかを表現しづらい。consolidation が staging を審査・剪定するためには、entry-level source anchors と overview/evidence refs を辿れる形式が必要である。
関連:
- Objective
00001KVJSMQXZ .yoi/objectives/00001KVJSMQXZ/memory-architecture-overview.md- Ticket
00001KXMK7YMC—session-explorefeature 付き extract worker 実装 - Ticket
00001KXMK846H— staging から Memory 化する resolution / disposition 実装
実装意図
この Ticket は session-explore worker の前提となる staging schema を実装する。目的は、extract worker が「根拠を読んだふり」をせず、host が解決した source anchor と staging entry を機械的に結びつけられるようにすることである。
この Ticket では extract worker の feature / tool 実装までは行わない。まず serialization / schema / tests を固める。
対象領域
主な対象:
crates/memory/src/extract/payload.rsExtractedPayloadDecisionEntry/DiscussionEntry/AttemptEntry/RequestEntry- entry-level source refs / evidence refs の追加
crates/memory/src/extract/staging.rs- staging write / read compatibility
crates/memory/src/schema/common.rsSourceRefとの関係確認
crates/memory/src/consolidate/input.rs- 新形式 staging を consolidation input に表示できるか確認
- relevant tests under
crates/memory
実装要件
- extract staging の source anchor / evidence reference 型を実装する。
- session id / segment id。
- entry range。
- evidence id。
- evidence kind: message / tool_call / tool_result / file_ref / ticket_ref / objective_ref など拡張可能な形。
- optional summary / label。
DecisionEntry/DiscussionEntry/AttemptEntry/RequestEntryに optional entry-level source refs を持たせる。- 既存 JSON 互換性を壊さないため default empty / skip serializing empty とする。
- 既存の
StagingRecord.sourceは維持する。- record-level source は extract 対象 range 全体を示す。
- entry-level source refs は個々の claim の evidence を示す。
- source refs は extract worker が自由作文した根拠文字列ではなく、host が解決した anchor を参照できる形式にする。
- staging JSON の読み書きで、旧形式 staging が読めることを維持する。
- consolidation input で entry-level source refs が確認できるようにする。
- 最初は human-readable 表示でよい。
- consolidation が未対応でも壊れない optional field として扱う。
- raw tool result content 全文を staging payload に埋め込まない。
非目標
session-explorefeature / evidence tools をこの Ticket で実装しない。- extract worker 起動経路をこの Ticket で変更しない。
- staging -> Memory resolution / disposition log をこの Ticket で実装しない。
- Knowledge / Skill / Ticket / docs への routing をこの Ticket で実装しない。
受け入れ条件
- staging payload に entry-level source refs / evidence refs を保存できる。
- 既存
StagingRecord.sourceと互換性が維持されている。 - 旧形式 staging JSON が読める。
- new-format staging JSON が serialization / deserialization できる。
- consolidation input に source refs が表示される、または少なくとも lossless に通る。
- source refs は bounded metadata / anchors のみで、raw tool result 全文を含まない。
- relevant unit tests が追加または更新されている。
cargo test -p memoryまたは該当 crate の同等テストが通る。- code 変更として
nix build .#yoiが通る。