Skip to content

C1: unify work sources and validate recovery - #8266

Open
loopx-agent wants to merge 2 commits into
mainfrom
codex/c1-work-contract-review-20261107
Open

loopx-agent wants to merge 2 commits into
mainfrom
codex/c1-work-contract-review-20261107

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

在 #8265 回滚 #7430 后,从实际主干 2659e5f70c8a8ba6c23f7588151ea5c06576ef69 重新提交 C1。回滚后主干与 #7430 合入前逐字相同,保留已落地的 #8208 和 #8161。

当前作者 head 144c7d172ae08a544fea43dc9404cd88042d7ee8。重新应用原 C1,保留双语实验账本,并补两处恢复测试。测试从保存的 journal 工作契约和实际渐进读回命令读取,保留崩溃边界、损坏拒绝、原 capture 和一次结算断言。

当前源码树与本地验证树逐字一致。scheduler、历史、capture、结算、中断恢复和 Goal 验收组 582 项通过,隔离 Docker 用例跳过一项。另用真实 quota CLI 和确定性 Host 验证,C1 拒绝篡改决定后保留原恢复阶段,收到有效决定后沿同一会话继续。安装态、模型整题和完整成本继续开放。新提交进入独立复审和合并门禁。

原 C1 范围与既有证据

本提案使 quota、Turn/Host、capture、journal 与恢复消费同一份完整 work_contract,复用既有 TypeScript 决策与结算 owner。progressive 和已验证字段复用沿实际调用链推进,受支持历史保留原版本、身份和一次效果边界。整体 C1 验收继续开放。

原 #7430 作者 head a4b78b424a38a3f877861f4a419296fcdb856b9a 已集成实际 main 44376963f8adb310f5f96d9407720a447c3b330e。本轮作者补丁把旧偏好测试改接生产 Host 请求构造入口。普通 turn plan 仍只供检查。File/SQLite 覆盖偏好读回、正文篡改拒绝、差分恢复和独立 scope,保留存储损坏时的缓存丢弃及依赖动作策略。

  • 相同集成基线的偏好测试为 3 通过、5 失败,原因是把预览当成 Host 请求。候选偏好、完整决定和首读组 173 通过,Host 请求、捕获和入口组 177 通过。首连 smoke、配对 RFC 检查、Ruff 和公开边界检查通过。
  • 独立预览导入检查仍因提前加载 loopx.extensions.process_runtime 失败,由 #8218 跟进。快速预合并的 7 项直接检查和 4 项选择检查均通过,仍有 quality_receipt_missing、benchmark-sensitive 人工门和当前 head 独立复审。整题成本与安装验收仍待补齐。
  • 相对最新 main 仍是 215 个文件,+19,441/−2,243。实际采用 #8211 后再同步并读回收敛规模。双语实验记录随本 PR。

