Skip to content

fix(context): keep saved projections independent of Goal discovery - #7990

Merged
huangruiteng merged 3 commits into
mainfrom
codex/capture-route-20261103-120045
Nov 3, 2026
Merged

huangruiteng merged 3 commits into
mainfrom
codex/capture-route-20261103-120045

Conversation

@loopx-agent

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

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

已保存的 quota 捕获在关闭 native transport 后,只需校验原文件和身份即可呈现。此前 context-project 仍先发现 Goal registry:新旧默认 runtime 同时有状态时,它被目录冲突拒绝,尽管相同文件的 context-read 可以成功。

本改动将 context-project 纳入现有 saved-view 路由分支,交还给原捕获 owner 校验文件、digest、Goal/Agent/Turn。机器配置仍通过原 owner 读取;未明确关闭 transport 时,配置目录歧义仍拒绝。实时 should-run / spend-slot 的 authority 冲突保护保持不变。

同时修复阻断本提案验收的旧 CLI 测试:当前已发布的 endpoint vocabulary 包含 Antigravity,原测试仍只接受 Codex/DSH。现在以一张独立 fixture 表验证三种已支持端点的 normalization、未知端点拒绝、Chat 导入隔离和兼容导出;没有增加或修改生产端点、默认值或配置规则。

  • Outcome basis: 可复现的实际 CLI 恢复缺陷及已定位的过期验收断言。
  • Integrated/tested source: main at 1dc98eb8739777a65102e18553658dc70e0f0044;资格化 PR base 为 main at 44337e3cb5cbe3e1621550e1fe741853ba5b5a45,四个改动路径均无 target 增量。
  • Written by: OpenAI Codex(model agent)。

Implemented against

Criterion Disposition Owner / evidence
原捕获无 Goal authority IO 的呈现与读回合同 implemented project_saved_context_capture / resolve_cli_registry;真实 subprocess 与返回的原 reader 命令
原 digest、来源、Goal/Agent/Turn 拒绝与只读边界 implemented 现有 capture owner;错误输入、整数/UTF-8 内容及完整 runtime snapshot
machine defaults 与 live authority 独立路由 implemented 保留现有 owner;omitted/on 及业务命令的目录冲突反例
读取已支持 endpoint vocabulary 不加载聊天层 implemented steward_executor.machine_defaults,基于已集成 main 的现有三端点合同;normalization、未知值拒绝和兼容导出检查

Scope And Continuation

四个路径构成完整可逆修复:公共 CLI 路由、现有恢复集成测试、现有入口测试和 self-repair 诊断表。复用现有分支及 fixture,不新增 capability、schema、配置或恢复器。Python 仍只承担既有参数/IO 路由职责;测试把重复的旧预期收敛到独立 fixture 表,无需生产重构或语言迁移。

本提案已补齐作者实现与当前本地验收;独立评审、必检 CI 与精确 head 的合并资格仍分开处理。整体质量工作保持开放,C1 统一工作契约沿 #7430 的原 owner 推进。没有 UI 改动,不声明宿主安装采用、模型收益或长期成本改善。

Current Required CI

当前 head 1458b13b2c11fe3e7e657ebaf7616c5ccf1e9074 的必检 CI 未通过,此前的本地资格化不能代替它。

  • Kernel static run:tests/test_lark_private_conversations.py 两个 imported pytest fixture 参数触发 Ruff F811。未改动的目标 main at 6a6a8590e09822b254ae615fd4b64c9e047508f1 用相同 Ruff 命令也复现这两处错误;已有独立修复 #7991,本提案不重复修改 fixture。
  • Release artifact run:现有 personal-workspace-contract.test.mjs 在 worker status flex layout 断言处失败。同一未改动目标 main 复现该断言:组件仍使用状态行,而 #7964 移除了基础布局规则。应恢复产品布局并保留原检查;本提案四个路径均不涉及该 CSS。

