Skip to content

feat(research): 持久化来源快照并识别漂移 - #164

Open
JY-M666 wants to merge 1 commit into
helsome:mainfrom
JY-M666:codex/issue-20-source-provenance
Open

JY-M666 wants to merge 1 commit into
helsome:mainfrom
JY-M666:codex/issue-20-source-provenance

Conversation

@JY-M666

@JY-M666 JY-M666 commented Sep 22, 2026

Copy link
Copy Markdown

改动说明

这是 #20 的独立基础切片:为 Deep Research 报告中的 evidence 持久化最小必要的来源 provenance snapshot,并提供显式 source drift 检测。

  • EvidenceRef 新增可选 sourceSnapshots:稳定 source id、规范 URL、document id、标题、发布时间、retrieved_at、provider/method、实际 evidence excerpt、excerpt/source-content SHA-256 hash 与可选 source version。
  • ResearchRunner 在真实 research.news 报告组装路径按文章生成快照;其他 capability 仅保存已进入报告的摘要,不归档完整响应或网页。
  • 新增纯函数比较:currentsource_driftedsource_unavailable;live 内容不会改写原报告快照。
  • 快照随既有 ResearchReport JSON 持久化,重启后保持不变。

关联 Issue

Related to #20。此 PR 不关闭 #20:尚未接入 UI 的 original/current 对照、符合 #19 policy 的生产 live retriever、trace/eval metadata 与真实模型来源验收材料。

验证

环境:Windows 11 / Bun 1.4.2

bun test packages/shared/src/research/source-provenance.test.ts packages/shared/src/research/runner.test.ts packages/shared/src/research/repository.test.ts --isolate
→ 14 passed / 0 failed

bun test packages/shared --isolate
→ 1091 passed / 0 failed

bun run --filter '@finagent/core' typecheck
bun run --filter '@finagent/shared' typecheck
→ 均 exit 0

新增测试包含:实际 research.news → 报告组装、JSON 重启持久化、受控 HTTP source 的 v1 → v2 → 410 unavailable 漂移路径;原始 v1 excerpt 在后两种状态下始终保留。

UI

无可见 UI 变化;本 PR 只提供报告数据与漂移检测基础能力。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant