Repository navigation
Keep saved case studies readable through source failures - #8384
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
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, reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
读者从研究工作台打开一份保存的解读,希望先看到结论,再核对引用原文。基线遇到目录读取失败会退到研究历程;引用失败只能关掉原文面板再找入口。只有一份解读时,版本选择器仍占一行。当前提交把目录重试留在解读页,把原文重试留在引用面板;只有一个已加载版本时直接展示正文。 改动限于现有研究工作台的导航、排版和只读恢复,保留原记录、版本及来源的权属。 独立验证覆盖本地打包 wheel、真实只读 handler 和合成数据;安装版 Desktop WebView 与生产部署仍待发布流程核验。
改动思路 / Approach
沿用现有 Goal 路由和原文读取入口,失败状态留在面板;没有新的数据服务或持久状态。改动限于现有研究工作台的导航、排版和只读恢复,保留原记录、版本及来源的权属。 恢复操作由读者点选,仍经过原读权限和来源校验。
具体改动 / Changes
评审 9ecfdc6,目标 main 与共同基线为 73e49c4,共 4 个路径,+73/−21。对照 Research Workspace 与 Populated Page Review:explicit-reading-context、source-recovery 和 populated-page 均有打包验证;installed-journey 留给发布验收。
关键代码讲解
GoalResearchHistory只接受当前 Goal 的显式 case 地址。目录尚未读完或暂时失败时,仍显示原解读入口和重试;读取成功且确认没有解读后,回到普通历程。浏览器返回会恢复原地址与标题。阅读路由readEvidence保留失败请求的原选择,仅在来源、版本和分析键仍匹配时提供重试。同一处引用的 503→200 发出相同的 Goal、pack、分析键、语言、来源及行范围,返回已登记的 4 行。关闭后焦点回到原引用按钮,切换版本会清掉旧错误。原文读取ResearchCaseReading在唯一版本已载入时收起选择器,有两个版本时仍能切换。旧的普通历程及别的 Goal 不受显式地址影响。版本控制
对主干的风险 / Risks
主要风险是失败被误当成空目录,或切换版本后重试了旧原文。对照使用两份对应提交的打包 wheel、真实研究读取 handler 和同一份合成解读。基线目录 503 时回退至历程,候选在原页重试;未捕获的引用保持明确不可用,没有借用其他版本的原文。打包的双语研究场景、研究读取 smoke、Dashboard 类型检查、standard premerge 的 4 项直接检查及 9 项自动检查均通过。 主干前进至 c44eb15 并合入窄屏图表后,合并树也通过 Chat 构建、合并后的研究读取 smoke 和打包双语场景。
我的整体评价 / Verdict
认可当前提交的范围和实现。保存的结论和证据归属不变;暂时故障后读者能沿原路径继续核验。我对照了 1200px 与 390px 的完整首屏,并检查了窄屏展开原文、多版本和失败恢复。390px 的结论标题提前 88px;桌面标题位置不变。展开后仍能读到不确定性和完整的引用行。PR 视觉证据。独立验证覆盖本地打包 wheel、真实只读 handler 和合成数据;安装版 Desktop WebView 与生产部署仍待发布流程核验。
English verdict: APPROVE. The packaged study retains its reading context, retries the exact cited source, and gives the conclusion more room on narrow screens while preserving version choice and empty-history behavior.
…search-case-read-recovery-20261109 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)
没有阻塞性发现。 两个实际打包版本的对照确认,候选能保留解读位置,并防止旧引用跨到新结果。
动机 / Motivation
从书签打开保存的 Case 解读,接着核对结论和引用原文的读者。
基线遇到目录 503 会先显示普通历程。旧原文显示后,即使同一个 pack 已换成当前语言的新分析,原文面板仍可能停在上一版。候选在原解读显示读取失败,把原文绑定到屏幕实际展示的分析。
真实打包入口中,主干切换结果后仍显示第 1 行,候选关闭旧面板并让当前引用读取第 3 行。目录 503 在候选原位重试,同一引用失败后也能原位重试。 本次验证覆盖打包 Chat 和隔离 SQLite 的现有阅读链路。
已安装 Desktop WebView 的验收仍由现有发布流程负责。
改动思路 / Approach
书签进入的保存解读在目录故障时留在原处。原文面板跟随当前展示的分析版本,失败可以就地重试。 只清除当前打开的原文仍可能被晚响应重新打开。已有请求代次配合展示作用域可以一并处理两种时序。
现有 reader 已有当前分析身份和只读请求。让原文值、失败与加载共享这个作用域,可在渲染时直接拒绝上一版的状态。 复用现有研究导航、分析 owner 与来源 API,变化限在读者导航、暂态原文和恢复。
具体改动 / Changes
评审提交 36e52b5a5e88125b6ed806218af13c6b648687df 对照主干 71190b6b4ef4e146f3bf4a10d31ce61ac42fd021。核对了 GitHub 和本地的全部 6 个改动路径。基线规范为 docs/development/design.md。 基线规范 来源读取约定
retain-saved-reading。显式解读书签在来源故障留在阅读路径,已确认空仍用普通历程。 候选显示同一保存解读的读取错误与重试。切换分析后旧原文关闭,重新打开会读到第 3 行。 没有新增开关。确认空目录仍显示普通研究历程,错误 Goal 的书签不会读取其他 Goal 的 pack。current-evidence-and-retry。展示的分析决定原文。迟到响应不可重开,同一引用可重试并恢复焦点。 真实打包入口中,主干切换结果后仍显示第 1 行,候选关闭旧面板并让当前引用读取第 3 行。目录 503 在候选原位重试,同一引用失败后也能原位重试。 保存原文的延迟 200 在新结果显示后到达。候选在展示作用域变化时清理旧状态,并按原请求代次拒绝迟到的响应。populated-reader。先给出结论,范围、来源和局限继续可读,桌面与窄屏保持阅读顺序。 390px 标题 442→354,实际截图含全文段落、未知项及第 3 行原文。installed-delivery。已安装 Desktop 运行时与生产发布验证。 正式发布对照实际安装版 WebView。
关键代码讲解
GoalResearchHistory。显式 case 地址在目录载入或读取错误时保留 reader。 空目录确认后回到普通历程;外 Goal 地址不跨用。 源码evidenceScope。由当前展示的原文或已本地化分析决定引用作用域。 旧作用域值和旧代次响应均不可见。 源码readEvidence。把请求范围、成功或失败放在同一作用域。 重试复用原 selector,关闭后焦点回到原按钮。 源码
对主干的风险 / Risks
保存原文的延迟 200 在新结果显示后到达。候选在展示作用域变化时清理旧状态,并按原请求代次拒绝迟到的响应。 同版刷新保留原文。引用 503 的前后两次请求使用相同 Goal、pack、分析键及第 3 行,Escape 回到原按钮。没有新增开关。确认空目录仍显示普通研究历程,错误 Goal 的书签不会读取其他 Goal 的 pack。
两版打包、类型检查和现有读取 smoke 通过。实测原文件字节保持,浏览器发起零次变更。 快速预合并的 4 项直接及 4 项所选检查通过。CI 未查询。
语义与 CI 对齐
原权限由既有 Goal 和来源读接口决定。本地显示作用域只避免引用串页,外 Goal 不读取旧 pack。 React 局部暂态和现有 URL 书签,原 pack、源记录、执行路由和持久化格式沿用。
我的整体评价 / Verdict
保存的分析、局限和原生证据保持可追溯,切换结果时可重新核对它真正引用的行。 书签、错误、原文和重试都可在原阅读路径处理,键盘可回到刚才的引用。
核对了打包页面的 1200px 与 390px 首屏、长段落和局限,以及 390px 展开的原文。单版本标题提前 88px,来源与范围仍可按需展开。 独立验证使用公开合成数据、打包 Chat 与实际原生只读后端。已安装 Desktop WebView 和生产部署留待发布验证。 PR 视觉证据
English verdict: APPROVE at 36e52b5. The packaged reader retains bookmarked studies through read failures and keeps citations on the displayed analysis version.
Goal And Delivered Outcome
Readers can stay with a saved study and recover its sources in place. A bookmarked study now stays open through a catalogue read failure, and a failed citation can retry the same source and line range. A version picker is shown only when there is a choice. A confirmed empty catalogue still opens ordinary research history.
Evidence follows the analysis on screen. When a saved original gives way to a result in the current language, the same pack can contain a different analysis key. Previously, the new result could cite line 3 while the open source pane still showed line 1. Now an analysis change closes the old pane and disregards any late response from it. Refreshing the same result keeps its open evidence; closing the pane returns focus to the original control.
Author Declaration
Written by OpenAI Codex as a model agent.
Implemented against
The Research Workspace and populated reader contract. The registered analysis key and existing source reader retain ownership. No benchmark data, source permissions, or model execution paths change.
Validation
Exact signed revision
36e52b5a5e88125b6ed806218af13c6b648687df, based on71190b6b4ef4e146f3bf4a10d31ce61ac42fd021.research-real-benchmarkscenario passed. The retained snapshots and accessible citation recovery were exercised in Chinese and English.cqr_68940f6b3bbf79442981.Frontend / Visual Evidence
The first viewport keeps the judgment and saved-original label. Evidence still opens on demand. The same public-safe synthetic fixture was used for the baseline and final bundle; it has valid, invalid and later valid observations. Desktop screenshots of the candidate use the exact isolated wheel; the 390px renderer used the identical compiled entrypoint and the native test backend.
The saved-study toolbar also keeps the conclusion in the first viewport. These earlier captures show the unchanged single-version layout change:
Type of Change
LoopX Area