Skip to content

fix(reports): retain recorded Task citations in managed reports - #7570

Merged
loopx-agent merged 1 commit into
mainfrom
codex/managed-report-local-citations-20261028
Oct 28, 2026
Merged

loopx-agent merged 1 commit into
mainfrom
codex/managed-report-local-citations-20261028

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

普通 managed Session 报告中,即使 native Task 的 evidence 字段记录了有效出处,冻结编辑事实也只保留 Todo 标识,报告无法引用该地址。此改动复用已有引用资格过滤,将单个合格 HTTP(S) 地址保留到新建的 v2 冻结来源、Markdown、HTML 与原会话完整答复;明确标注未读取、未核验,继续保留完整 Task、原受众和旧 v1 内容。

验证:153 项来源、冻结及 File/SQLite 原生报告回归通过(49 项无关用例未运行);同一最终测试在不可变主干上出现 3 个预期正例失败、15 个控制通过。Ruff、6 项直接检查及 14 项标准预检通过;两张截图的像素、元数据和合成来源已人工核验。真实打包前端使用临时 SQLite、一次合成模型答复,验证配置→原生报告→完整原会话返回→桌面/390px 阅读。它证明引用传递和阅读机制,不证明地址可达、公开许可、模型内容质量或自然到期生产送达。

桌面与窄屏实测图:

桌面完整答复

390px 完整答复

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent · GPT-6 · OpenAI · self_reported

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机 / Motivation

未发现阻断性问题。已为普通 managed Session 配置周期报告的用户。任务的 evidence 字段已记录一个有效网页地址,旧报告输入仍只提供 Todo 标识,编辑器无法使用该出处;新报告沿原任务保留该地址,并把它作为未读取、未核验的引用交给原报告链。File/SQLite 的真实原生任务、两个报告格式和原会话完整答复现在都能保留同一出处。不抓取网页、不证明公开许可、不扩大受众,不新增自然语言配置、调度器或布局。模型内容质量、真实地址可达性和后续自然到期生产报告仍需各自验收。

改动思路 / Approach

不交付的最强理由是:原任务标识已经可追溯,另加引用也不能保证报告质量。但现在的失败不是链接样式:本地编辑事实里根本没有原地址,合法编辑响应选择该出处时也会被拒绝。只修改 renderer 无法修复。这里把原 portfolio 已有的资格判断抽成共享 helper,再在现有冻结来源投影里派生本地引用,避免复制过滤规则或增加外部读取。

引用资格只保留一个共享 owner;本地与 portfolio 使用同一冻结事实投影及原有 v2 格式,渲染和投递继续由既有 owner 负责。本 PR 只补 native Task 的单个完整 evidence 地址到冻结事实,不从笔记或复合字符串猜链接,也不改原任务权威、调度、模型执行和受众。canonical Task 及其完整冻结行仍是来源;新增 fact 是派生投影。无效候选只是不成为网页引用,原任务记录仍存在。真正的冻结不一致继续失败,投递与重试仍走原 owner。

具体改动 / Changes

独立依据是改动前的 docs/product/periodic-reports.md,spec_revision f5e9be3671c1b5c80eba5c62fe4d617bfefd66d6,以及同提交 docs/reference/protocols/periodic-report-v0.md 的 Ownership boundary。recorded-provenance 对应未读未核验、不抓取网页;original-scope 对应原受众及来源缺口;frozen-bytes 对应历史冻结字节不改;source-owner 对应来源、渲染与投递各守原责任。这四项在本范围均 implemented;文档新增段只是披露行为,未用新文档反向定义验收。

关键代码讲解

  1. _recorded_web_references(chat_manager_history.py:36)逐字复用旧完整读取路径的语法、隐私、HTTP(S)/host/port 校验,返回原地址及其摘要身份,不解析正文、不访问网络。原 _recorded_details 调回同一 helper,下一次改规则只需改一个位置。
  2. _source_facts(private_generation.py:34)只对 v2 local 的单个 Task evidence 字符串增加引用事实。原 Todo、完整行与来源摘要保留,附加事实明确 unverified、未读取、原受众;portfolio 字段和文本保持原样。
  3. prepare_session_report(同文件174)仅新窗口使用已有 v2;遇到旧 request 先校验再返回,_verify_source_facts 仍重建同一格式的完整事实。测试覆盖 v1 已含地址但不得补写、重复准备所有 JSON/Markdown 字节保持,以及改写 source/facts 的拒绝。

