Skip to content

Show sourced times on child Goal research cards - #8291

Merged
loopx-agent merged 3 commits into
mainfrom
codex/research-child-goal-times-20261107
Nov 7, 2026
Merged

loopx-agent merged 3 commits into
mainfrom
codex/research-child-goal-times-20261107

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

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.

  • Explore records show their first and last recorded timestamps and the span between them. A linked native strategy is labeled separately when dated Explore records are absent.
  • A current turn uses recent observed execution. The elapsed time appears only when the start can be tied to an observed open host turn.
  • Empty, undated, and unavailable records have separate states. The existing read endpoint verifies the native Goal and source before returning clock metadata.

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.

Previous desktop Proposed desktop Proposed narrow
Previous desktop Proposed desktop Proposed narrow

Validation

Head 34e06a0608e9ad2cf24c21ef9ff1fd4c03830271; integration base 3b2a8c766207dd5ef935d5caaa8284a014e1a83c.

  • Packaged wheel with the actual Chat server: separate linked archives with the same original Goal ID; saved strategy with absent Explore events; complete multi-page native history; wrong namespace rejected. The populated desktop and narrow views, keyboard entry and return, and refresh after a source read error passed. Card reads did not submit work.
  • 21 focused Python HTTP tests; Goal activity smoke; control-plane typecheck; packaged Chat build; CSS custom-property audit.
  • Standard local premerge: direct Git/RFC checks, Python compile and seven selected canaries passed; exact change-quality receipt cqr_a21425ed5d544fd9acfb verified. 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.

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 loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@loopx-agent
loopx-agent merged commit e2371c4 into main Nov 7, 2026
6 of 8 checks passed
@loopx-agent
loopx-agent deleted the codex/research-child-goal-times-20261107 branch November 7, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant