Repository navigation
Show sourced times on child Goal research cards - #8291
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>
…goal-times-20261107 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
从研究工作台比较子 Goal 的读者,需要先判断来源记录了什么时间,才能决定打开哪一个案子。 原先父 Goal 的子卡片只有标题。现在有历史的卡片显示记录起止和跨度;只有策略的卡片标明策略时间,读取失败也不会显示为「暂无记录」。 打包版从父 Goal 读到同名但不同来源的两个原生 Goal:一个展示策略并打开原实验任务,另一个展示记录跨度并读完分页。 这次不补写研究记录、不启动实验,也不把记录跨度当成原实验的起止或求解耗时。 原实验起止与求解时长仍需实验运行方提供可核验的时钟;打包验证也不等于用户当前本机已经切换。
改动思路 / Approach
Explore 和原生 Goal 仍各自拥有记录。父页只从现有只读接口取时间;日期来自有时区的原记录,并在卡片上统一显示为北京时间。查看某个子 Goal 仍走原来的入口。只显示状态文件修改时间不能回答记录从何时到何时;打开历史的第一页也可能漏掉末尾。本次在现有读取端算完整跨度,保留错误和空记录的区别。
原生 Explore 接口继续负责范围和来源校验;界面只接一个紧凑的时间视图,复用已有刷新和导航。 添加现有 GET 的只读分支及父 Goal 卡片,无持久写入或新运行权限。
具体改动 / Changes
关键代码讲解
- 来源和时钟:先确认关联来源仍绑定到原 Goal,再严格读取该来源的 Explore 事件。用有明确时区的记录取最早和最晚;没有可用日期时可单列原生策略记录时间。
- 卡片读取 和 响应校验:同名 Goal 也校验其原 ID 和来源标识。并发最多三条,目录身份改变或用户刷新才重读。无法读取时显示错误;成功但无可用时间时仍能打开原来源。
- 活动时钟:以已有执行观察判定是否进行中。只有唯一匹配的开放宿主回合能给出回合开始;缺少该事实时只显示最近活动时间。
按 前端交付约定 验证了实际打包的读者路径、原生数据和失败恢复;按页面检查约定 核对 原桌面、新版桌面 和 新版窄屏。SOURCE-CLOCK:原生来源决定时间。CLOCK-RECOVERY:范围拒绝和刷新可验证。CLOCK-READING:使用填充后的实际视口与键盘路径。
对主干的风险 / Risks
最容易造成误判的是同名来源串读、坏日志被当成空记录,或者把记录跨度当成运行时间。错配 namespace 返回 409;不可读日志显示「无法读取时间」,不会与空源混淆;修复隔离日志后,现有刷新操作恢复正确日期。 打包版通过真实 HTTP 读取两个隔离的原生来源。同名 Goal 分别显示保存策略和完整历史跨度,原任务与研究历程仍可打开。 来源校验每次真实读取,数量大的档案目录尚未做负载资格验证;读请求只在研究页激活,有并发上限,无写入或自动启动。真实来源均为历史,进行中时钟仅用有类型的合成活动验证。
本地通过:21 项 HTTP 测试、Goal 活动 smoke、打包 Chat 构建、TS 类型检查、CSS 检查,以及桌面/窄屏、键盘往返、分页和错误恢复。标准本地预合并和本次改动质量回执均通过。 远端 CI 按本次约定未查询。
语义与 CI 对齐
新增的是既有 GET 的一个视图,原有 History/Findings、持久事件和工作权限不变。未把来源缺失改成推断,也没有把「已看见记录」作为实验运行或接受结果的依据。
我的整体评价 / Verdict
这次可从父 Goal 看到有依据的时间,再打开原生状态继续核对。打包实读支持这个增量;原实验的起止与求解时长仍归运行记录的来源,实际本机切换也需另验。未发现阻断问题。 对照看了有长标题、历史、无时间和读取失败的八张卡。标题和导航仍居首,统一时区只出现一次;在窄屏可看到来源缺口和返回入口。 390px 窄屏上打开真实原档的一组记录,长标题、研究项说明和结论数值分段可读,原文与来源仍可展开。 截图为合成来源的打包版;真实原档只作本地只读验证。未以截图认定正式本机 App 已更新或生产回合时钟已经核验。
English verdict: APPROVE 34e06a0608e9ad2cf24c21ef9ff1fd4c03830271. Scoped clocks, native readback and source failure recovery passed at the reviewed head; local premerge passed and remote CI was not consulted.
The Research tab now shows the timestamps each child Goal can establish. The parent directory uses Beijing time and keeps the existing links into native Research and Tasks.
Visual evidence
The same populated synthetic directory at 1365 × 960 and 390 × 840. Names and navigation remain the primary row content; the common time zone appears once. Existing before/after captures include mixed dated, missing and unavailable records. The proposed captures were taken from packaged Chat at
bc84107b1b8e26374acb5bb298453883539bc628; the current packaged head was also inspected at both widths.Validation
Head
34e06a0608e9ad2cf24c21ef9ff1fd4c03830271; integration base3b2a8c766207dd5ef935d5caaa8284a014e1a83c.cqr_a21425ed5d544fd9acfbverified. Remote CI was not consulted.A record span is a property of saved evidence. Original benchmark attempt start, end, and solver duration require a verified attempt source. Current live-turn display was checked with typed synthetic observations; the linked sources tested are historical. These checks qualify packaged Chat.