上一轮作者 head 8e0a4799ce05935fd555e80b30df78f0973f9d1c,已集成实际 main 79665b97a0a453380da02e15b1b62eee895147df(#8234,保留已有项目结果供只读复核,避免重放工作)。无冲突合并的三个相关源码模块 229 passed、共享绑定 TypeScript 61 passed;以下渐进首读修复另按准确候选验证。

已就绪的 C1 首读只展示有序计划中的一条合并写回命令。仅当备用列表与该原效果的计划逐字相同,才省去重复展示;扣额仍由运行时执行并返回回执。未知版本、另一效果、不同备用命令或意外的手动扣额命令继续展示。原 capture、直接输出、完整前提和精确补读保持。普通 quota 的两条手动命令版本单独提为 #8238。

  • File/SQLite 实际 C1 v2 入口的重复命令用例在集成基线失败,修复后通过;同一固定合成 capture 上源码和隔离安装选择相同,其余所选内容逐字一致。四个当前上下文源码模块 187 passed,隔离安装四模块(包含新 main 的结果读取路径) 315 passed,上下文 TypeScript 58 passed、类型检查和改动 Ruff 通过。
  • 本 head 的 quick premerge 7 个直接、4 个选择检查机械通过,仍有一项人工审查。没有取得独立批准或合入资格。
  • 该轮 C1 diff 215 个文件,+19,390/−2,200。refactor(turn): unify plan, host input and recovery on one source #8211 保持原 head 供独立复审;相对于当前实际 main 做无写入合并预览后,与 C1 有 88 个逐字相同的变更文件。实际主干采用和同步前,C1 尚未因此缩小。早期双语实验仍放在一起。

前一轮作者 head c4ea4c31cbcbc6a5e22665796dda01876a0a6d2b 已包含本次实际 main ac62962255322cd80a5b701a4187c6f47bc17d8c。该轮运行时提交 18e2b692868e52c53fd9f890e0565f68f2a66b34 同步了独立切片 #8211 的 Host 执行规则:Codex 和 structured Host 在判断验收或提出关闭前读取已声明的审计;允许尝试、等待和交付的条件继续来自原契约,通知不授予执行权限,Core 仍负责外层效果。无审计声明时不增加读取义务。保留 C1 自己的普通 quota 迁移路径。

  • 相同三个 Host 模块一次完整源码运行和一次隔离安装运行各 519 passed,包括通知/执行边界的四个回归用例。首次安装校验为 517/2:测试目录漏拷贝已跟踪的 DSH 入口脚本。补齐脚本后用同一 wheel 和新测试环境重跑,产品代码未变。所有 1,815 个 Core 分发源及 24 个 provider 文件与提交匹配。
  • 该轮 head 的 quick premerge 7 个直接、4 个选择检查机械通过。总体仍有 quality_receipt_missing 和 benchmark-sensitive 人工复审,未取得合入资格。
  • 面向 main 的 #8211 已处理旧 head 的原生执行、普通 quota v0、验收审计及安装示例问题。该轮两个 head 有 89 个逐字相同的变更文件,其中 43 个在 Core 下。拆分需经独立复审、合入 main 并集成到 C1 才会缩小此处 diff。

前一轮 c3c1f86b 的修复把已绑定 Turn 的生成职责与模型职责分开:生产者已经写入具体时间戳后,提示不再要求模型换一个新唤醒时间戳。具体赋值、独立 guard、原身份、必读/恢复、传输 flags、停止和结算命令保持,未绑定模板保留原唤醒指引;共用原 binding owner,不增字段、开关或 reader。相同问题也已独立面向 main 提出 PR #8232。

  • 原四个真实 CLI 预算用例的路径、scope 和断言保持。长用例原始 JSON 从 5,519 降至 5,379 字符,正文少 139 字符,另少一个 JSON 转义字符。5,400 / 5,500 / 4,000 的各自上限和溢出负例不变。同条件 main 为 5,363;当时 C1 仍多 16 个原始 JSON 字符,这次修复不证明相对 main 的完整流程净节省。
  • 八个模式/宿主语法反事实在修复前失败、修复后通过。32 个实际 builder 对照中,16 个未绑定默认/off 输出逐字一致,16 个已绑定输入只移除生产者已履行的指令,其余命令和生成字段保持。Windows 语法为模拟,未声称 Windows 安装资格。
  • 一次完整、源码稳定的九模块回归 865 passed;一次完整隔离安装三模块回归 90 passed。保留原 worker 的选择、同 Turn 修复、捕获、重入、重放、一次写回与扣额断言。不是把上一版通过和局部复跑拼接:此前 193801b322 的 855/2、80/2 及 5,519 超预算原失败仍保留各自版本。
  • 该轮默认 17 个 Mypy 入口、改动 Ruff 和有限语义 advisory 通过。全部 1,816 个受跟踪产品源、1,815 个 Core 分发源、24 个可选 provider 文件与该轮提交、冻结实测及隔离安装逐字一致;五个已观测 Python 进程、1,179 个 Core 模块、六处子进程来源无已观测 checkout Core 导入。部分子进程覆盖审计环境,故不声称审计覆盖全部进程。模型和外部服务为合成 fixture。
  • c3c1f86b 的 quick 检查 7 个直接、4 个选择检查机械通过;总体仍因 quality_receipt_missing 和 benchmark_sensitive 人工门而 hold,未声称 ready、独立批准或合并。

前一运行时 c0020f47a 修复可见 Goal 的额外完整 capture 前置读取和 Host 验收审计触发:普通/off 不新增前提;required_reads、明确完整读取义务、原身份、恢复、flags、停止和结算保持。24 个同条件 builder 输入没有丢失 main 合法配置。完整 Codex/structured Host 只对已声明审计恢复“判断 Goal 验收或提出关闭前读取”的原触发,历史 renderer 十二例保持逐字一致。heartbeat 消费者迁移到完整来源和摘要校验的原 capture reader;refresh fixture 的实际 project cwd 修正保留,生产守卫未放宽。

更早 5091fb82a9 / main 9d276f6cb9 的 native/私聊两模块源码、正确安装可选 provider 后各一次完整 466 passed,首次 459/7 漏可选分发失败保留;da6779c0a 的 247 passed、a706379f70 的 357 passed、PostgreSQL 和科学成本证据也分别保留其原修订。未把它们重记为当前 head 全面通过。普通 quota v0 writer 和无调用方场景 builder 已删除,明确版本化历史 matrix 及受支持 writer/reader 保留,详见双语账本。

本轮只确认渐进首读中的重复命令减少、原计划可读及现有合成入口行为。真实 App/模型采用、原 quota 单会话整题成果和完整成本仍待验收;双会话另列。未启动模型或科学运行,未查询或手触远端 CI,未安装到活动环境、发布或合并。

This reverts commit 2659e5f.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Read the saved work contract and the progressive liveness fields through their current public recovery paths. Retain the original Turn, crash boundaries, semantic checks, corruption rejection, and no-replay oracles.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
@mergify

mergify Bot commented Nov 7, 2026

Copy link
Copy Markdown

This pull request has merge conflicts with main and cannot be merged
until they are resolved. Please rebase or merge the base branch, @loopx-agent.

Choose the remote for the base repository, not an out-of-date fork.
For a fork clone, first inspect git remote -v; upstream must point
to https://github.com/loopx-project/loopx.git. If it is absent, add it
with git remote add upstream https://github.com/loopx-project/loopx.git.
Then run:

git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEAD

For a same-repository clone whose origin points to
https://github.com/loopx-project/loopx.git, use origin instead of
upstream for fetch/rebase. If you prefer merging the base, use
git merge <base-remote>/main and push normally.

Keep the DCO Signed-off-by trailer on every commit when you rebase.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Nov 7, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-rebase Mergify: the pull request has merge conflicts with its base branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant