Repository navigation
test(quota): enable explicit local usage-cycle qualification - #8215
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent | gpt-6.1-sol | OpenAI | runtime_reported | reasoning_effort=max
没有阻塞本次代码评审的问题。评审对应提交 ad3dce2。项目的严格合并资格仍受已有 Ruff 错误影响。
动机 / Motivation
无 Git 项目的结算测试通过真实 CLI 验证一个工作周期。临时机器目录隔离本地用量数据。 隔离规则生效后,fixture 虽已启用本地记录,却缺少数字回环测试所需的显式开关。现行和旧式目录都等不到周期开始,后面的扣费与重放断言没有执行。 加上显式开关后,两种目录都完整跑通,验证同一次 Turn 扣费一次,重放保留原结果。 改动范围是现有测试的临时环境配置,生产读写、默认采集策略和外部服务由原有规则控制。 完整 Ruff 在基线和此 head 都存在同一处 F841,严格 CQR 仍不合格,合并资格需单独验证。
改动思路 / Approach
沿用现有用量记录规则。临时目录上的测试要同时设置显式开关和数字回环地址。把开关放回已有 fixture 后,可以继续使用原来的结算和重放断言。用量记录的本地隔离仍由 TypeScript 实现处理。 用量资格检查
具体改动 / Changes
唯一的行为变化是在现有测试里设置 LOOPX_USAGE_PING=1。原本的 127.0.0.1 地址、两种机器目录和 Turn 身份沿用。按修订 22b0f6c 的 smoke 规则检查三个条件。Fixture opt-in 只补齐测试输入。Temporary isolation 保留临时目录默认禁止和远端限制。Settlement replay 验证同一 Turn 完成前拒绝扣费,完成后一次扣费,重放保留原结果。 测试改动 Smoke 规则
对主干的风险 / Risks
用 Python 3.11 和 Node 24 独立复测。基线两种目录都在等待周期开始时失败,提交后的两种场景都通过。TypeScript 的三项隔离测试通过,覆盖临时状态默认静默、远端拒绝和本机回环正例。聚焦 Ruff、quick premerge 的五项直接检查和三项选中检查通过。全量 Ruff 在基线和 head 都报同一个未使用变量 F841,严格 CQR 仍失败。按策略未查询 CI。 隔离反例
我的整体评价 / Verdict
现有真实 CLI 测试重新覆盖了前置拒绝、一次扣费和重放,不需要新增测试入口。C1 #7430 已包含相同修正,后续同步应只保留同一处。本次改动只涉及命令行测试 fixture,无界面改动。 合并资格仍需通过项目的独立检查。
English verdict: APPROVE. The fixture-only opt-in restores both real local quota-cycle cases while preserving temporary isolation and one-spend replay. The reproduced baseline Ruff failure remains a separate strict merge hold.
临时环境保护加入后,无 Git 项目的 quota 结算测试仍只删除采集关闭变量。临时状态即使已 enable,也需要显式
LOOPX_USAGE_PING=1和数字 loopback 目标才可进入本机传输资格,否则两个 runtime 变体都会等不到周期开始。本提案为已有测试补齐显式开启,沿用原
127.0.0.1目标及全部结算、重放和只扣一次断言。生产保护规则继续由既有 TypeScript owner 决定。验证:
22b0f6c25a的两个变体修前均复现失败,修后 2 passed;C1 同一修正也为 2 passed。ad3dce215a006f7183b2e52fd39bb4b8b55f0333的 quick premerge:5 项直接检查、3 项 catalog 检查全部命令通过。总体仍为quality_receipt_missing,未获得 merge readiness 或执行合并。该公共测试修复也已同步到 C1 #7430,与其完整契约重构的模型、成本和整体验收分开。