Repository navigation
Link to original evidence in saved case readings - #8650
Conversation
(cherry picked from commit 5422336df3e11de6caeab64b7a87ebc30af27cc4) Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max
本次评审对应提交 dc781c954979b3dadeddf8cbd309dc8c8e15b6e5。
[P2] 关闭后允许从地址重开同一引用。 首次打开并用 Escape 关闭后,在同一页面再次访问复制的引用地址,hash 已更新,原文面板仍关闭且没有发出 citation GET。刷新该地址能读到原来的同一段文字。 提前返回
动机 / Motivation
从已保存的 Case 解读追查原文,或复制链接后回来复核的用户。用户读到一条依据时,当前 main 能从按钮打开原文。按钮没有可保存的直接地址,从 Case 返回父 Goal 时还会带上子 Case 的研究参数。当前 head 的引用链接首次访问能打开同一归档的原文,Escape 回到引用。错版本的链接显示提示并保留解读。从 Case 回父 Goal 会清理子 Case 参数,浏览器后退能还原原章。本次独立验证本地打包页面和合成的两版归档。远程 SSH 来源、桌面安装和更大资料规模未验证。首次打开并用 Escape 关闭后,在同一页面再次访问复制的引用地址,hash 已更新,原文面板仍关闭且没有发出 citation GET。刷新该地址能读到原来的同一段文字。
改动思路 / Approach
引用范围与存档版本仍由现有 owner 判定。需要把 URL 的引用激活状态和原文面板的开关放进同一条状态转换。修复集中在现有 Case 阅读组件和引用面板,继续复用版本、来源和范围校验。 地址只提供已保存 Case 中的章节和引用位置,原文仍从现有 pack reader 读取。关闭时会恢复章节和焦点。这次复现说明 URL 与组件里记录的打开状态还需要一起更新。
具体改动 / Changes
关键代码讲解
按 docs/reference/trajectory-assessment.md 在 708c68e7040559b2a4368002439570b90bc080b2 的阅读契约核验 saved-version-scope、chapter-continuity、original-citation-readback。ResearchCaseStudy.restore 校验 Goal、pack 和章节序号后沿用 citation API。closeCitation 关闭面板并恢复章地址。Dashboard 返回父 Goal 时清掉四个子 Case 参数,Back 恢复原 pack 和章节。 存档契约 关闭路径
对主干的风险 / Risks
同一份打包页面里,首次链接打开后可读原文,Escape 返回引用。随后访问完全相同的 href,文档未刷新,hash 已变化,记录中有零条新 citation GET,原文仍关闭。整页刷新同一地址则成功。当前 openedHash 的值在关闭时保留,重新导航撞到提前返回。 定位分支
语义与 CI 对齐
打包前后版本读取相同归档和原文,候选版还通过错 pack 提示和父 Goal 往返。Dashboard TypeScript 与本地标准 premerge 通过。浏览器证据覆盖桌面和窄屏,按键打开和焦点返还均实测。托管 CI 未查。
我的整体评价 / Verdict
在关闭回执时同步清除当前引用的激活记录,或让是否已打开由现有面板状态和完整引用地址共同决定。保留原焦点、版本和来源检查。补上同文档关闭再开回归后复核。查看桌面和窄屏的章节、展开引用和原文。合成 Case 含多段时间线、对照和限制。原文可滚动读到,关闭后焦点回到下划线引用。本次独立验证本地打包页面和合成的两版归档。远程 SSH 来源、桌面安装和更大资料规模未验证。
English verdict: REQUEST_CHANGES. The direct citation link can stay closed when reopened within the same document because closing the panel leaves the previous active hash.
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
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
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
本次评审对应提交 e4d324969d4eadb6f1ecf66326d679f197cac958,与目标主干 167b0a1f3a3307c284b021ea9a09c7c0b5e5a11f 比较。
动机 / Motivation
正在阅读已保存 Case 解读、需要核对一段原文或把出处留给自己稍后复核的读者。 旧主干允许在页内打开原文,但引用没有独立地址。前一次候选补上了链接,关闭后在同一页重访会停在章节。此次用同一地址可以再次打开原来的文字。 读者可以保存并重开同一条原文链接,从子 Goal 返回父 Goal 后仍可用浏览器后退回到原章节。 交付范围是已保存研究的阅读和导航。评分、轨迹写入、分析执行以及证据访问权限沿用已有契约。 本次核验打包浏览器。当前正式安装已确认两个入口,仍需在更新后的正式安装核对同一重开路径。
改动思路 / Approach
地址指向已登记解读中的引用位置,原文仍由既有 pack 读取器提供。关闭和地址变化共用面板现有失效逻辑,清掉重复的已打开记录。 第一次打开和关闭后重开都由同一个控制器处理。地址只记录文章中的位置,行号与来源仍从当前保存版本取出并交给既有读取接口核验。父子导航沿用工作台原来的路由,从一个 Goal 切到另一个时清除旧 Goal 的研究参数。只清理旧组件的哈希记录也能缓解问题,但会保留两处需要同步的状态。此次在当前控制器内消除这个同步要求。
具体改动 / Changes
关键代码讲解
按 docs/reference/trajectory-assessment.md 在 167b0a1f3a3307c284b021ea9a09c7c0b5e5a11f 的已接受契约核验三项。 saved-version-scope 约束每个子 Goal 的已保存解读。章节和引用位置先和地址里的来源、版本以及当前文章核对,再解析到登记好的引用。交叉来源和版本的地址未发出原文请求。 chapter-continuity 要求保留原研究记录和父子来源隔离。切回父 Goal 时清除子研究参数,浏览器后退、刷新、再前进分别读回正确的章节和父 Goal。 original-citation-readback 要求能追到快照的绝对行范围。两份真实归档在 Esc 关闭后以相同查询各发一次请求,返回相同文字,焦点回到正确入口。 存档契约
ResearchCaseStudy.restore 在挂载、前进后退及地址变化时恢复位置。普通点击与复制地址复用 readCitation。它将当前书签与正在打开的面板一起保存,关闭由 closeCitation 恢复章节并使旧请求失效。CSS 让引用使用可复制链接的常规外观。 DashboardPage.selectGoal 限制研究参数由目标 Goal 持有。文档解释新增的引用地址和关闭语义,原浏览器回归增加打开、关闭、重访、错版本和父子往返。 地址解析 打开与关闭 工作台路由 回归
对主干的风险 / Risks
上次评审的阻塞点已复现。旧提交 dc781c954979b3dadeddf8cbd309dc8c8e15b6e5 在同一页再次访问复制地址时会更新 hash,却停在关闭态。新提交从面板失效处清掉这个状态,原文请求的范围和键保持一致。错误版本继续显示来源提示。真实归档验证错误来源零请求,暂时的 503 可用相同请求恢复。更换输出版本后,迟到的旧引用结果无法再次打开面板。普通引用与原研究记录在当前主干和新版本读回一致;真实记录的打包工作台场景也通过。没有引入写入、模型调用、权限扩张或迁移。 原评审问题
语义与 CI 对齐
Dashboard 构建、引用与语言切换回归、真实历史打包场景和标准 premerge 通过。premerge 有四个直接检查和十四个选定检查。构建仍提示较大的资源块。托管 CI 按当前评审配置未查,先前观察到的检查不作为这个提交的结果。评审结论与 GitHub 的合并资格分别读回。
我的整体评价 / Verdict
当前改动限于研究阅读组件、工作台的父子导航和一项有前后反证的浏览器回归。 在桌面和 390 像素宽度检查了有章节、时间线、失败尝试和限制说明的完整示例。两种宽度的重开画面都能看到原文和关闭按钮。 视觉证据来自打包工作台。正式安装更新、原生 Mac 窗口和远程 SSH 来源未验。 可以批准这一提交。安装后需再从真实子 Goal 读回相同的重开路径。 前后证据及验证
English verdict: APPROVE. On e4d324969d4eadb6f1ecf66326d679f197cac958, closing and revisiting a saved citation reopens the same original once in the same document. Scoped negative checks, ordinary-reader parity, and local premerge passed. The native desktop and candidate installation remain unverified.
Citations in saved case readings open the original passage from a direct link tied to the case, source, and saved version. Pressing Escape or using the close button restores the chapter address and returns focus to the citation. Opening the copied address again in the same tab reads the same passage, including after an unavailable source recovers. A mismatched link leaves the saved study readable.
Returning from a case to its parent clears the case's research parameters. Browser Back restores the original study and chapter. The existing case version selector and original reader use the registered evidence store.
Validation
The original reported failure reproduced on
dc781c954979b3dadeddf8cbd309dc8c8e15b6e5. Local standard premerge and both research checks passed one4d324969d4eadb6f1ecf66326d679f197cac958. The isolated candidate wheel read the original passages from two real read-only archives at 1440 and 390 px. Both reopened the same exact citation with one read in the same document after Escape. A crossed source sent no citation request, and a single injected 503 recovered using the same request. The installed workspace was checked separately for the existing child study entries. Installation of the candidate remains pending.Visual evidence
Synthetic search case in the packaged dashboard. The opening and fixed reader use
e4d324969d4eadb6f1ecf66326d679f197cac958. The before screenshot usesdc781c954979b3dadeddf8cbd309dc8c8e15b6e5. Both reopen captures follow Escape and navigation to the same copied citation address within the same document.