Skip to content

feat(site): make public research a playable Time Machine - #6682

Merged
huangruiteng merged 1 commit into
mainfrom
codex/public-research-time-machine-20261017
Oct 16, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/public-research-time-machine-20261017

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

Give an uninstalled visitor a research decision to make before revealing what actually happened. The existing homepage offered curated terminal replays and static case links; it now discovers a playable Time Machine / 如果你在场 at /lab/time-machine/.

Three bilingual episodes lead from choice → recorded reversal or uncertainty → the exact original finding and a record reader. Either choice reveals the same historical outcome. This is a read-only presentation of public solver-authored observations, without a model call or simulated alternative outcome. Intended base: main.

Author Declaration

  • Written by: model_agent — Codex (GPT-6 family), OpenAI.

Implemented against

No separate written specification; the maintainer-requested decision-first public experience described in this PR is the basis. Existing owners: public-site contract and design contract.

Criterion Disposition Path / behavior Evidence
Discover and complete a research episode without installation implemented Existing homepage research collection; lazy Time Machine route Packaged homepage → choice → outcome → original finding journey
Preserve source text, status, order and diagnostic scope implemented records.ts, pinned captures and scene anchors All 315 events through the canonical Explore v0 validator; byte hashes and negative cases
English/Chinese, mobile/keyboard and recoverable reads implemented Route, shared navigation, responsive styles and async capture ownership Packaged three-case journey, history/reload, 390px/reduced motion, missing/changed data retry and rapid switching
Maintain the public first-screen boundary implemented New route and existing research entry Maintainer approved the exact candidate before commit/push; all 14 approved files match committed SHA-256 values

Self-check: reviewed the final source and repository rules, preserved the approved presentation, verified source/diff identity and recorded the exact committed change-quality receipt. No independent PR review, merge or deployment is claimed.

Scope And Continuation

Complete product implementation: one route in the existing public site, one existing research entry, three pinned public captures, bilingual guidance, static metadata and focused regressions. The approved desktop, mobile and revealed-result screenshots are attached below, completing the author visual packet. Hosted CI and independent review remain separate.

Reuse the existing site language, navigation, metadata and Explore v0 semantics. The TS reader checks an immutable capture's bytes and shape and renders original text; it is not a second Explore reducer or authority. Source statuses remain source text. No capability, provider, execution path or shared vocabulary is introduced.

The future-facing pass keeps the feature behind one lazy route, keys asynchronous captures to the selected case, and preserves the existing all-cases link. There is no speculative cache, state-restore engine or inferred graph. Removing the route and research entry reverses this feature. Review and release remain separate stages.

Validation

  • Tested revision: 9f007a0af25b4033834aa776166dead2aea2df5c — all 14 committed files are byte-identical to the qualified and approved production candidate.
  • Run state: finished for local qualification; new hosted CI is separate.
  • Input classes: public_fixture, synthetic for corrupt/missing-input negatives.
Check kind Result Evidence / limitation
real_entrypoint passed Production site build with TypeScript, static rendering and lazy browser route. Both / and /loopx/ bases passed SEO/navigation checks.
regression_parity passed Capture tests preserve all 76/134/105 original events and reject edits, wrong captures, bad fields, duplicate IDs and missing scene anchors. Record order is append order, with no historical-state claim.
real_entrypoint passed Ego Lite on the packaged site: all three choices/results, verbatim original records, language/case/history/reload, 390px, keyboard and reduced motion. Changed/missing capture retry and fast case switching retain correct ownership.
static passed Semantic advisory with manual app-local vocabulary disposition, canonical full-tree semantic check, public-boundary scan of all 14 files, diff hygiene and the original exact-source local qualification. Current change-quality closeout is held by the hosted CI failures listed below.
integration passed Local risk-based premerge: three direct checks plus all 18 selected checks passed, with zero failures/skips. Exact-source identity is retained after commit.
manual passed Scoped maintainer approval for this first screen and homepage entry; no source changes between that preview and the committed files.
manual passed Approved desktop, mobile and revealed-result screenshots are attached below and render from GitHub attachments. The source head is unchanged.
integration failed / incomplete Hosted CI currently reports failures in Frontstage build, chat-bundle-browser (1) and dashboard-browser (2), with other checks still running/queued. These failures are not waived by the local site qualification or screenshot upload. Independent review and deployed Pages interaction have not been verified.