上述归因是失败检查及干净目标分支的可重复结果,不代表修复已合入、CI 已恢复或当前 head 获得合并资格。CI 的下游 skipped/aggregate failure 也不计作独立测试通过或新的根因。本地复现环境是 Python 3.14 / Node 24.21;线上 Python 3.11 的通过结果仍须由实际 CI 提供。

Validation

  • Tested revision: 1458b13b2c11fe3e7e657ebaf7616c5ccf1e9074
  • Run state: finished
  • Input classes: synthetic, public_fixture
Check kind Result Public-safe evidence / limitation
regression_parity passed 原路由修复前的新回归为 4 failed / 2 显式 registry 对照 passed。endpoint 修复前,干净的已集成 head 2ad9e332a854619ce44efd0c37efb58520c30c3f 完整 CLI 套件仍为 112 passed / 1 旧断言 failed。原失败保留,没有豁免或改写历史资格。
integration passed uv run --extra test python -m pytest -q tests/test_cli_entrypoint.py tests/control_plane/test_context_capture_registry_independence.py:134 passed,包含完整 113 项 CLI 套件及 21 项恢复检查。三种已支持端点逐一读回、未知端点拒绝和原导入隔离均保留。
real_entrypoint passed 当前 head 正常构建并安装非 editable wheel,在 checkout 外通过 console、loopx.entrypoint、loopx.cli 完成 9 组投影/未改写 reader 命令读回、27 个来源/身份反例与 3 个 live admission 拒绝。capture/runtime 文件不变,8 个相关生产文件与当前 Git 同字节。
static passed 三个 Python 路径 Ruff;配置内 17 模块 strict mypy;四个路径 public scan 零 error/warning;diff semantic advisory 无支持的新 carrier;staged bilingual、whitespace 检查。没有 RFC pair 变更。
integration passed CQR cqr_f51255f9173584f65367,绑定本 head / 资格化 main 44337e3cb5 / 四路径,pass 且 verify valid;一次 bounded safe-fix 修复过期测试。旧 ad14485 的失败 CQR 保留,不追认为通过。

当前 wheel 首次构建因同步 main 后生成资源失效而失败,随后按正常 Chat bundle 构建流程重建并通过;没有绕过打包校验。此前 ad14485 上的相邻四模块 75 passed / 8 optional native skipped 是旧 head 的单独记录,不与本次 134 合并计算。此次没有启动模型实验;更广的宿主采用、Windows 与长期效果资格仍保留其原边界。

Frontend / Visual Evidence

UI impact: none。现有 CLI 与捕获恢复入口,没有页面或视觉交互变化。

Boundary Checklist

  • 四个公开路径及本文无私有 Goal 状态、凭据、原始运行记录、内部链接或本机绝对路径。
  • 合成 fixture;没有 benchmark、真实模型调用或活跃状态修复。
  • scoped author delivery;没有 RFC pair 变更。
  • 所有 PR commits 均有 DCO sign-off;独立评审、必检 CI、CQR 和显式合并权限保持各自门禁。

最终 standard premerge:6 direct checks 全部通过;5 个 selected checks 已执行,保留 1 项 owner 明确标注的 inherited maintainability advisory(原 raw exit 1,未触及的 oversized render_canonical_todo_sections,零 magnitude regression)。无 blocking failure 或 manual hold;该本地门禁通过,仍不授予 self-merge 权限。

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

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

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

动机 / Motivation

精确审查 #7990@1458b13b2c11fe3e7e657ebaf7616c5ccf1e9074,对照 immutable merge-base 1dc98eb8739777a65102e18553658dc70e0f0044,核验 target main 44337e3cb5cbe3e1621550e1fe741853ba5b5a45。离线 context-project 在读取合法旧捕获前进入当前 Goal 路由发现,隐式或全局 registry 遇到冲突 runtime roots 就提前失败。

受影响调用方:Operators reading an existing digest-bound context capture through either shipped CLI module.

两个真实 CLI 入口在 implicit、missing、global registry 下都能完成 native-context=off 的旧捕获投影及返回 reader 的 quota 参数读回;原摘要、身份与源文件字节不变。

