Skip to content

feat: continue research analysis from versioned evidence - #6961

Merged
loopx-agent merged 2 commits into
mainfrom
codex/research-analysis-incremental-20261021
Oct 20, 2026
Merged

loopx-agent merged 2 commits into
mainfrom
codex/research-analysis-incremental-20261021

Conversation

@loopx-agent

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

Copy link
Copy Markdown
Collaborator

Goal and outcome

研究记录追加后,原有分析只能复用完全相同的 key;使用者需要自己比较两个结果。本改动在现有 Goal 分析入口提供“接续分析”,保留上一版,并展示新增/更新/移除的证据、覆盖与判断变化。

沿 S5/S11 的既有研究分析合同和 #6955/#6956,不创建新的评分器、调度器、模式设置或执行 Goal。既有固定包与未声明基础版本的健康调用保持原身份和行为。目录中部分历史包不可读时,现在保留其余有效包并显式报告缺口;这是已验证的错误恢复变化。

Author declaration

Written by: model_agent · Codex · OpenAI.

Implemented against docs/reference/trajectory-assessment.md and docs/development/design.md at b9e60c59f3c367a63755d97f4595d9c2eef91947,以及本 PR 所述的接续需求。

既有合同与本次要求 处理 实现 / 验证
固定输入、版本与精确引用;历史不静默覆盖 implemented CLI 的可选基础包链接,同一 owner/Goal/case/run 校验;store/HTTP 版本与引用测试
显式执行,浏览零调用,失败和取消可恢复 implemented 原 execute/lock/cancel/retry 路径;实际临时子进程与并发、丢失基础包恢复
完整 eligible 分母,unknown 不丢弃 implemented 原 qualify/reducer;后续反证改变旧判断,完整新版归约
简洁、可读、说明按需展开 implemented 同页版本摘要与上一版入口,详细差异折叠;打包桌面/390px/键盘/Back

Implementation and boundary

  • Agent/curator 用现有 trajectory-pack-register --base-pack-id 准备完整新版固定输入,用户无需手填内部 ID。登记不运行模型。
  • 同一 typed owner 比较证据和适用项。新增、更正、删除以及范围/配置变化均复核完整新版,包括旧片段;此前模型总结不替代原文。旧/重叠窗口的标签和指标不相加。
  • 只有实际引用文字、路径/行位置、问题、eligibility、目标/窗口/取样及模型配置等价时才复用已资格检查的输出;捕获文件其他字节变化不冒充新信息。复用仍重新绑定本版证据摘要,且不启动模型、不重复计算原用量。
  • 原进程 owner 保留幂等、取消和重试。基础包缺失/损坏不会封锁有效的新结果,缺口仍明确展示。
  • 当前是保守的完整复核接续,不承诺只读尾部、更低 token 成本或独立科学收益。方法变化保留原适用性,中文/英文继续独立缓存。

同域整理:比较保持为一个无 IO 的 TS helper;原 store 一次有界读取明确基础版本,不递归装载历史;UI 复用现有分析、可选详情与浏览器历史,不添加新的设置页或权限 owner。

Validation

Tested source: 8e3834597944ec89e904c0eed2ffa7a4e365d8e6.

检查 结果 / 边界
TypeScript assessment tests 11 passed,含反证、重叠、分母、跨 run 拒绝、等价证据复用
Provider/store/production HTTP tests 34 passed;真实隔离文件、HTTP 和临时子进程,不使用线上模型/solver
Control-plane typecheck, packaged Chat build passed
Packaged research-history and goal-showcase passed;中英、桌面/390px、键盘、旧版/Back/刷新和零分析写入
Ruff / repository-configured mypy passed
Base/head parity and regression sensitivity 相同冻结输入的原流程一致;旧 CLI 不支持基础包链接,最终 head 可持久化读回,故意丢失该参数的 mutation 被独立断言捕获
Risk-selected premerge 最终 head 的6 direct +4 quick selected checks,0 failures;此前同一实现的19项 standard checks保留;benchmark-sensitive 人工评审及新鲜 merge-readiness 独立保留
Exact quality receipt cqr_2ef6f6da366e3b411121 valid

公开安全扫描、DCO 和 RFC 配对检查通过。实际模型判断质量、正式 App 安装采用与原研究科学验收各自保持独立;不以合成 UI 或测试通过声称已完成这些资格。

Visual evidence

合成固定输入的真实打包 UI;当前实现同源,非真实私有研究数据、正式安装或模型质量证明。版本摘要只保留非零变化,详细方法与差异按需展开。默认 Goal overview 的 showcase 回归保持通过。

Before(原 reader,无接续摘要):