Repeat the focused source checks from apps/presentation/site:

node --test scripts/time-machine.test.mjs
node --test scripts/seo-smoke.test.mjs
npm run build -- --base /loopx/

The fixture source is pinned to research-history revision 44c7af3d and the immutable public archive. These are solver-authored diagnostic claims. They do not establish independent replication, a countable benchmark result or a LoopX performance gain. No raw native session is bundled.

Frontend / Visual Evidence

  • UI impact: changed; source data: public_fixture.
  • Before: this route did not exist; the existing research collection linked static cases.
  • After: a single decision hero, two choices and an in-place outcome; original records and fixed sources are optional deeper reading. The existing research entry links this experience while retaining the all-cases route.
  • Validated states/viewports: desktop 1360×1000; mobile 390×844; English/Chinese question and result, keyboard focus, loading, verification failure and retry. The approved desktop/mobile question and mobile-result captures are attached below. Loading and failure/retry states were validated in the packaged interaction; the images below do not claim to show every tested state.
  • Attention/craft: one primary question and choice pair; case/language navigation stays secondary, original details collapse, source limits remain visible. Existing tokens and glyphs, no new raw color palette or decorative card system; reduced motion disables the reveal animation. Approval covers the same presentation now committed.
  • Entry points: the public frontend changes; Lark/CLI/runtime operations are unaffected. The visitor journey performs the read-only interaction directly.

Approved packaged views

The images show the same approved presentation committed at 9f007a0af25b4033834aa776166dead2aea2df5c. They use public fixtures only; no native session, live model action or deployed-site claim is involved.

Desktop — question and choices / 桌面:问题与选择(1360×1000)

time-machine-desktop

Mobile — first viewport / 手机:首屏(390×844)

time-machine-mobile

Mobile — recorded outcome after a choice / 手机:选择后揭示真实结果(390×844)

time-machine-mobile-result

Hosted check details: Frontstage build, chat browser lane 1, dashboard browser lane 2. The failing steps are: strict documentation build rejects the two recovery RFC source links; the configuration-backup browser case times out while waiting for its inspection detail; the research-history browser case receives HTTP 503 instead of 200. Base/head causality and fixes are still open. The current change-quality receipt preserves the CI failures and blocks qualification; screenshot completion is not merge readiness.

Type of Change

  • New feature
  • Documentation update
  • Test update

LoopX Area

  • Public docs or presentation surface

Technical Direction

S11/S12: make existing public research evidence approachable through an ordinary visitor journey. This does not close scientific, runtime, whole-CI or release qualification.

Shared-authority RFC fixture impact

N/A: no provider, promotion, runtime-routing or shared-authority change.

Boundary Checklist

  • Source/body contain no private state, credentials, internal links, machine paths or raw native sessions.
  • No benchmark job or maintainer-owned experiment was launched.
  • One coherent public-site experience, using existing owners.
  • Approved public desktop, mobile and revealed-result screenshots are attached below.
  • The commit includes a DCO sign-off.

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; model=gpt-6.1-sol; provider=OpenAI; runtime_reported; reasoning_effort=max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

完整评审 6682@9f007a0af25b4033834aa776166dead2aea2df5c,实际合并基线 21ca9a3f18eb70a3eb4a1f14efbfcd5464849a8b。未发现阻塞项,结论 APPROVE。本次认可的是可独立使用的公开阅读体验;不是对科学结果、LoopX 收益或真实 Agent 恢复的背书。

动机

