Files
life-echo/api/docs/traceable-memoir-lineage.md
Kevin 71fbd39e32 feat(api)!: memory single chain — async MemoryService, strict eval closure
Route all memory ingest/retrieve/enrichment/compaction through async MemoryService.
Remove legacy sync memory implementations (ingest/retrieve/compaction); Celery and
memoir Phase2 call asyncio.run into MemoryService-backed helpers.

Memoir Phase1 batch ingest uses MemoryService.ingest_transcripts_batch; drop chapters.
evidence_bundle_json mirror (Alembic 0015). Evaluation uses snapshot/link-only bundles;
raise EvidenceClosureMissing instead of partial/fallback lineage tiers.

Split memoir state into NarrativeCoverageState and InterviewControlState; delete the
_interview_meta_store adapter layer. Remove rolling-query and recent-fact fallback
settings from config and evidence assembly.

Update judges, docs, tests, and PlaygroundPage alignment.

Made-with: Cursor
2026-04-30 14:11:50 +08:00

21 lines
953 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 回忆录可追溯证据
Library artifact 评测只接受严格证据闭包。
## 严格闭包
- Chapter必须有 `chapters.current_evidence_snapshot_id` 指向的 `chapter_evidence_snapshots` 行,且同时包含可绑定 transcript 的 `segment_ids` 与至少一类 memory evidence id。
- Story必须有 `StoryEvidenceLink`,且能绑定到 transcript segments。
- 缺闭包时,`EvalTraceService``EvidenceClosureMissing`;不再拼接最近会话全文或从旧 JSON 镜像补齐。
## Phase C 表
- `chapter_evidence_snapshots`:一行对应一次物化闭包,`version_no` 递增。
- `chapter_evidence_links`:按当前快照整批替换章节侧结构化 evidence id。
- `chapters.current_evidence_snapshot_id` 是章节评测唯一入口。
## Synthetic vs Library
- Synthetic replay 只评估重放 transcript不绑定用户库 memory。
- Library chapter/story 使用严格闭包;缺闭包即不可评测。