Skip to content

test(quota): read captured policy in lifecycle smokes - #8061

Merged
huangruiteng merged 1 commit into
mainfrom
codex/cli-acceptance-recovery-20261104-191400
Nov 5, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/cli-acceptance-recovery-20261104-191400

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

  • Outcome basis / optional anchor: 当前 quota-plan-smoke 的可复现失败。
  • Goal/source and gap: 四条 fixture 消费者把 quota should-run 返回的捕获导航当作完整决策,读取 quota / goal_id 时失败,后续预览、扣额、撤销的原断言无法执行。
  • Observable before → after: 复用现有 read_cli_policy_payload,校验并读取同次捕获的完整决策;四条路径在 SQLite / File 的 8 个场景从全部失败恢复为全部通过,完整 public smoke 通过。
  • Issue/task and intended base: 独立维护修复,目标 main;验证基点 886f2cdff4。

Author Declaration

  • Written by: model_agent — OpenAI Codex / GPT-6 family.

Implemented against

Criterion (spec clause) Disposition Symbol / path Test or command
额度耗尽时禁止自动执行,保留 scheduler / quota 事实 implemented assert_throttled_cli_should_run 完整 quota-plan smoke、两后端场景
预览不改变已用额度 implemented assert_dry_run_left_cli_fixture_unchanged 同上
实际扣额保留 Agent、账本与 registry 不变性 implemented assert_slot_spend_execute 同上
撤销恢复额度并保留原扣额来源 implemented assert_slot_void_execute 同上
  • Self-check before submission: 已读完整 diff、现有读取器及原断言;114 条 assertion AST 和 10 次 subprocess 调用 AST 均保持一致。没有新增配置、协议词汇或运行时规则。

Scope And Continuation

  • Completed scope and remaining work: 完成四条真实 CLI fixture 消费路径的读取适配;生产入口、参数、额度规则、原断言及 inline 结果解析保持。原 fixture 已使用 repository test support,本次复用其现有捕获读取器。
  • Slice boundary / successor: 此 fixture 修复可独立验证和回滚;完整仓库 CI、mypy 与其他 CLI 输出资格继续保留原工作,不以本次 smoke 通过关闭。无需新建后继任务。

Validation

  • Tested revision: f5f9d70e3320ce4c5eaf549aa8d0e8f8c9895f61,基点 886f2cdff4b2daad642f08f1b9bcffc0edf66359。
  • Run state: finished
  • Input classes: synthetic, public_fixture
Check kind Result Public-safe evidence / limitation
real_entrypoint passed uv run --extra test python examples/control_plane/quota-plan-smoke.py;原基点在首条 CLI quota 断言失败,修复后完整入口通过。
real_backend passed 复用四组原 CLI 断言,在 SQLite 3.53.1 临时库和隔离 File 后端运行:8 失败 → 8 通过;SQLite 场景与完整 smoke 重叠,不重复计数。
regression_parity passed 114 条 assertion AST、10 次 subprocess 调用 AST 与基点相同;原 CLI 参数和断言未改。
static passed 修改文件 Ruff、公开边界扫描、diff、Python compile、双语 RFC 检查通过。未修改 RFC。
integration passed 标准 premerge 的 5 项直接检查、5 项 catalog smoke、1 项边界检查均通过,包含完整 quota-plan 消费路径。
static failed 必检 uv run --extra test python -m mypy:17-source 检查在 task_orchestration_admission.py:110 报 no-any-return,继续阻塞。
integration blocked premerge 总门为 quality_invalid_receipt;严格 CQR 保存 fail,未豁免 mypy 或完整 CI。选中检查没有失败。
unit not_run 完整仓库 pytest 和远端集成 CI 未验证;不据此宣称可合并或已安装采用。
  • Coverage and gaps: 覆盖被修改的四个消费者、原有 quota / scheduler / 账本断言及两种实际后端。没有运行时行为变更;完整 CI 和目标分支后续集成仍待资格。

Frontend / Visual Evidence

  • UI impact: none
  • Before / After / First viewport and preview / States and viewports shown: N/A,source-validation fixture 变更。
  • Source data: none
  • Attention review / Craft review: N/A。

Type of Change

  • Test update

LoopX Area

  • Build, packaging, installer, or CI

Technical Direction

  • Direction / acceptance reference: 已有 quota 生命周期公开入口验收;不新增 roadmap 编号。

Shared-authority RFC fixture impact

N/A;不改变 authority provider、路由或兼容投影,不申报共享权威或 TS 迁移进展。

Boundary Checklist

  • Diff 和正文不含私有状态、凭据、原始轨迹、内部链接或本机路径。
  • 没有重复 maintainer-owned benchmark 工作。
  • 修复限定于上述 fixture 消费缺口。
  • 没有修改成对 RFC,双语差异检查通过。
  • UI impact 已标为 none。
  • 唯一提交包含 DCO Signed-off-by trailer。

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; declaration_source=runtime_reported; reasoning_effort=max.

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

动机 / Motivation