普通访客要先代入研究者做判断,再看实际发生的结果,并能核对原记录。旧主页只有研究文章及案例目录,读者需自行重建这个过程。现在沿既有研究集合进入,一次自愿选择就能看到带来源状态的结果,再按需打开原发现;无需安装、账户、终端、重新提供资料或额外确认。三道选择是体验本身,后续翻阅也是自愿探索。

独立规范基准为 apps/presentation/site/README.md @ 21ca9a3f18eb70a3eb4a1f14efbfcd5464849a8b,逐项核对原文标题 LoopX Public Website(公开边界、两种部署基址、语言入口)、Editorial responsibilities and reading routes(问题式阅读路由及来源归属)、Search publication(实际静态正文及元数据)。同时按该基线的 docs/development/design.md 与 docs/development/frontend-delivery.md 核对整屏注意力、键盘及打包后的失败恢复;新增 README 说明不是独立验收依据。

不交付原生实验或独立复验、反事实结果模拟、历史状态恢复、真实 Agent 执行、运行权限或持久化答案存储。

本次采用仓库经验中“先验证第一条有用用户路径”的建议,实际走完发现、选择、结果、原文及失败重试;没有把实时恢复或整个科学研究路线图强加为本静态页面的前置条件。建议被读取和应用,不代表已证明学习的因果净益。

改动思路

复用公开站点的导航、语言、元数据和构建发布 owner。main.tsx 按准确路由懒加载组件;TimeMachine 只投影问题、历史结果和逐条原文;44 行 readPinnedCapture 负责固定工件完整性,不替代 Explore 语义验证或历史状态 reducer。核心事件权威仍是现有 Explore v0。

我重点反证了“作者的 hash 单测通过,切案例后却显示上一个案例结果”的风险:正常打包页面经真实 HTTP 读取缺失 Graph、被改写的 Ad,以及延迟后被切走的 Graph;当前场景均无旧结果/原文冒用,修复静态源后原位重试成功。同步清空、loaded.id、abort/active 归属共同覆盖这条边界。

架构判断为保留:这是一条完整的公开“发现 → 判断 → 历史结果 → 原发现”路径。三个固定数据副本有体积成本,但让单独构建的公开站点自包含且可核验;引入实时 API、通用模拟器、另一个状态引擎或配置屏幕都会超过当前需求。科学复验、原生恢复、真实 Agent 持续执行和线上部署采用另行验收。

具体改动

  • App.tsx 把研究集合最后一张卡改为入口;原完整案例目录在主页展示区仍可访问。main.tsx 添加懒加载分支及局部样式;page-metadata.ts、render-static.tsx 接入既有标题、静态正文、canonical、描述及 sitemap 流程。
  • TimeMachine.tsx 管理三案例、两种选择、记忆内答案、URL 历史、原文 cursor、可访问焦点及错误/重试。两种选择展示同一段实际经过,不模拟另一种结果,不启动 Agent;刷新明确重置答案并保留语言/案例入口。
  • scenes.json 的投资组合 13.84 对 20.53、图分类 +32% 时间成本且原生收益未证、广告六个筛选/32 个新种子的反转,均逐项对照选定原发现。三条原文标题与 summary 经真实页面逐字比对;否证、确认但有范围限制、暂定标签没有升级为独立事实。
  • records.ts 校验 SHA、源 hash、数量、事件身份/日期/去重及原发现锚点,返回原追加顺序。三个 JSON 共 510,782 bytes、76/134/105=315 条事件,与公开源提交 44c7af3db271ab1991428d3ff1991ca922434eff 的既有 fixtures 逐字节相同;用现有 validate_explore_result_event 独立验证 315 条全部通过。固定 HF 归档仍是 c858f51021dc1c1cf08263f9c04b692a5e29b40b。这不是重新验证实验。
  • time-machine.css 使用既有 tokens,桌面双列、窄屏单列;按钮最小高度、焦点、reduced-motion 及原文换行均实查。README 说明使用、证据范围和撤回边界;64 行测试与 SEO 检查守住真实产物、改写/缺失及顺序语义。

