Files
iomgaa 84ee6dee84 docs: file the branch review outcome in the wiki
Records what the two Codex review rounds found, which findings held up
under verification, and how each was resolved -- including the one that
changed docs rather than code. Also lists the evidence behind the
completion claim: suite counts, coverage, the 19-minute real-wait Redis
run, and the import contract.
2026-08-20 01:04:43 -04:00

2.2 KiB

type, node_id, title, date
type node_id title date
review review:issue14-branch-review 整分支审查: issue #14 熔断等待档 2026-08-20

整分支审查: issue #14 熔断等待档

  • 范围: feat/issue-14-circuit-open-policy,296c765..5a025b6(8 提交,src 6 文件 + tests 5 文件)
  • 审查方: Codex 全新上下文只读审查(两轮: 独立验收 + 整分支审查)
  • 结论: needs_changes → 修正后 approved;Critical 0 项

发现与处置

级别 发现 核实 处置
Important circuit_open=wait + 持续 force_open 实际抛 retry_exhausted 而非文档声称的 stalled 成立。冷却结束后放行的探针是真实尝试,失败照样烧一格 max_attempts;审查方以单源 + 连续 SourceDeadError("401") 复现,本地补测试复现一致 改文档不改代码——该行为符合 issue #8 确立的"划分依据是谁消耗重试预算"。修正 CHANGELOG / README / 设计 §4 行为矩阵 / 计划 T5,并补 test_wait_does_not_exempt_probes_from_the_retry_budget 钉死
Minor 计划要求进入/退出等待各一条日志,实现只有进入那条 成立 保持一条,修计划措辞: 每轮等待各自留痕已可还原时间线,醒来后若仍被拒会立刻打下一条,补"醒来"只会让日志量翻倍
上一轮独立验收挑出计划 _nap 伪码下界与实现不一致(poll_interval_s vs jitter) 成立 实现是对的(用 poll_interval_s 会把既有 quota 轮询的 rng→0 半边从 0.5p 抬到 1.0p),已回填计划

审查方两轮均确认: T1 收敛行为等价、六个 retry_after_s 出口齐备、备忘污染闭合、取消穿透与 permit/pacer 配对无泄漏、缺省档控制流不变。

验证证据(本会话工具输出)

  • 全套件 pytest tests/ -q: 980 passed, 25 skipped, 36 deselected(基线 967 passed;+13 为新增用例)
  • 覆盖率 make test: 总 94%(admission.py 93%、config.py 99%、memory/breaker.py 96%)
  • Redis 时间语义全变体 -m slow: 18 passed in 1151s(19 分 11 秒,真实等待不缩放),含本次新增 4 个
  • make checklint-imports: 全绿,Contracts: 1 kept, 0 broken