Before

After,桌面与窄屏:

Desktop
Phone

…ersions

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 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; effort=max; active_turn_verified=false

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

动机

研究者追加一批轨迹证据后,需要判断旧结论是否仍成立,并返回上一版及原文。 例如后续证据否定了早先的收益解释:原来需要人工对照两个分析;现在同页显示判断变化,完整复核新版,并能返回原版。 已验证的结果是新版完整归约、旧版与原文保留,以及等价证据显式复用时没有新增模型子进程。 本 PR 不证明模型判断质量、科学收益、尾部增量执行或更低 token 成本,也不改变原生评分、预算或执行 Goal。 真实模型判读质量、正式安装采用及独立科学验收仍未在本次验证中证明。

本次改动解决的是分析接续与可读性。完全不改会继续要求读者人工对齐两个结果;只加“上一版”链接又不能约束旧输出是否仍适用。用已有资格检查器重新验证完整结果,可以把版本比较、可追溯性与后续修正连起来,而不引入第二个评分器。旧版可以是有效的历史判断,新证据也可以改变它;两者不应互相覆盖。所谓接续目前是保守完整复核,不能理解为只分析新尾部或自动获得成本优势。

改动思路

复用既有输入、资格检查、进程和阅读器,只增加有界比较与明确版本关联;完整复核是当前可证明的保守策略。 当前 PR 的边界是可用的版本接续和读回,不扩展评分、执行权限、调度或科学结论。 可信准备方通过既有登记入口关联一个明确的旧包;旧包已经属于同一 owner Goal 和原 Goal/case/run。这个关系是准备方意图,不能由“最近一次结果”猜测。实际差异、可复用性、完整适用项和判断变化均从固定输入派生,不维护第二份手工同步的分数或状态。

下表为本次 head 8e3834597944ec89e904c0eed2ffa7a4e365d8e6 的源码说明,执行证据另见验证段。

触发 处理与结果
未指定基础包 保留原身份、模型提示、缓存和普通阅读路径
证据文本、位置、问题、适用项、窗口或配置实质变化 显式操作后复核完整新版,重新归约全部适用判断及 unknown
仅未选中文字节、捕获 revision 或无关顺序变化 内容与配置等价且旧结果可资格检查时,显式复用并绑定本版 manifest,无新模型子进程
基础包缺失、损坏或旧来源不可读 不认证复用;新版独立有效结果继续可读,比较缺口明确展示并可重试读取

没有采用“局部改动所以旧行不受影响”的推断,也没有把先前模型总结代替原文。重试、取消、独占和结果落盘继续由原进程 owner 管理;浏览、版本切换和语言切换仍只是读取。方法、原生收益和判断校准的边界沿用已有合同。读者的普通任务是理解新证据怎样改变结论,准备已知标识由 Agent 完成;已有意图和权限下不增加准备或确认轮次,查看详情及上一版属于可选导航。

具体改动

规范基准为 docs/reference/trajectory-assessment.md,不可变 revision b9e60c59f3c367a63755d97f4595d9c2eef91947;先读已有合同再读 diff。目标 main 13813cfb7d83c393c9e0912161fe9c2a05542272 的相关合同与实际 merge base 相同。本 PR 新增说明是行为披露,不是自行修改后用来认证自己的规范。逐项映射:

  • TA-FROZEN:完整固定输入、配置及当前 manifest 绑定身份;关联写入新包,旧记录不改写。
  • TA-DENOMINATOR:每个新适用项恰好一行,unknown 留在分母;完整新版归约,重叠窗口不相加。
  • TA-EXPLICIT:登记与读取零模型执行;原锁、取消和显式 retry 保留失败尝试。
  • TA-SOURCE:来源哈希/原文/引用范围与 owner 仍由原接口验证;来源失效不冒充当前。
  • TA-JOURNEY:同一个 Goal reader 完成选择、结果、上一版、原文与失败恢复;语言独立缓存。
  • TA-SCIENCE:模型判断仍未校准,不升级成科学结论、原生分数或额外研究预算。

关键代码讲解

  • compareTrajectoryAssessments 位于既有 TypeScript owner。它先重建输入/配置并核验旧输出,拒绝跨 Goal/case/run;比较字面证据而非摘要,实质变化列出完整新版片段,判断差异及分母仍调用现有资格检查和 reducer。
  • register_pack 只增加可选基础包关系并进入原不可变身份。CLI 的 --base-pack-id 传到同一 store,没有 renderer 任意路径登记接口。
  • _continuation 只读取一个明确基础版本,不递归加载整个历史。旧记录、结果或来源不可用时不能证明可复用,同时不会删除独立有效的新结果。discover 另保留历史不可读提示。
  • execute 的复用分支仍在原独占锁内,对完整输出按新 manifest 再资格检查,写入原格式结果和复用来源;原用量留在原 job,未累计为新成本,也未启动模型子进程。普通实质变化仍走原执行、取消和失败恢复路径。
  • AnalysisContinuation 复用现有阅读器控制器。首层只给版本摘要和上一版入口,具体差异按需展开,当前/旧版覆盖和判断变化不混在一起。模型配置、成本与方法继续在既有详情里。

其余改动为既有类型和 lazy dispatch、两份合同披露、四个已有测试/浏览器载体及两张公开安全的合成展示图。没有新增设置页、provider、调度器、权限 owner 或新的评分语义。相邻整理已落在无 IO 的小 helper 和单基础版本读取,未扩大到自动划分研究片段或部分结果拼接。

对主干的风险

最强反例是旧判读在新增证据后继续被当成当前,或只有比较 helper 通过而 CLI 丢失版本关联。当前独立反例分别检查文本、路径/行位置、问题、适用项、窗口、取样和模型配置等19种边界;相同证据的捕获元数据/顺序变化允许复用,而实质变化必须完整复核。另通过真实 CLI 登记、独立读取和重放核对关联:私有副本仅丢掉 CLI 基础参数后,明确失败于“版本关联丢失”;原 head 通过。源码未被该私有变异修改。

未声明基础版本的全量准备、登记、发现和读取数据,与不可变基线逐字相同,包含 omitted、zh、en 三种完整模型提示/配置/身份。真实文件、临时子进程和生产 HTTP 的 34 项 Python 测试通过、0 跳过;TypeScript 11 项通过,包括反证翻转、完整分母、跨 run 拒绝和等价复用。控制面 typecheck、Chat 打包、Ruff 与仓库配置的17文件 mypy 通过。风险 premerge 的 6项直接检查、19项选中检查均通过,整体仍为 manual_review_required:benchmark-sensitive 的人工合并门没有被绿色测试取消。CI 按当前 wait_for_ci=false 未查询或等待。

我另以当前打包页面连接真实隔离 ChatHTTPServer、实际文件 store 和 typed owner;只有模型输出由确定性的合成子进程替代。桌面及390px无横向溢出,键盘切换上一版、Back、刷新、中英结果和精确原文均读回。基础包暂时缺失时显示警告且保留新版结果,恢复后读取即可回到版本摘要;浏览期间分析写入为零。四次普通工作区自动空会话写入被 fixture 拒绝,未算作模型或分析执行。截图是合成产品读回,不是线上私有研究、正式安装或模型质量证明。

仍有明确限制:可信准备方必须提供完整新版证据及预先声明的适用项;引用存在不能证明推论正确。本次更新另把复用输出收敛到模型原始输出字段,并使“复用”帮助明确说明没有模型调用。旧538版本的其余行为证据经四路径完整差异和调用者核对保留原修订;当前版本重跑完整34项/11项、真实 CLI/语义反例、打包与 premerge,并单独核验实际未执行等价包的帮助。此测试没有运行真实模型、solver、judge 或研究实验,不能证明翻译质量、科学效果、净人工时间或 token 节省;磁盘恶意写入者也不属于原合作式 provider 保证。私有验证起初提供了不一致的 exhaustive population,产品正确拒绝,随后修正测试输入,原失败保留;没有降低完整分母条件。

必跑前端命令 node apps/presentation/dashboard/src/features/personal-workspace/personal-workspace-contract.test.mjs 保留既存红项:实际不可变基线和当前 head 都 exit7,line378 的 Goal display name 断言相同,完整 stderr 仅替换 checkout 根路径后逐字一致。测试和被断言的 src/views/dashboard-page.tsx blob 未变,当前分析路径另有独立真实后端/打包 UI 覆盖。因此按当前能力合同归因为 pre_existing_unrelated,保留前端质量/合并限制,不改测试、不宣称已修复或全部前端通过。

语义与 CI 对齐

新增接口复用现有 TrajectoryInput、metric、verdict 和语言类型。base_pack_id 是明确准备意图,comparison 是派生结果,reused_from_analysis_key 是实际执行来源;三者没有被说成科学收益或跨主体权限。scope/key/source 的拒绝是强制校验,解释性限制则保留其说明性质。既有模型提示没有被压缩或丢失旧义务,未链接时完整内容相同;新说明公开交代完整复核、显式触发、原用量和停止/恢复边界。

我的整体评价