共 14 文件 +8775/−9;其中 8155 行是固定公开源数据,其他 620 行包含 UI、双语文案、样式、验证和说明。未来维护性复查考虑了共用 dashboard reducer/去除数据副本:前者会混淆状态投影与单条记录阅读,后者当前会破坏独立公开构建;本次没有值得强制添加的抽象或平行权威。

对主干的风险

主要风险是跨案例旧数据、来源被改却继续展示、研究数字被误读为独立成效,以及公共部署基址回归。现有 case 归属和完整性校验覆盖前两项;界面与文档保留 solver 声明、诊断范围、未知及“记录数不是实验次数”。原始事件未改写,亦没有新增共享词汇、默认工作义务、权限、持久化状态或 live Goal 依赖。

公开入口默认多一张发现卡;进入路由才载入交互模块/数据。相同基线与 head 的真实主页 hero 文本、标题、几何布局、前五张研究卡一致,head 首页未请求 TimeMachine chunk 或 capture。没有把“可发现”当成“已激活”。

独立验证:

  • 干净依赖安装后,4 项 time-machine 测试通过;SEO 基址/负例测试 base 2、head 2 通过;head /、/loopx/ 与 base /loopx/ 正常编译构建通过。
  • 正常静态产物经实际浏览器验证三场景、两种选择、原锚点、原文、record Home/End、EN/中文、Back/Forward、刷新;1360×1000 桌面及 390×844 窄屏整屏已查看,窄屏无横向溢出、相关按钮至少 44px;当前文档明确启用并读回 reduced-motion 后动画关闭。
  • 真实 HTTP404、HTTP200 改写字节均禁用选择、清除旧结果及原文;恢复源后 Try again 成功;快速跨案例切换未串源。
  • 现有 Explore 验证器验证 315 条;公开边界扫描无凭据/本机绝对路径;开发期词汇 advisory 后全树语义 smoke 通过。原生 premerge:3 项直接检查 +18 项选择检查通过,0 失败/跳过/人工 hold。
  • 正常公开 exporter 与导出 SEO/路由工件检查见本次验证记录;没有以测试计数替代上述用户路径。一次误写 semantic helper 路径及两次浏览器驱动参数/仿真设置问题保留为准备过程记录,纠正实际入口后通过,没有改断言、放宽上限或修改产品源码。

按当前评审策略未获取、轮询或等待远程 CI;既有工作流/合并资格另行判断。真实 Pages 部署、访客参与度、原生实验及其他宿主平台没有在本次获得证明。

我的整体评价

APPROVE,未发现阻塞项。 当前边界有明确用户价值,也保留了反例和未知:它让未安装的读者完成一次判断并回到原证据,没有把阅读伪装成真实执行、恢复或因果结论。正常产物、反例及恢复的独立观察支持该结论;本评审不授予合并、部署、升级或实验执行权限。

English verdict: APPROVE - 9f007a0; complete read-only decision/reveal/original-record journey, unchanged canonical315-event sources, both deployment bases, real HTTP corruption/missing recovery and independent local premerge validation. Scientific benefit and deployed adoption are not claimed.

@huangruiteng
huangruiteng merged commit c9c3adf into main Oct 16, 2026
26 of 33 checks passed
@huangruiteng
huangruiteng deleted the codex/public-research-time-machine-20261017 branch October 16, 2026 20:28
@loopx-agent

Copy link
Copy Markdown
Collaborator Author

Reviewer: model_agent — model: gpt-6.1-sol; provider: OpenAI; reasoning_effort: max; runtime_reported.

Post-merge audit — new publication-path finding

精确 head 9f007a0af25b4033834aa776166dead2aea2df5c,实际共同祖先 21ca9a3f18eb70a3eb4a1f14efbfcd5464849a8b。完整 14 文件重新核对后,新增 P2 发布路径阻塞:REQUEST_CHANGES。此前本地 standalone 评审没有覆盖这个实际发布调用点;下面保留通过、失败与未测的区别。

