Repository navigation
fix(research): restore historical decision reading context - #7501
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max · active_turn_verified=false
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
APPROVE:未发现阻塞本次阅读修复的缺陷。结论绑定 1c4afaedf2df53de9f6fd4372d944bb017ac4b17,属于作者审计,不代表第三方批准或合并权限。
动机 / Motivation
研究者阅读历史决策时会遇到这个问题。刷新旧决策后,原列表只剩最近三条;现在返回原条目并保留必要展开。Escape 与浏览器 Back/Forward 恢复精确条目和可读焦点。本次不新增译文修订产品、模型调用或事实写入。已安装 App 采用、真实译文质量和输入 token 归因仍未验收。 原行为已通过真实打包页复现:阅读器选对了旧结论,但返回只剩三条,导致研究者需要反复展开、重新定位。这里交付的是可独立使用和撤回的历史阅读修复,未用局部通过关闭整体工作台验收。
改动思路 / Approach
折叠范围和焦点均属于现有阅读投影,按原事件恢复即可,无需增加持久化状态或另建返回控制器。当前 PR 只修历史阅读返回;原始事件、分析执行、权限和费用仍由既有 owner 负责。 保留原有 URL、完整 finding 阅读器和默认三个问题、每题三条决策。先按原事件揭开所需范围,再恢复焦点;只改焦点会遇到不存在的条目,默认全部展开又违背既有阅读层级,因此两处原 owner 需要一起修。没有增加设置、确认或信息重填轮次。
| 触发 | 原行为 | 本次行为 |
|---|---|---|
| 旧结论刷新后返回 | 列表折回三条,焦点退回图顶 | 原问题及旧记录可见,焦点回准确条目 |
| 浏览器跨两条旧记录返回 | 原 opener 可能仍属于后一条 | 比对事件身份,再定位当前原记录 |
该表依据源码与下述实路观察,不作为独立测试证据。
具体改动 / Changes
依据 docs/development/design.md,规范版本 e74961a95b0d00e248f2dd9ccbf7a2c3fddb7b32;本次索引标识规范已有未编号条款,没有发明新义务:research-exact-return implemented,reload/Back/键盘返回由现有阅读器及列表共同实现;research-full-evidence implemented,原正文、负/暂定计数、停止和保留条目均继续可读;populated-reading-review implemented,桌面、390、完整详情及恢复页面已逐张观察。
关键代码讲解
GoalResearchHistory仍从原 URL 和事实解析所选 finding,把 event_id 交给时间线;closeReader和 popstate 共用焦点返回分支。原元素不在或属于另一条记录时,按精确事件找回控制;居中滚动使它避开固定页头和页脚。TrailList / TrailQuestion各自按所选事件计算必要范围,并保留在原折叠 state 中。没有选择时仍是原默认,较早问题及其较早记录均可返回;高亮只归当前事件,取消原整节点高亮全部决策的近似。readDecisionTrail扩展既有实际 SQLite/HTTP 场景,覆盖外内两层折叠、书签刷新、跨旧记录 Escape/Back/Forward 和 DOM 命中检查,原六项完整列表及零来源修改断言继续执行。九张合成 PNG 已直接放入 PR description,未提交构建产物或本机材料。
对主干的风险 / Risks
最强反例是:直接点击返回通过,但刷新让 opener 元素消失;或跨历史返回仍错误聚焦另一条记录。原真实反例 3 !== 5 及截图已保留。最终完整 packaged 旅程 PASS(237.744 秒),中英390/reduced motion、桌面及第四问题旧记录都核对准确身份、焦点和遮挡;这与仅检查无横向溢出不同。初始反例为18事件,最终增加一个更早问题至24事件,未把两者宣称同负载密度/性能收益。两版原前三问题正文一致,基线两个生产组件 blob 也与当前 main 起点相同。
严格 TypeScript/生产构建、12项原记录 owner、showcase4.110秒、CQR有效和4直接+13选中自动检查 PASS。9张图的原生人工 hold 仍保留,不能记成自动通过。早期全局 registry 检查因无关未迁移 Goal 失败;明确项目 registry 后同一公开扫描通过,未修写该 Goal 或掩盖原失败。按当前能力合同未查询 CI。PR target 已前移,已核增量不触碰此 reader/timeline/scenario,合并组合与受保护决定仍是独立门;未以 source/package 测试冒充实际安装。
我的整体评价 / Verdict
problem_context=justified_increment,long_horizon=preserved:原历史和后续阅读可持续,未证明 Agent 净效率提升;user_experience=improved 限于这条具体返回旅程。已逐张检查九张合成整页截图;返回条目在页头与页脚之间完整可见,详情保留可读字号和全部原文,没有新增说明段落。未检验真实用户理解、已安装 App 或科研收益。 默认视图仍紧凑,完整旧正文沿同一阅读器按需读取;这里不再增加说明、译文编辑器或新状态服务。代码边界与问题相称,局部可选 prop 不构成共享协议或新语义词汇;无 default-off 宣称、权限扩张或尚需本 PR 再造的框架。当前 head 可作为正常提案交维护者继续独立审阅,不执行合并或安装。
English verdict: APPROVE — 1c4afaedf2df53de9f6fd4372d944bb017ac4b17 restores exact historical decision return through the existing reader; packaged SQLite/HTTP recovery passed. Author-owned COMMENTED conclusion; independent review, native visual holds and installed adoption remain separate.
loopx-project#7501 keeps the decision a reader just closed expanded and focused in its question, so a question no longer collapses to three records after an older finding was read. research-finding-reader asserted the collapsed default at exactly that point (20 !== 3). Assert the shipped contract instead: the decision just read stays in view with focus. The default three-record view remains owned by research-history. loopx-project#7501's dashboard-browser shards were cancelled, so the scenario had not run against it. Refs loopx-project#7384 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lihua <1017343802@qq.com>
从旧决策链接或刷新进入阅读器后,正文仍正确,但返回会把列表折叠回最新三条,原记录随即消失,键盘焦点退回图顶。现在按精确事件展开所需的问题与记录;关闭、Escape、浏览器 Back/Forward 都回到相应条目,并将它放到页头和页脚之间的可读区域。
复用现有阅读器、URL 和事件身份,默认仍显示三个问题、每个问题三条最近决策。完整原文、停止/保留条目、负结果和真实计数保持;只选择当前决策,不再高亮同节点下所有记录。遵循 研究工作台设计,无需增加说明或产品操作。
验证使用与
1c4afaedf2df53de9f6fd4372d944bb017ac4b17产品源码一致的生产构建和真实隔离 SQLite/HTTP 后端,所有截图均为公开合成材料。research-history237.744 秒通过:精确书签、reload、Escape、Back/Forward、跨旧记录返回、中英文、390px、桌面、reduced motion,以及来源故障/引用恢复;读取无来源修改、零 mutation attempts。本提案未验证已安装 App、真实模型译文质量或研究净收益;不改变分析执行、状态权威和费用边界。最初误用全局 registry 的检查因无关旧 Goal 未迁移失败,改用项目 registry 的同一公开扫描通过,原失败保留。
视觉证据
1280×900 首屏,默认主视图与按需帮助保持:
390×844 决策区域默认视图:
刷新后返回:旧图回到图顶,当前图展开并聚焦原决策。旧图来自三问题反例,当前夹具另加一个更早问题用于外层折叠覆盖;这里只比较返回行为,不作密度或性能量化。
完整阅读、英文窄屏及更早问题返回