Repository navigation
test(replan): qualify the explicit completed-Todo periodic fallback - #5900
Conversation
…dence 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; xhigh
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机
维护者运行重规划的原生合并前检查时,会遇到旧周期复核用例报错。
默认已按结算后的有效工作 Turn 计数,旧用例却把 20 条未结算记录当作达标;现在通过原生配置显式选择保留的 completed-Todo 单位,再验证 20 条兼容回退。
源码子进程、安装 wheel 和原生 premerge 均通过;默认下未结算记录仍不触发周期复核。
本 PR 不改变调度、阈值、权限或存储默认,也不验收完整安装迁移、持续运行或全部 Python 退役。
改动思路
先核对既有计数单位契约,再修复验证输入:真实 CLI 配置显式 completed-Todo cadence,读取状态中的周期义务,最后清除配置恢复默认。生产的 TypeScript history/settlement owner、provider 和阈值均未修改。直接改 runtime 去接受未结算记录会破坏契约;仅跳过失败断言也不能验证保留的兼容路径。
具体改动
评审完整 head f0cd8b931f467ebfeaa64cb7e928d5ea2848e3db,base e47e4507a4d22ed9d52e9644a5d1f25f8f7f77e1。独立规范为 docs/quota-allocation.md,spec_revision e47e4507a4d22ed9d52e9644a5d1f25f8f7f77e1。
- Goal Review Cadence:implemented。默认按结算后的有效 Turn 计数。新增默认前后负例;既有真实 CLI 结算和复核覆盖保持。
- Explicit completed-Todo cadence:implemented。保留原 20 条 material-run fallback,真实配置/清除与 File/SQLite 状态读取验证一致。
examples/autonomous-replan-obligation-smoke.py 拆出 assert_explicit_completed_todo_periodic_fallback,仍断言原种类、run_count 和 threshold;六次真实 monitor 与自动 heartbeat liveness 的原断言保持。tests/control_plane/test_replan_history_provider.py 扩展现有 provider suite:初始化真实 canonical store、移除显示文件、覆盖 19/20、同 Turn 重试、peer 身份与恢复继承默认。没有新增词表、公共字段、状态 owner 或生产 Python 分支。
对主干的风险
最强反例是测试通过但悄悄把未结算历史当默认有效工作。默认/清除后的负例和独立 19/20、重试、peer 矩阵排除该错误;读取实际 per-Agent obligation,不能以首条 attention 展示代替完整来源。
基线在周期断言 line 408 抛 KeyError;并非前面的 dead-monitor 断言失败。源码子进程和独立安装 wheel 的修复 smoke 通过。4 个真实 provider 用例、38 个既有 Python 不变量、25 个 typed 测试通过;配置 Mypy/Ruff、语义和公开边界均通过。原生 exact-scope CQR 与 premerge(4 direct + 6 selected)通过,无 manual hold;早期 fixture 构造/attention 选择错误保留并由最终 provider 验证替代,未删断言或放宽阈值。当前规则不查询或等待 CI。
我的整体评价
无阻塞发现,APPROVE。此修复完成当前失效 smoke 的验收;long_horizon 保持,user_experience 改善为原生维护检查可以完成。已有完整存储迁移、live Host/backoff 与持续运行资格继续独立验收,不能由这份测试修复替代。未来方向检查已做:在现有边界内分开监控与显式兼容语义,复用真实配置和 provider fixture,未添加平行模块或投机框架。回滚只需撤销此验证提交。
English verdict: APPROVE - f0cd8b9. Explicitly qualify the retained twenty-record completed-Todo fallback while preserving the settled-Turn default, monitor and Agent isolation. Real File/SQLite and installed CLI validation plus exact native CQR/premerge pass; no runtime policy change.
The autonomous-replan premerge smoke still expected twenty unspent history records to trigger periodic review under the default cadence. The product now counts settled effective Turns; the twenty-record fallback is retained only with an explicit completed-Todo cadence. Select that existing configuration through the real CLI, retain the original threshold, and verify clearing it restores the default rejection of unsettled history.
Extend the existing File/SQLite provider test with a missing display, the 19/20 boundary, retry identity and peer isolation. The six-poll monitor and typed semantic closeout tests remain intact; production rules and defaults do not change.
Validation: repaired smoke through subprocess CLI and an independently installed wheel; 4 real provider cases, 38 existing replan/monitor/effective-Turn cases and 25 typed history/settlement tests; configured Mypy and changed-path Ruff. Final exact-scope CQR and receipt-bound native premerge pass (4 direct and 6 selected checks), without skipped cases or manual holds. The unchanged base failure and earlier fixture failures are retained in local evidence.
中文:修复旧 smoke 把默认有效 Turn cadence 当成 20 条未结算历史的验收漂移;通过原生配置显式验证保留的 completed-Todo fallback,并覆盖恢复默认、19/20、重试和 peer 隔离。只修改验证,不调整 runtime 策略、阈值或权限。安装恢复、持续运行与发布默认资格分别保留。