动机

尚未安装 LoopX、希望了解公开研究过程的网站访客。 原研究入口主要链接静态案例;读者难以在知道结论前做一次选择,再把反转或不确定性与原始记录核对。 从主页进入一个双语研究片段,作出选择后原位看到同一条已记录结果,并能展开对应原文与固定来源。 不生成另一条历史、不执行模型或写入运行状态,不证明独立复现、有效成绩或 LoopX 性能提升;不把打包预览等同部署。

原静态链接仍有阅读价值,但不能让访客先判断、再用一次原位结果检查自己的直觉。这一版直接在既有研究入口完成这个任务,没有要求安装、复制命令、额外配置或重新批准。原文和固定来源是自愿深入阅读,不是继续操作的前置步骤。

改动思路

原始事件语义留在 Explore owner;字节核验属于公开制品读取,选择与阅读位置仅为页面意图,不承担运行或研究状态恢复。 本 PR 交付发现入口、一次选择、真实记录结果和可选原文阅读;科学资格、部署和运行能力仍在原边界。

浏览器按案例读取一份固定公开制品,先验证 SHA-256 和基本形状,再允许选择。两种选择揭示同一个已记录结果;选项不触发模型,也不虚构另一条研究历史。loaded.id、effect 的 active/abort 清理和切换时同步清空共同阻止旧响应出现在新题下面。入口、语言、SEO 与静态构建沿用现有站点 owner,而不是新建服务或重复 Explore reducer。

首屏有一个问题和一组选项,结果在原区域揭示;来源边界可读,原文折叠。独立查看了 1360×1000 与中文 390×844 的实际打包画面,窄屏无横溢、键盘焦点可达且减弱动画关闭揭示动画。原 scoped 首屏批准已覆盖此候选,无需再次制造批准步骤。

具体改动

规范依据:apps/presentation/site/README.md; docs/development/design.md; docs/development/frontend-delivery.md,不可变版本 21ca9a3f18eb70a3eb4a1f14efbfcd5464849a8b;以下是对原文要求的本次映射标识,不把本 PR 新增的 README 说明当作独立规范。

  • site-base:同一生产构建支持 / 和 /loopx/,根与仓库基址测试、导航及静态 metadata 通过。
  • public-read-only:三个完整文件逐字节匹配 44c7af3db271ab1991428d3ff1991ca922434eff 的已有公开 fixture;76/134/105 条事件全部通过当前 canonical Explore v0 validator,未导入原生会话或写 API。
  • truthful-outcome:Portfolio 的 13.84/20.53、Graph 的局部准确率与原生收益未证、Ad 的筛选/32 新样本反转分别核对原 finding;状态、原文和诊断范围保留。记录数不冒充实验数。
  • task-journey — not_met(发布环节):standalone 主页→选择→结果→原文链路通过,但实际 assembled-publication browser caller 的第六链接断言未同步,完整发布未满足。
  • accessible-bilingual:中英切换、中文手机、键盘 Enter、焦点落到结果及 reduced-motion 均有当前打包读回。

关键代码讲解

  1. TimeMachine 区分当前案例、已核验数据与页面选择;fetch 失败不给结果,重试仍由同一案例 owner 处理,inspect 直接定位原 finding。
  2. readPinnedCapture 校验完整字节、source hash、数量、事件形状、重复 id 和场景锚点,直接返回原追加顺序;没有按时间排序或推导“过去已知状态”。
  3. main.tsx 复用现有路由入口,动态载入 TimeMachine;静态 render 和 page metadata 增加对应公开页面。主页读取未加载该 JS chunk 或 capture,旧的普通入口未变成运行操作。

8775 行新增中,8155 行是三个完整固定制品;其余是场景、177 行交互、44 行读取、样式、共享入口/metadata、39 行使用说明和薄测试。完整字节复用比截断原文或追加一个状态恢复引擎更易核验,移除路由和入口即可回退。没有新增 capability/provider 或共享状态词表。

对主干的风险

[P2] 同步真实发布浏览器调用点并验证新路径

实际发布流程 .github/workflows/frontstage-pages.yml:265 在完整 assembled artifact 上运行 dashboard 的 smoke:frontstage-browser,其 package script 直接调用 examples/dashboard-frontstage-browser-smoke.mjs。其 252–253 行仍断言第六个研究链接是 docs/showcases/index.en.html(中文对应 index.html),但本 PR 的 App.tsx 已将它换成 lab/time-machine/。因此 standalone 页面可以正常运行,完整发布检查却必然失败。

我使用同一断言核对先前独立生产构建的 base/head HTML:基线六项全匹配,head 前五项相同,只有第六项变为 /loopx/lab/time-machine/;原 browser 脚本与基线逐字节相同。并实际 GET 公开新路径,当前返回 404。这不是查询 CI,也不把 404 单独当作唯一因果证据;整个 Playwright 发布套件本轮没有重跑。

最低修复是同步这个真实调用点的预期,保留既有全部链接与隐私断言,并在 assembled artifact 中实际走通中英/390px的发现→选择→结果→原文与坏/缺 capture重试,然后跑完整既有发布检查。已有官网 owner 正在原交付任务接续,不需要另一份重复补丁或首屏批准。

独立基线生产构建的主页 HTTP 200、新路由 HTTP 404;当前实际打包页面完成上述任务。4 条 capture 测试与全部 315 条 canonical 验证通过,两个基址 SEO 测试通过;当前 native premerge 的 3 个 direct 与 18 个 selected 检查均通过,14 路径公开扫描和 whitespace 通过。先运行 advisory,再运行完整 semantic smoke;advisory 对 app source 的覆盖为 0,因此不以“空结果”证明语义安全,局部接口、状态/错误规则与原 owner 另行检查。

在当前页面分别注入 HTTP 404、被改字节,旧原文全部消失、选择禁用、错误可读,恢复真实读取并重试成功;故意让 Graph 请求晚于切换到 Ad 完成,仍显示 Ad 的题目和 105 条记录,不重标旧数据。原文追加顺序还用未来时间戳反例验证,不能被日期重排。刷新清除页面选择、保留 URL 案例与语言,符合说明。

严格文档构建未通过:相同命令在 21ca9a3f18eb70a3eb4a1f14efbfcd5464849a8b 和当前 head 均因 complete-state-recovery EN/ZH 两条 source_session_registry_state.py 链接警告失败;逐条警告全文及 RFC、构建配置、链接 hook 字节相同,属于 pre_existing_unrelated,没有把红项改绿。PR 正文另报告的两个工作区 browser lane 失败未查询、未归因或宣称修复;它们继续属于各自检查/集成边界。本站点的真实交互有独立当前覆盖,代码批准不等于全仓或合并资格。

我的整体评价

REQUEST_CHANGES(post-merge audit)。long_horizon 的原始记录和无执行边界保留;user_experience 的完整发布结果为 not_yet_proven:standalone交互已验证,实际发布调用点却失败,公开入口目前404。必须补全同一交付边界,不能把更早的APP或已合并当作发布验收。

本次根因是我前半轮独立核验止于站点构建/局部实际交互,漏查它的完整发布消费者。已将新反例、现有修复 owner 和后续验收回写原评审任务;不新增重复补丁,也不删除已有评审讨论。原始14文件的来源、边界、数值和局部测试证据仍保留;修复后需要完整发布检查与当前精确头重新确认。本审计不授予merge/admin或部署权限。

English verdict: REQUEST_CHANGES — 9f007a0. New post-merge P2: App changes the sixth research destination but the existing assembled-publication browser assertion still expects showcase. The exact assertion passes on the actual base build and fails on head;public new-route GET is404. Standalone UI checks passed;the full publication suite was not rerun. Update the real caller and validate the complete assembled journey;preserve the existing repair owner and all prior discussion.

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.

2 participants