结论 APPROVE,是现有研究分析 owner 上完整可用的保守接续增量。复用既有输入、资格检查、进程和阅读器,只增加有界比较与明确版本关联;完整复核是当前可证明的保守策略。 当前 PR 的边界是可用的版本接续和读回,不扩展评分、执行权限、调度或科学结论。 long_horizon 的可验证改进是历史保留、同源资格和后续修正可读;user_experience 的改进是原入口内完成版本理解和恢复,不把已知技术准备交回读者。它没有用“更少字节”“更多测试”来替代科学或长期收益验收。

没有发现剩余阻塞性缺陷。保留这55行 typed 比较及原 store/UI 扩展有实际调用者,UI-only 链接不足以解决错误复用,另造工作流则增加维护成本。旧版和未指定语言的兼容有真实持久输入依据;没有无调用者的协议分支。正式安装采用、独立校准与真实研究总成本仍沿原 owner 继续,不用本评审关闭父目标。公开 review、旧阻塞收口、精确 head readiness 和明确 merge 授权仍分开;本记录不执行合并,也不撤回其他人的有效异议。

English verdict: APPROVE — head 8e3834597944ec89e904c0eed2ffa7a4e365d8e6. The complete PR adds source-bound immutable continuation through the existing assessment, process and Goal reader. Substantive changes reassess the complete successor; only equivalent qualified evidence/configuration reuses judgments without a new model child. Independent legacy parity, semantic counterexamples, real CLI mutation,34 Python/11 TypeScript tests and actual packaged backend/UI recovery passed. Six direct and19 selected automatic checks passed; the benchmark manual hold, merge authority, installed adoption and independent scientific/model qualification remain separate. The unrelated required frontend contract remains base/head exit7 with identical complete normalized diagnostics and unchanged causal blobs; its quality/merge hold is retained. CI was not consulted.

@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)

动机

研究者在同一个实际实验 Goal 中查看既有分析,随后收到新增或更正的研究记录。

原流程只缓存相同输入的结果;换一批证据后,使用者必须自己辨认版本并比较旧结论。现在同一入口显式接续,展示新增证据、完整新版指标及旧判断的变化,并可返回上一版。

可验证的交付是版本接续、完整分母和历史回看;等价证据可零模型调用复用,实质变化会复核完整新版。

本 PR 不改变求解实验、评分、调度预算或来源权限,也不证明模型判读已独立校准或研究产生了额外收益。

正式安装采用与真实研究上的效果仍须在交付后分别核验;整个研究工作区和其他遗留任务不会因本 PR 自动完成。

改动思路

比较属于现有分析器的纯 TypeScript 决策;持久化和进程属于原 Python provider,前端仅消费版本投影。基础版本是策展者的明确意图,差异和复用资格由固定证据计算,不另建状态权威。

这一 PR 同时交付现有 CLI 的基础版本声明、完整新版资格检查、原执行/恢复路径和已打包前端;不引入尾部增量模型策略或独立评分器。

原入口中的状态 本版行为
未声明基础版本 保留原身份、缓存和完整分析路径
新增、更正、删除证据,或范围/配置改变 显式执行后复核完整新版,包括旧片段;旧新指标不相加
所选原文、问题、适用项、范围和配置完全等价 重新资格检查并绑定本版引用,不启动模型
基础版本暂不可读 显示缺口;有效新版仍可独立读取和分析

这张表说明当前 head 的源码分支,不代替执行证据。模型原提示与评分规则保持同一个 owner;这里没有把旧总结当成新的原始证据。用户仍从原 Goal 的同一分析入口操作,Agent 用既有 CLI 准备已知来源,不增加内部 ID 表单或确认轮次。

具体改动

依据修改前的 docs/reference/trajectory-assessment.md,固定版本 b9e60c59f3c367a63755d97f4595d9c2eef91947,逐项判断:Coverage and interpretation 已实现,完整适用分母保留 unknown,反证可改变旧判断;Producer and consumer boundary 已实现,固定源、方法和配置绑定身份;Goal workspace reader 已实现,浏览零模型调用,显式取消/失败/重试和上一版读回均有真实隔离 HTTP 与打包浏览器证据。新增接续文档是本次合同扩展,不能反过来作为独立验收依据。

