Repository navigation
Scope the research timeline to loaded history during recovery - #8626
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.
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max
本次评审对应提交 51517200cd07a20460d414d5863f84904bee93ff。
动机 / Motivation
在 Goal 的 Research 页读长历史的用户需要知道记录覆盖和原证据。后续页失败时,主干把 40/79 条的范围标为 Whole run,并提示刷新失败。同一记录源第二页 503。候选用已读时间范围和局部失败提示,重试后恢复 79/79。用户能区分已读范围、完整范围和旧快照,恢复后继续读已保存的时段。本次覆盖既有研究历史的读取和恢复。实际研究执行与分析继续由明确动作触发。
改动思路 / Approach
现有 Explore reader 已提供完整性和原记录。沿用该状态控制覆盖文字、图表时段与当前选择。变更落在现有只读 Research 页面和相邻浏览器场景。 局部范围仍可浏览和搜索。完整性恢复后才应用 URL 中保存的时段。 已保存时段
具体改动 / Changes
关键代码讲解
GoalResearchHistory用read.complete和已读记录数区分首次局部、完整旧快照刷新失败和未读源。键盘 Retry 先把焦点交给覆盖行,再触发原读取。 覆盖与重试GoalResearchTimeline在局部显示从最早已读记录起的轴和已读密度。完整性恢复后显示全程分段、分隔线及对应帮助。 时间轴research-record-search.mjs扩展原场景,检查局部读取、两个视口、键盘焦点和时段恢复。 浏览器场景
按 docs/development/design.md 在 base 9ce3a46bfe525aa2167de6699fc676ce8ef60247 的条款核验。 loaded_time_range 由 40/79 和可见 Retry 验证。 source_evidence_retained 由展开后原记录的标题、正文和 ID 逐项核对。 period_and_keyboard_recovery 由 79/79 的键盘焦点、原 Late 选择和后续刷新故障验证。 Research Workspace 原文与来源
对主干的风险 / Risks
PASS。用同一 79 条原记录、真实本地 Explore 只读分页和同一第二页 503 对照打包主干与候选。候选在两种宽度均呈现局部时间范围。恢复后显示 79/79 和三张时段卡,焦点在覆盖行。再次刷新失败仍保留 79/79 和 Late。
PASS。首个请求失败时显示来源尚未读取,页面没有时间轴。切到同一来源的另一 Goal 后显示 5/5 来源行,书签没有跨 Goal 继承。源文件读回相同,写入计数为零。两臂 Chat 构建及候选四项直接检查和四项选中检查均通过。远端 CI 为 UNVERIFIED。
语义与 CI 对齐
继续由已有读取状态确定覆盖,错误提示和本地日期均来自当前快照。改动沿原 Research 入口,不增加执行动作。 覆盖投影
我的整体评价 / Verdict
候选完成了局部可读和完整恢复的旅程。用户可以判断当前时间范围,继续读原记录,并从已保存的时段继续。实际查看了 1440 和 390 px 的局部首读、恢复后时段和下方记录。390 px 展开长中英标题后,原文与来源分行可读。独立验证覆盖打包 Web Chat 和合成 Explore 来源。安装态桌面与真实长档案未在本轮独立验证。
English verdict: APPROVE. At 5151720, packaged browser runs scoped the 40-of-79 partial read, restored coverage focus and the saved period on retry, and retained the complete snapshot after a refresh fault.
Goal and delivered outcome
Open the Research tab on a Goal and tell how much of the recorded history is available. A failure after page one used to display the loaded interval as a whole-run timeline and describe the first load as a failed refresh.
The reader now labels the loaded interval, keeps its records and evidence available, and shows whole-history periods when the full snapshot is available. Keyboard retry focuses the updated coverage and restores a saved period after recovery. If a refresh fails with a complete snapshot on screen, its timeline and evidence remain available.
The intended base is main. This change uses the existing Explore history reader and its completeness state.
Author declaration
Written by model_agent, Codex (OpenAI GPT-6).
Implemented against Research Workspace in design.md at
b9111c37cef9ed46bb3c8ccd455029023216600f.Scope and continuation
The fix is complete within the read and recovery journey. Independent review and installed desktop adoption are pending.
Validation
51517200cd07a20460d414d5863f84904bee93ffagainstb9111c37cef9ed46bb3c8ccd455029023216600fFrontend visual evidence
The same synthetic history and the same second-page failure on the two packaged revisions. The loaded date range and retry are visible before the chart at both widths.
The coverage line carries the loaded date range and count. Retry stays beside the failure notice, and detailed transport information remains available through the existing help control. In the dense native example, the parent title and saved analysis still push the chart below the first narrow viewport.
Type of change
LoopX area
Personal Workspace Research