维护 quota 生命周期 smoke 的开发者和实际 premerge runner 遇到的是真实读取故障:默认 quota should-run 已返回 capture 导航,旧消费者却直接把导航当完整策略 JSON,第一次读取 quota 就失败,后续预览、扣额和撤销断言无法执行。本头让四个消费者沿同一次响应的原 reader 取得完整策略,恢复已有生命周期检查。独立不可变 base 复现失败,当前 head 的完整原 smoke 通过;这个切片交付的是可用的回归检查,不声称改善生产决策、模型理解或完整运行成本。必需类型检查仍失败,质量门没有被清除。

改动思路 / Approach

保留真实 CLI 调用、完整断言和原测试输入,只复用现有 read_cli_policy_payload。成功的 full/delta capture 通过本响应提供的 reader reference 校验并读取同一原始 capture;inline/off 或非成功输出保持原输入。这里是机器测试消费者读格式的适配,不能把机器展开完整 JSON 解释为模型已阅读或保留了全部上下文。

既有 reader 已承担 digest、当前来源和恢复文件的解析,另建 decoder 或在每个调用方复制条件判断没有价值。单文件 +7/-4,没有新框架、持久状态、配置或业务准入规则,也没有用关闭默认 capture 的方式绕过问题。preview/spend/void 的业务结果仍按原方式解析,只有它们之后的 should-run 策略读取复用 reader。

具体改动 / Changes

没有专门约定这项 fixture 修复的书面规格:spec_basis 为 no_spec,独立验收依据是原本就存在的生命周期断言及已复现的公共 smoke 故障。另先读不可变 base 886f2cdff4b2daad642f08f1b9bcffc0edf66359 的 Quota CLI Hot-Path Compaction v0,确认投影与原始来源的所有权边界;不把它的模型资格要求移植成 test-only 修复的新增任务。

关键代码讲解

  • run_cli_throttled_should_run 继续执行原 CLI,只把返回策略交给既有 reader,使原 throttle、额度与调度上下文断言可以继续执行。
  • run_cli_slot_preview 保留 preview 的原 JSON,只恢复其后 should-run 的完整策略;spend/void 两个消费者采用同一方式。
  • read_cli_policy_payload 是本 PR 未改的共享读取 owner。它只在成功且存在合法 capture 恢复信息时读取原文件,不以 delta 正文或旧缓存替代当前策略。

独立 AST 对照确认 114 个原断言、10 处子进程调用完全相同;整个生产 loopx Git tree 相同。四条真实消费者路径分别在 File/SQLite、capture 默认开启/显式关闭下运行:head 16/16 PASS;base 开启时 8 项因缺少策略字段失败,关闭时 8 项通过。首版私有汇总断言误把所有缺字段都预期为 quota,实际后三条先读取 goal_id;原失败及逐项结果保留,随后只按源码核对完整结果,没有重跑或弱化产品断言。

对主干的风险 / Risks

最强风险是 reader 返回了不属于本次调用的策略,或只让字段存在而跳过真正的生命周期。当前调用顺序未变,reader 和生产来源未改;spend/void 继续核对真实持久事件、索引、registry 不变及净额度,preview 继续核对无写入。完整 uv run --extra test python examples/control_plane/quota-plan-smoke.py:base FAIL KeyError: quota,head PASS。没有新增 dated fixture、复制 smoke 或放宽预算;相邻 #8052 处理 benchmark/ordinary 接收者,#8069 处理两个不同的预算文件,不能用它们的通过代替本次检查。

变更文件 Ruff PASS,标准 premerge 的 5 个直接检查和 6 个选择检查 PASS。必需 uv run --extra test python -m mypy 在 base 与当前 head 均于未改的 task_orchestration_admission.py:110 报 no-any-return;完整 208 字节 stdout 相同,因果源码、配置和实际生成的依赖锁相同。因此代码归因是既存无关失败,必需质量结论仍为 FAIL,当前 exact-scope CQR 也记录 FAIL。未查询、轮询或等待远端 CI,未运行实际模型、跨平台宿主或全量仓库测试。

我的整体评价 / Verdict

对 8061@f5f9d70e3320ce4c5eaf549aa8d0e8f8c9895f61 为 APPROVE,无当前改动的有效 blocker。这个维护任务的有用结果已经贯通真实 premerge 消费者,体量与恢复价值相称;最小整理就是复用已有 reader,不需要制造后续任务或新状态。long_horizon=preserved:原身份、准入与结算规则没有被测试读取改写,长期收益仍未证明;user_experience=improved:维护者可直接执行原 smoke,无额外复制、重填或确认。

已检查实际 CLI、机器测试与 premerge 调用方,没有渲染页面或布局变化,视觉评审不适用;视觉未验证范围为 none。源码中的完整捕获读取不认证实际模型采用、安装态自动化或净费用收益。类型检查及 CQR 失败继续限制合并,本评审不授予合并、安装或发布权限。

English verdict: APPROVE this exact test-consumer repair. Original assertions and CLI calls are preserved; real File/SQLite on/off paths and the standard premerge consumer pass. The unchanged required mypy failure and CQR FAIL remain separate holds; no model-adoption or merge qualification is claimed.

@huangruiteng
huangruiteng merged commit 856cf1b into main Nov 5, 2026
18 of 23 checks passed
@huangruiteng
huangruiteng deleted the codex/cli-acceptance-recovery-20261104-191400 branch November 5, 2026 03:25
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