7文件 +127/-29;其中生产41/-26、测试69/-2、文档17/-1和两张合成截图,没有新模块或第二引用策略。真实 native 测试通过原 Task update 写入 evidence,File/SQLite 各跑原 worker/Turn,断开私有 provider 后仍能完整返回;模型替身只负责选择这个地址,未替代被检验的 Task、冻结、渲染、结算或消息读回。

对主干的风险 / Risks

主要风险是误把私有或复合字符串当可公开出处,或升级格式后改坏历史窗口。PASS:12个私有路径、凭据、畸形地址、非网页协议、换行、正文及复合引用负例;缺失 evidence 和旧 v1 控制不变。相同最终18例在不可变 base 为3个预期正例 FAIL、15控制 PASS,精确 head 的153项来源/冻结/原生回归 PASS,49项无关启动/额度用例未运行。合法 URL 的新增只改变编辑输入,不更改模型额度、原受众、业务 Task 状态或后续周期决策。

标准 premerge 的6 direct、14 selected及Ruff通过。预检原始 exit1/manual_review_required 保留:两PNG不能由文本扫描证明安全,已单独检查像素、元数据与合成数据来源,无私人内容;没有把 hold 改名成自动通过。打包 SQLite/HTTP journey 的配置201/200、同一native committed结果、完整原消息正文和六个DOM引用均核同;测试一次合成模型调用,报告没有新增Lark写入。引用地址没有被抓取,因此可达性、许可与语义质量仍未知。按当前 Goal 政策未查询 CI,CQR 未启用。

语义与 CI 对齐

复用既有 frozen_source_v2、unverified 来源事实及原 renderer 规则,未新增通用状态词表、激活开关或把观察升级为授权。无新订阅时不凭安装或记录了 URL 开始任务。旧 v1 作为真实持久数据继续保留;共同部署不构成重写历史的理由,新增文本不要求模型外读或跨受众发布。

我的整体评价 / Verdict

APPROVE,属于 justified_increment。long_horizon preserved:原日历、冻结窗口恢复、结算与后续执行不变,旧窗口可重复读回;user_experience improved:已有授权与原配置下零新增陈述、确认或复制步骤,出处可从原完整答复到达。已检查同一真实打包答复阅读页的桌面和390像素画面:完整标题、时间、概览及出处入口可见,窄屏正常换行;合成长文用于验证引用传递,重复正文不作为内容质量改进。未验证真实模型的信息密度、地址内容与可达性、自然到期原 Bot 新报告或全部页面。

引用资格只保留一个共享 owner;本地与 portfolio 使用同一冻结事实投影及原有 v2 格式,渲染和投递继续由既有 owner 负责。本 PR 只补 native Task 的单个完整 evidence 地址到冻结事实,不从笔记或复合字符串猜链接,也不改原任务权威、调度、模型执行和受众。这个有用边界已有真实原生路径证据,继续抽象独立引用服务会增加权威和维护成本。完整 NL、Agent 层级、实际内容密度与自然生产送达仍归既有任务,本次没有借局部通过关闭父目标。当前 runtime observation 为 session_not_found,故 Reviewer 如实采用 self_reported 家族声明,不猜测精确运行构建或冒称独立模型评审。

English verdict: APPROVE — head 5c8363a. Recorded Task evidence now reaches frozen reports and the original response through existing citation rules. File/SQLite, legacy and unsafe-input controls and required local checks passed; model quality and public access remain unverified.

@loopx-agent
loopx-agent merged commit bf54e77 into main Oct 28, 2026
15 of 34 checks passed
@loopx-agent
loopx-agent deleted the codex/managed-report-local-citations-20261028 branch October 28, 2026 13:21
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