From 84ee6dee841f77e9b89631a943334116b358a1b1 Mon Sep 17 00:00:00 2001 From: iomgaa Date: Thu, 20 Aug 2026 01:04:43 -0400 Subject: [PATCH] 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. --- research-wiki/graph/edges.json | 14 ++++++++- research-wiki/index.md | 5 +++- research-wiki/log.md | 4 +++ .../reviews/issue14-branch-review.md | 30 +++++++++++++++++++ 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 research-wiki/reviews/issue14-branch-review.md diff --git a/research-wiki/graph/edges.json b/research-wiki/graph/edges.json index 301b11f..8f77272 100644 --- a/research-wiki/graph/edges.json +++ b/research-wiki/graph/edges.json @@ -185,6 +185,11 @@ "id": "plan:plan-issue12-telemetry-retention", "label": "实现计划: issue12-telemetry-retention", "type": "plan" + }, + { + "id": "review:issue14-branch-review", + "label": "整分支审查: issue #14 熔断等待档", + "type": "review" } ], "links": [ @@ -341,6 +346,13 @@ "relation": "implements", "evidence": "research-wiki/plans/plan-issue14-admission-wait-policy.md;T0-T8 逐节映射设计 §3.1-§3.6", "added": "2026-08-20T03:30:06.280582+00:00" + }, + { + "source": "review:issue14-branch-review", + "target": "plan:plan-issue14-admission-wait-policy", + "relation": "informs", + "evidence": "Important 项促使修正 CHANGELOG/README/设计 §4/计划 T5 对 wait 档失败 reason 的描述", + "added": "2026-08-20T05:01:16.206639+00:00" } ] -} +} \ No newline at end of file diff --git a/research-wiki/index.md b/research-wiki/index.md index 3ba6bbe..738bee6 100644 --- a/research-wiki/index.md +++ b/research-wiki/index.md @@ -1,6 +1,6 @@ # Research Wiki 索引 -> 自动生成,更新时间:2026-08-20 03:30 UTC +> 自动生成,更新时间:2026-08-20 05:01 UTC ## design (35) - [2026-07-20-m1-core-design](designs/2026-07-20-m1-core-design.md) `design:2026-07-20-m1-core-design` @@ -85,6 +85,9 @@ - [调用方自定义维度实现计划(issue #11)](plans/issue11-caller-dimensions.md) `plan:issue11-caller-dimensions` - [采样参数透传实现计划(issue #4)](plans/sampling-params-plan.md) `plan:sampling-params-plan` +## review (1) +- [整分支审查: issue #14 熔断等待档](reviews/issue14-branch-review.md) `review:issue14-branch-review` + ## schema (1) - [表结构: llm_calls(遥测 22 字段)](schemas/llm-calls.md) `schema:llm-calls` diff --git a/research-wiki/log.md b/research-wiki/log.md index b4d7597..68c6161 100644 --- a/research-wiki/log.md +++ b/research-wiki/log.md @@ -119,3 +119,7 @@ - [2026-08-20 03:30 UTC] 新增边: plan:issue14-admission-wait-policy --implements--> design:issue14-admission-wait-policy - [2026-08-20 03:30 UTC] 重建索引: 82 篇页面 - [2026-08-20 03:30 UTC] 重建索引: 80 篇页面 +- [2026-08-20 05:01 UTC] 新增边: review:issue14-branch-review --informs--> plan:plan-issue14-admission-wait-policy +- [2026-08-20 05:01 UTC] 重建索引: 80 篇页面 +- [2026-08-20 05:01 UTC] 新增 review: 整分支审查: issue #14 熔断等待档 (review:issue14-branch-review) +- [2026-08-20 05:01 UTC] 重建索引: 81 篇页面 diff --git a/research-wiki/reviews/issue14-branch-review.md b/research-wiki/reviews/issue14-branch-review.md new file mode 100644 index 0000000..052ffae --- /dev/null +++ b/research-wiki/reviews/issue14-branch-review.md @@ -0,0 +1,30 @@ +--- +type: review +node_id: review:issue14-branch-review +title: "整分支审查: issue #14 熔断等待档" +date: 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 check` 与 `lint-imports`: 全绿,**Contracts: 1 kept, 0 broken**