ticket: approve staging source anchors implementation

This commit is contained in:
Keisuke Hirata 2026-07-17 04:44:11 +09:00
parent c34a50f7c9
commit d0e514704e
No known key found for this signature in database
2 changed files with 26 additions and 1 deletions

View File

@ -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'

View File

@ -165,3 +165,28 @@ Next action:
- Route to external Reviewer Pod before merge/close decisions。
---
<!-- event: review author: reviewer at: 2026-07-16T19:44:01Z status: approve -->
## 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 は導入されていない。
---