diff --git a/.yoi/tickets/00001KXNYXNM6/item.md b/.yoi/tickets/00001KXNYXNM6/item.md index 31cc17f8..3340f576 100644 --- a/.yoi/tickets/00001KXNYXNM6/item.md +++ b/.yoi/tickets/00001KXNYXNM6/item.md @@ -1,8 +1,8 @@ --- title: 'Extract stagingのsource anchor形式を実装する' -state: 'inprogress' +state: 'closed' created_at: '2026-07-16T17:17:22Z' -updated_at: '2026-07-16T19:44:01Z' +updated_at: '2026-07-16T19:45:37Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-07-16T19:26:52Z' diff --git a/.yoi/tickets/00001KXNYXNM6/resolution.md b/.yoi/tickets/00001KXNYXNM6/resolution.md new file mode 100644 index 00000000..e5cc4ede --- /dev/null +++ b/.yoi/tickets/00001KXNYXNM6/resolution.md @@ -0,0 +1,35 @@ +Extract staging の entry-level source anchors / evidence references を実装・レビュー・merge・検証した。 + +実装内容: +- `crates/memory/src/schema/common.rs` に bounded source/evidence metadata 型を追加。 + - `EvidenceKind(pub String)`。 + - known constants: `message`, `tool_call`, `tool_result`, `file_ref`, `ticket_ref`, `objective_ref`。 + - `SourceEvidenceRef` with `session_id`, `segment_id`, `entry_range`, `evidence_id`, `evidence_kind`, `label`, `summary`。 +- `DecisionEntry`, `DiscussionEntry`, `AttemptEntry`, `RequestEntry` に optional `source_refs: Vec` を追加。 +- `source_refs` は default empty / skip serializing empty とし、`#[schemars(skip)]` で LLM extract schema には露出しないようにした。 +- 既存 `StagingRecord.source` は record-level source range として維持。 +- old staging JSON without `source_refs` の互換性を維持。 +- legacy record-level `source.session_id` compatibility を追加。 +- new staging JSON with entry-level refs の roundtrip を追加。 +- consolidation input は pretty JSON として entry-level refs を lossless に保持するようにした。 +- session-explore / resolver tools / extract launch / staging resolution/disposition はこの Ticket では実装していない。 + +Review: +- Reviewer approved with no blockers。 +- Evidence included bounded anchor field definitions, all four entry types, old/new JSON tests, legacy source compatibility, and consolidation preservation。 +- Non-blocking note: `label` / `summary` の length/raw-content discipline は type enforcement ではなく semantic/host-policy に残る。 + +Merge / validation: +- Merge commit: `9a1a75de merge: staging source anchors`。 +- Final validation passed: + - `cargo fmt --check` + - `git diff --check` + - `cargo test -p memory` + - `cargo check -p yoi` + - `yoi ticket doctor` + - `nix build .#yoi --no-link` +- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/staging-source-anchors-final-validation-1784231070.txt` + +Cleanup: +- Implementation worktree/branch cleanup will be performed after close commit。 +- Per user instruction, `StopPod` is not used。 \ No newline at end of file diff --git a/.yoi/tickets/00001KXNYXNM6/thread.md b/.yoi/tickets/00001KXNYXNM6/thread.md index 3abf6c0a..eafd95d9 100644 --- a/.yoi/tickets/00001KXNYXNM6/thread.md +++ b/.yoi/tickets/00001KXNYXNM6/thread.md @@ -190,3 +190,96 @@ Non-blocking note: - `label` / `summary` の length/raw-content discipline は type enforcement ではなく semantic/host-policy に残る。ただし raw message/tool-result embedding や out-of-scope session-explore/disposition implementation は導入されていない。 --- + + + +## Implementation report + +Merge / final validation report: + +- Reviewer approved the implementation with no blockers。 +- Merged branch `work/00001KXNYXNM6-staging-source-anchors` into orchestration branch with merge commit `9a1a75de merge: staging source anchors`。 +- Final validation was rerun in `/home/hare/Projects/yoi/.worktree/orchestration` after merge。 + +Validation passed: +- `cargo fmt --check` +- `git diff --check` +- `cargo test -p memory` +- `cargo check -p yoi` +- `yoi ticket doctor` +- `nix build .#yoi --no-link` + +Validation log: +- `/run/user/1000/yoi/yoi-orchestrator/bash-output/staging-source-anchors-final-validation-1784231070.txt` + +Reviewed/merged implementation commit: +- `31798fb2 feat: add staging entry source anchors` + +Notes: +- `StagingRecord.source` remains the record-level source range。 +- Entry-level `source_refs` are optional, default empty, and skipped when empty。 +- Old staging JSON compatibility and new source-ref roundtrip are covered by tests。 +- Consolidation input preserves entry-level refs as pretty JSON。 +- session-explore / resolver tools / extract launch / staging resolution were not implemented in this Ticket。 +- Per user instruction, no `StopPod` cleanup was performed。 + +--- + + + +## State changed + +Implementation was reviewed, merged into orchestration branch, and final validation passed. Moving to done before closure. + +--- + + + +## State changed + +Ticket を closed にしました。 + + +--- + + + +## 完了 + +Extract staging の entry-level source anchors / evidence references を実装・レビュー・merge・検証した。 + +実装内容: +- `crates/memory/src/schema/common.rs` に bounded source/evidence metadata 型を追加。 + - `EvidenceKind(pub String)`。 + - known constants: `message`, `tool_call`, `tool_result`, `file_ref`, `ticket_ref`, `objective_ref`。 + - `SourceEvidenceRef` with `session_id`, `segment_id`, `entry_range`, `evidence_id`, `evidence_kind`, `label`, `summary`。 +- `DecisionEntry`, `DiscussionEntry`, `AttemptEntry`, `RequestEntry` に optional `source_refs: Vec` を追加。 +- `source_refs` は default empty / skip serializing empty とし、`#[schemars(skip)]` で LLM extract schema には露出しないようにした。 +- 既存 `StagingRecord.source` は record-level source range として維持。 +- old staging JSON without `source_refs` の互換性を維持。 +- legacy record-level `source.session_id` compatibility を追加。 +- new staging JSON with entry-level refs の roundtrip を追加。 +- consolidation input は pretty JSON として entry-level refs を lossless に保持するようにした。 +- session-explore / resolver tools / extract launch / staging resolution/disposition はこの Ticket では実装していない。 + +Review: +- Reviewer approved with no blockers。 +- Evidence included bounded anchor field definitions, all four entry types, old/new JSON tests, legacy source compatibility, and consolidation preservation。 +- Non-blocking note: `label` / `summary` の length/raw-content discipline は type enforcement ではなく semantic/host-policy に残る。 + +Merge / validation: +- Merge commit: `9a1a75de merge: staging source anchors`。 +- Final validation passed: + - `cargo fmt --check` + - `git diff --check` + - `cargo test -p memory` + - `cargo check -p yoi` + - `yoi ticket doctor` + - `nix build .#yoi --no-link` +- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/staging-source-anchors-final-validation-1784231070.txt` + +Cleanup: +- Implementation worktree/branch cleanup will be performed after close commit。 +- Per user instruction, `StopPod` is not used。 + +---