关键代码讲解

  1. compareTrajectoryAssessments 对两版输入复用既有 prepare/qualify,核对 Goal/case/run,再比较所有所选证据和适用项。捕获文件其他字节变化不被当作新信息;实质变化不走标签拼接,而是复核完整新版。
  2. register_pack 将明确的基础版本纳入新包身份,原 CLI dispatch 传递 --base-pack-id。它只登记,不启动作业;跨 owner/run 拒绝,缺省参数保持原身份。真实 dispatch 中故意丢掉参数时,独立持久化读回断言失败。
  3. _continuation 只读一个明确的基础版本,禁止递归载入历史。基础来源不可读不能证明复用;基础包损坏也不会覆盖或封锁当前有效结果。
  4. execute 在原文件锁、缓存、进程、取消及重试 owner 内重新核对请求。等价分支只保存输出 schema 字段,重新归约完整本版结果,并记录旧分析 key;原模型用量留在上一版,不重复计费展示。
  5. useResearchAnalysis 保持原 source/pack/language 代际隔离与历史导航。版本摘要显示非零变化,细节与旧判断变化按需展开;上一版、Back、刷新、键盘焦点和390px布局均走现有 reader。

16个路径共544增17删,包含4个验证路径、2份说明和2张公开安全的合成打包截图。已应用一次有界简化:复用输出只留规定字段,并统一“无新增模型调用”的帮助与用量说明。没有新增调度器、设置页或第二套资格 owner。

对主干的风险

最危险的回归是后续反证已经改变原问题,却误复用旧标签。完整结构比较、固定来源和原 qualify 共同保护该边界:新/更正/删除、目标、窗口、取样、eligibility、模型和语言变化都不能被忽略;旧版仍能单独回看。真实临时子进程验证了并发 busy、取消、失败、显式 attempt3 重试及基础包丢失恢复;没有在线求解器或付费模型用于这些工程测试。

健康的未声明基础版本流程在固定基线与精确 head 上具有相同完整归一化观察,指纹 baa156114dc657fe15ee0b453bef7912cf3d64adb5d8f92e0f7610fa6a6ea44a。只排除了开始时钟和运行秒数,不归一化任何判断、错误或状态。另有一项明确默认错误路径变化:旧目录中一个包丢失会导致整份目录失败,现在保留其余有效包并报告 unreadable IDs;基线失败与新版恢复分别执行过,不能称为全部字节一致。

11项 TS、34项 provider/store/HTTP、类型检查、打包、Ruff/mypy、中英/窄屏/键盘/Back 的完整浏览器场景通过。最终 head 的6项 direct+4项 quick premerge通过;此前同实现19项 standard结果保留。benchmark-sensitive 人工 hold 由本评审逐项覆盖,后续新鲜 merge-readiness 仍是独立条件。按 Goal 的 wait_for_ci=false 没有查询或等待 CI。测试夹具曾在切英文后仍用中文 region 定位,已修正定位并重跑完整场景;没有删断言或放松产品条件。

语义与 CI 对齐

复用既有 benchmark-toolkit,扩展其明确基础版本及派生比较词汇。源权限、结构和显式执行是机器检查;帮助与方法解释是说明,不产生新的全局工作义务。模型原文提示、求解评分和预算均未变。语义 advisory 覆盖新增 TS 源文件;它未识别到闭集载体不等于没有语义,本评审仍检查了新增字段、调用者与 handler 注册。

我的整体评价

结论 APPROVE,精确 head 8e3834597944ec89e904c0eed2ffa7a4e365d8e6。long_horizon 与 user_experience 的工程路径均改善:多版证据能接续、失败不吞旧结果、等价内容不重复模型调用,同一 Goal 内读回无需新设置或重复确认。比较是纯决策,存储/进程保持原 owner,前端是投影;本次范围和代码量相称,保留旧持久化格式有真实升级读者依据。

这是 justified_increment,正式 App 的真实研究使用会在正常合并安装后继续验证;模型独立校准、总研究成本和实际研究收益仍未证明。完整重分析可能和新分析花费相近 token,因此不宣称尾部增量算法或额外科研收益。更晚的 main 只涉及独立 heartbeat/public-source 路径,未改变这16个路径或受测调用链;旧固定基线证据经失效检查继续适用。质量回执 cqr_2ef6f6da366e3b411121 有效。当前无未解决的阻断发现;APPROVE 本身不授予合并或安装权限。

English verdict: APPROVE — 8e3834597944ec89e904c0eed2ffa7a4e365d8e6. Versioned continuation reuses the existing typed qualifier and job owner, preserves complete current eligibility and prior results, and executes only explicitly. Exact-head local, packaged, negative/recovery, immutable baseline and real-CLI mutation evidence passed. Partial catalog corruption recovery is intentional; model calibration, installed adoption and scientific benefit remain separate qualifications.

@loopx-agent
loopx-agent merged commit 4560a74 into main Oct 20, 2026
32 of 44 checks passed
@loopx-agent
loopx-agent deleted the codex/research-analysis-incremental-20261021 branch October 20, 2026 21:40
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