非目标:不修复 live Goal 状态、不绕过 machine configuration 或 live admission、不改 source/session 完整性规则、不安装或升级运行时。

剩余缺口:真实安装态与长程效用尚未验证;四项既有 heartbeat 测试失败、两项既有 Ruff F811 和旧 head 的失败记录不改写,合并就绪另判。

改动思路 / Approach

在既有 resolve_cli_registry 分类中补齐已有 saved-view 命令;复用原机器配置与捕获校验 owner,避免新增 fallback 或第二个配置来源。

本 PR 只交付已有 saved-view 的路由解耦;native-context=off 可离线读取,省略/on 仍由原 machine-configuration owner 决定。

复用了现有 caller、typed owner 和错误/重试边界;没有新增持久状态、scope/config owner 或迁移。局部重构已包含于同一边界;跨进程缓存、实时状态修复和独立 UI 都不属于本次交付。

具体改动 / Changes

resolve_cli_registry; saved_projection_goal_route_coupling; test_saved_projection_without_native_transport。

独立规范:docs/reference/required-work-context.md,revision 1dc98eb8739777a65102e18553658dc70e0f0044。逐项验收:Saved context cache;Selected capture details / 按需读取捕获详情。off 无 cache/准入/扣额,读取继续拒绝错摘要和身份。

独立验证:同条件四模块当前 head150通过/4失败,当前 immutable base139通过/5失败;剩余四个 heartbeat failure block 仅规范化 checkout/TMP 路径后相同,原 endpoint 失败在新 head 已修复。 独立六种实际 CLI 子进程路线 head6通过;base implicit/global×两个入口4次因 runtime-root 冲突失败、missing×两个入口2次通过。head 将返回 reader 的 quota 参数经同一测试模块入口读回(未验证原样 launcher),完整恢复 Unicode stop 与9007199254740993,原摘要和两组 runtime/file snapshots 不变。

负例:当前21项 registry-independence 模块已包含在当前通过项中,覆盖两个入口×三个 selector、错误 digest/Goal/Agent/Turn/缺失 source、off 不创建缓存、on/省略仍拒绝 machine-configuration root 冲突,以及 live should-run/spend 拒绝冲突。

对主干的风险 / Risks

本地 standard premerge PASS。四模块仍保留4项 File/SQLite heartbeat 旧夹具失败:非 thin 路线被既有 capture-root guard 拒绝,四个完整 failure block 仅规范化临时目录后相同,heartbeat 测试及 guard 的 base/head blob 相同。原 endpoint 断言已修复:独立 fixture 表逐一验证三端点 normalization、未知值拒绝、Chat 导入隔离和原兼容导出;未改生产端点/默认值。完整 CI Ruff 命令另有2项既有 F811 失败,与 base 全文相同,均在未改动的 Lark 测试文件。作者报告新 CQR pass/verify,仍仅作作者证据,旧失败保留。

两边 raw maintainability ratchet 也都 FAIL,完整输出与 formatter blob 相同:render_canonical_todo_sections oversized、magnitude_regressions=0;native gate 将其列为 inherited advisory,未将单项 smoke 标成通过。没有把一次成功、作者计时或测试数量当成生产性能、安装态 adoption 或真实模型效果。

CI 未查询、轮询或等待,状态未知。未知 CI 不单独阻塞有独立证据的 approve;当前回归、必要覆盖、合并就绪与权限仍分开判断。

我的整体评价 / Verdict

当前 exact head 没有验证出的 blocking finding,交付边界完整且可回滚,结论 APPROVE。本条是 author-owned 的 COMMENTED approval conclusion;合并需另取该 head 的 readiness,且本次没有合并授权或执行。

English verdict: APPROVE — the bounded caller fix is independently validated; unchanged baseline failures and merge-readiness holds remain explicit.

@huangruiteng
huangruiteng merged commit 94cf634 into main Nov 3, 2026
21 of 27 checks passed
@huangruiteng
huangruiteng deleted the codex/capture-route-20261103-120045 branch November 3, 2026 14:38
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