From d0e514704e472432516343b3a7773c74d28c2a72 Mon Sep 17 00:00:00 2001 From: Hare Date: Fri, 17 Jul 2026 04:44:11 +0900 Subject: [PATCH] ticket: approve staging source anchors implementation --- .yoi/tickets/00001KXNYXNM6/item.md | 2 +- .yoi/tickets/00001KXNYXNM6/thread.md | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/.yoi/tickets/00001KXNYXNM6/item.md b/.yoi/tickets/00001KXNYXNM6/item.md index 8a942997..31cc17f8 100644 --- a/.yoi/tickets/00001KXNYXNM6/item.md +++ b/.yoi/tickets/00001KXNYXNM6/item.md @@ -2,7 +2,7 @@ title: 'Extract stagingのsource anchor形式を実装する' state: 'inprogress' created_at: '2026-07-16T17:17:22Z' -updated_at: '2026-07-16T19:40:54Z' +updated_at: '2026-07-16T19:44:01Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-07-16T19:26:52Z' diff --git a/.yoi/tickets/00001KXNYXNM6/thread.md b/.yoi/tickets/00001KXNYXNM6/thread.md index 23daa5e5..3abf6c0a 100644 --- a/.yoi/tickets/00001KXNYXNM6/thread.md +++ b/.yoi/tickets/00001KXNYXNM6/thread.md @@ -165,3 +165,28 @@ Next action: - Route to external Reviewer Pod before merge/close decisions。 --- + + + +## Review: approve + +External review result: approve + +Evidence: +- bounded anchor fields and evidence kind constants are added in `crates/memory/src/schema/common.rs:45-98`。 +- all four staging entry types carry default/skip-empty `source_refs` hidden from extract JSON schema via `#[schemars(skip)]` in `crates/memory/src/extract/payload.rs:45-92`。 +- old/no-ref JSON and new ref roundtrip tests cover preservation/empty serialization in `payload.rs:121-253`。 +- legacy record-level `source.session_id` compatibility is covered in `crates/memory/src/consolidate/staging.rs:147-188`。 +- consolidation passes refs through visible pretty JSON and tests preservation in `crates/memory/src/consolidate/input.rs:60-70,281-318`。 + +Validation performed by reviewer: +- implementation worktree clean before/after。 +- `cargo test -p memory` passed。 +- `git diff --check HEAD~1..HEAD` passed。 + +Blockers: none。 + +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 は導入されていない。 + +---