Skip to content

test(context): preserve exact numbers in acceptance references - #7633

Merged
huangruiteng merged 1 commit into
mainfrom
codex/acceptance-reference-parity
Oct 29, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/acceptance-reference-parity

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

验收合同的引用共享必须保留完整原始 JSON:1/1.0、负零、布尔值和相邻大整数不能因跨语言比较而被错误合并;后续完全相同的合同仍应复用正确的字面来源。

在现有两条投影入口补充 10 个参数组合,检查数值与原对象不变、不同合同保留正文、后续精确副本引用正确来源,以及重复投影稳定。本 PR 仅增加一个测试文件的 24 行,直接面向 main,不依赖 #7430、#7627 或 #7628,也不改变运行时行为。

验证:相关两个模块 116 passed,含既有真实 File/SQLite quota 入口用例;Ruff、diff 检查和标准 premerge 通过(3 项 catalog canary,无失败)。未运行远端 CI 或模型任务。

这是 C1 数值完整性的一项可独立合入的保护。后续 TypeScript 投影迁移需要复用这组原始数值与断言;本 PR 的通过不代表该迁移、安装采用或长程效果已经验收。

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

维护验收条件引用传输的开发者,在多个位置含有看似相等、原始 JSON 数值不同的条件时修改共享比较逻辑。旧测试没有覆盖 1 与 1.0 等数值在多个来源之间的误共享;本测试要求不同来源保持字面值,并允许第三份相同内容引用后出现的正确来源。两个现有投影入口均通过十组参数化检查;刻意引入数值有损比较后,这十组检查全部拒绝错误引用。这次只增加既有文件内的回归保护,不修改运行时、默认策略、权限或差分编码,也不宣称证明模型保留或长期成本收益。

改动思路 / Approach

检查了实际比较 owner 和压缩入口:同一内容的验收条件可以用引用减少重复,但“看似数值相等”不足以证明原始 JSON 相同。测试把左值放在第一来源、右值放在第二和第三来源,要求第二来源完整保留,第三来源引用第二来源。直接复用既有 packet fixture 和两条真实 Python 投影,比再建一个 smoke 或比较抽象更合适;输入不变和重复调用不变也属于同一边界。

具体改动 / Changes

审查 head 7f9c0a0a7aaf15c2356c33d2b8e06693825979c1,实际 merge base ee7b65f124f5f461b3e5f9f6fb45eae0e6c317f4。只有 tests/control_plane/test_quota_acceptance_references.py 增加 24 行;生产代码、依赖和协议都没有变化。

关键内容讲解

新测试覆盖 (1, 1.0)、(False, 0)、(-0.0, 0)、相邻的 2**60 大整数,以及整数/浮点表示,逐一走 _reference_inline_goal_acceptance 和 compact_quota_should_run_cli_payload。断言比较原始 JSON 表示和完整引用路径,避免 Python 的相等运算自己掩盖 false/0 等区别;同时断言原输入未改、投影幂等。

规格依据为 docs/reference/required-work-context.md,固定 revision ee7b65f124f5f461b3e5f9f6fb45eae0e6c317f4。判据 Unknown horizon fields remain current input.:implemented;未来字段中的数值仍是当前原始输入,不能因为精度或类型折叠变成另一来源。已读实现的 json.dumps(..., allow_nan=False) 比较与这一要求一致。现有诊断数值测试覆盖单份值保真,这里补的是多个来源之间的正确复用和后出现 owner,具有独立价值。

对主干的风险 / Risks

没有阻塞发现。PASS:两个模块合计 31 passed,包含既有真实 File/SQLite CLI 路径;Ruff 通过;以实际 base 执行 standard premerge,通过全部 direct checks 和三项选定 canary。没有查询、等待或据以推断 GitHub CI。

另做私有进程内 mutation,只把既有比较键改为双精度数值并归一化零,保留全部测试断言:真实 head 十组通过,有损比较十组全部被拒绝。最初只转 float 的 mutation 被八组拒绝、仍保留负零区别;该结果保留,第二次明确增加零归一化,未降低测试要求。mutation 没有修改任何 tracked 文件。这说明测试能暴露具体错误,而非只复述当前成功输出。

我的整体评价 / Verdict

这项独立的测试保护已达到其有界目标。long_horizon 为 preserved:保护后续多轮传输中的原始要求,当前运行行为不变。user_experience 为 not_applicable:检查了实际 CLI 投影链,测试变更没有增加用户填写、确认或恢复步骤。可视审查 not_applicable,唯一测试文件未改 rendered presentation;未验证范围是安装态和模型效用,没有新增界面。

当前完整队列和相邻覆盖扫描未发现同作者重复 smoke 批量堆叠;这 24 行适合保留在现有模块,无需再增框架或任务。批准只针对该 head 的回归保护;不证明另一路 saved-file 差分已经修复,也不授予合并权限。

English verdict: APPROVE — 7f9c0a0a7aaf15c2356c33d2b8e06693825979c1 adds mutation-sensitive exact-number coverage; 31 tests, Ruff and standard premerge pass.

@huangruiteng
huangruiteng merged commit 2a23237 into main Oct 29, 2026
26 of 34 checks passed
@huangruiteng
huangruiteng deleted the codex/acceptance-reference-parity branch October 29, 2026 07:46
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