From bbf6e87a46108970f1192f0f50e5f1cda051dcfa Mon Sep 17 00:00:00 2001 From: gaoming <2168502171@qq.com> Date: Sun, 30 Aug 2026 03:37:29 +0800 Subject: [PATCH] docs: close observational overdraw repair --- docs/NEXT_TASK.md | 2 +- docs/PROJECT_STATUS.md | 12 ++++++------ docs/ROADMAP.md | 10 +++++----- docs/phases/PHASE-2-RELIABILITY.md | 12 ++++++------ .../2026-08-30-fix-observational-token-overdraw.md | 6 +++--- .../2026-08-30-fix-observational-token-overdraw.md | 8 ++++---- 6 files changed, 25 insertions(+), 25 deletions(-) diff --git a/docs/NEXT_TASK.md b/docs/NEXT_TASK.md index b168908..08d3fc1 100644 --- a/docs/NEXT_TASK.md +++ b/docs/NEXT_TASK.md @@ -26,7 +26,7 @@ P2-01 已完成,不再重复资格或“重跑碰绿”。P2-06 也已完成 同日又把 `artifacts/benchmarks/` 中已存在的 GPQA-Diamond 与两种 MMLU-Pro profile 通过正式导入 API 加载到默认个人 SQLite,当前为 `4` 个 Benchmark、`24,277` 题,原 Model/Run/Response 保持且没有 Provider 调用。记录 commit `0163b67c00eb59ae59db5f3adb679ad85c799142` 已 push,其精确 SHA run `33266167547` 4/4 成功;该本地数据操作不提交第三方题目、不改变产品实现或路线图,P2-07 的下一任务仍保持不变。 -当前必须先完成 [observational Token overdraw 修复](plans/2026-08-30-fix-observational-token-overdraw.md)。ADR-0018 已把非显式 input 估算与 hard reservation 分离,并把 data-only head 定为 `20260830_0007`;该 revision 只重算 `governance_scopes.overdrawn`,upgrade/downgrade 均拒绝 active reservation,历史 ledger/actual/Response/Run 终态保持。本地完整验证和当前个人 SQLite 迁移已通过;此维护仍为 `in_progress`,commit/push 与 exact-SHA CI 待完成。在其仓库级闭环前不要启动 P2-07 实施。 +[Observational Token overdraw 修复](plans/2026-08-30-fix-observational-token-overdraw.md) 已完成。ADR-0018 已把非显式 input 估算与 hard reservation 分离,并把 data-only head 定为 `20260830_0007`;该 revision 只重算 `governance_scopes.overdrawn`,upgrade/downgrade 均拒绝 active reservation,历史 ledger/actual/Response/Run 终态保持。本地完整验证、当前个人 SQLite 迁移、修正 SHA `cb00924…` 的 real-Compose 9/9 与 [exact-SHA CI run `33271095910`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33271095910) 4/4 均通过。P2-07 前置阻碍已解除,但本次任务到此停止。 P2-06 本地与 clean evidence 数值保持记录不变:合并定向、lint/test/smoke、双方言 migration、真实 PostgreSQL/Redis integration、frontend build、Compose config、Prometheus 规则、clean capacity/acceptance 与技术/安全终审均已通过;原始 evidence 仍不得公开。P2-06 当时未擅自迁移默认用户 SQLite;随后的兼容修复已在自动备份后将当时重建库前进到 `0006` 并通过 startup/check。 diff --git a/docs/PROJECT_STATUS.md b/docs/PROJECT_STATUS.md index 6b8c816..7239f6e 100644 --- a/docs/PROJECT_STATUS.md +++ b/docs/PROJECT_STATUS.md @@ -14,7 +14,7 @@ `0.1.0` development baseline,REST API 为 `/api/v1`,评测协议为 `llmbenchlab-protocol-v1`;尚未发布正式 Release。 -公开仓库:[`CWNU-Open-Source-Community/LLMBenchLab`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab),当前开发分支为 `codex/complete-evaluation-workflow`。P2-06 实现 SHA [`9a20676dcf545040782f04c166205d0043345753`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/9a20676dcf545040782f04c166205d0043345753) 已普通 push 并进入 [PR #3](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/pull/3),其精确 SHA 的 GitHub Actions [run `33164609388`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33164609388) 四个必需 job 全部成功;绑定该 clean SHA 的 capacity 与 9/9 acceptance 也已通过。Evidence closeout 文档 commit [`ec2959680459a14aa308bd4d9ebcc6bb7bfcf3a6`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/ec2959680459a14aa308bd4d9ebcc6bb7bfcf3a6) 已 push,其精确 SHA 的 GitHub Actions [run `33165775037`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33165775037) 四个必需 job 全部成功,因此 P2-06 已完成仓库级收尾并标记为 `completed`。[ADR-0017](decisions/ADR-0017-schema-equivalent-governance-index-repair.md) / `20260829_0006` 数据库兼容修复实现 SHA [`8fb51b690ae6335b8ef93b3cbe54e039781fb173`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/8fb51b690ae6335b8ef93b3cbe54e039781fb173) 已普通 push,其精确 SHA 的 GitHub Actions [run `33263405214`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33263405214) 四个必需 job 全部成功,因此该维护任务为 `completed`。当前工作树正按 [ADR-0018](decisions/ADR-0018-observational-token-estimates-are-not-hard-reservations.md) 修复 observational input estimate 误触发 overdraw,应用与当前个人 SQLite head 均已前进为 data-only `20260830_0007`;本地完整门禁与数据验真已通过。本维护仍为 `in_progress`,因为 commit/push 与 exact-SHA CI 尚未完成,不能宣称仓库级闭环。Phase 2 仍为 `in_progress`;P2-07 已建立 ADR-0016、独立计划和工作日志,状态为 `planned`,功能实现尚未开始。历史 P2-01 位于 [PR #2](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/pull/2):实现 SHA `b6a35fef1dd069ebb54b69955058915c722aa34d` 的 [run `33146681285`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33146681285) 4/4 成功,证据文档 commit `875f13a253c40b7573d45c6287385e60f2bb8f04` 的 [run `33150080341`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33150080341) 也已 4/4 成功。 +公开仓库:[`CWNU-Open-Source-Community/LLMBenchLab`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab),当前开发分支为 `codex/complete-evaluation-workflow`。P2-06 实现 SHA [`9a20676dcf545040782f04c166205d0043345753`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/9a20676dcf545040782f04c166205d0043345753) 已普通 push 并进入 [PR #3](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/pull/3),其精确 SHA 的 GitHub Actions [run `33164609388`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33164609388) 四个必需 job 全部成功;绑定该 clean SHA 的 capacity 与 9/9 acceptance 也已通过。Evidence closeout 文档 commit [`ec2959680459a14aa308bd4d9ebcc6bb7bfcf3a6`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/ec2959680459a14aa308bd4d9ebcc6bb7bfcf3a6) 已 push,其精确 SHA 的 GitHub Actions [run `33165775037`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33165775037) 四个必需 job 全部成功,因此 P2-06 已完成仓库级收尾并标记为 `completed`。[ADR-0017](decisions/ADR-0017-schema-equivalent-governance-index-repair.md) / `20260829_0006` 数据库兼容修复实现 SHA [`8fb51b690ae6335b8ef93b3cbe54e039781fb173`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/8fb51b690ae6335b8ef93b3cbe54e039781fb173) 已普通 push,其精确 SHA 的 GitHub Actions [run `33263405214`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33263405214) 四个必需 job 全部成功,因此该维护任务为 `completed`。[ADR-0018](decisions/ADR-0018-observational-token-estimates-are-not-hard-reservations.md) / data-only `20260830_0007` 已修复 observational input estimate 误触发 overdraw;本地完整门禁、当前个人 SQLite 数据验真与最终 SHA [`cb00924ea3ba3d01ce5bc322b7eabdae1345baf3`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/cb00924ea3ba3d01ce5bc322b7eabdae1345baf3) 的 [run `33271095910`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33271095910) 4/4 全部通过,该维护为 `completed`。Phase 2 仍为 `in_progress`;P2-07 已建立 ADR-0016、独立计划和工作日志,状态为 `planned`,功能实现尚未开始。历史 P2-01 位于 [PR #2](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/pull/2):实现 SHA `b6a35fef1dd069ebb54b69955058915c722aa34d` 的 [run `33146681285`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33146681285) 4/4 成功,证据文档 commit `875f13a253c40b7573d45c6287385e60f2bb8f04` 的 [run `33150080341`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33150080341) 也已 4/4 成功。 ## 已交付基线 @@ -71,12 +71,12 @@ - 该次导入完成时,默认个人 SQLite 有 `4` 个 Benchmark、`24,277` 道题;逐集持久化题数与 manifest 一致。当时原有 `1` 个 Model、`1` 个 completed Run 和 `15` 条 Response 不变,active Run 为 `0`;`quick_check=ok`、外键错误 `0`、Alembic head=`20260829_0006`,API 列表/逐集 total 也已对账。后续 Run 与 `0007` 维护事实见下节,不回写本条历史快照。 - 目标 Loader/标准转换器离线测试 `40 passed`;未调用真实 Provider,未修改 Schema/API/协议或产品代码。仓库记录 commit [`0163b67c00eb59ae59db5f3adb679ad85c799142`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/0163b67c00eb59ae59db5f3adb679ad85c799142) 已 push,其精确 SHA 的 [run `33266167547`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33266167547) 四个必需 job 全部成功;本地加载维护为 `completed`,不改变 Phase 3/P2-07 状态。 -## 2026-08-30 observational Token overdraw 修复(`in_progress`) +## 2026-08-30 observational Token overdraw 修复(`completed`) - 只读核查 Run `2181503c-eab2-4699-bede-db48bd078f95` 发现:15 题完成 7 题后以 `failed/exhausted`、`governance_global_overdrawn` 终止;7 个 Provider attempt 均为 `settled_actual/succeeded`,没有 conservative settlement、429 或 HTTP retry。第七次非 hard 输入估算/reservation 为 59,而 Provider actual 为 75;冻结 policy 与 Run override 的 request/Token/cost hard limit 全为 `null`,因此这是本地语义缺陷,不是 OpenCode Go 套餐额度结算。 - [ADR-0018](decisions/ADR-0018-observational-token-estimates-are-not-hard-reservations.md) 已接受:只有显式 `evaluation_runs.input_token_reservation` 才构成 input/cost hard reservation;没有显式值时不再写入新的 attempt input reservation/reserved cost,但 Provider actual usage 仍完整保存。显式 input、显式 `max_tokens` output,以及由完整上界和冻结价格派生的 reserved cost 超额仍 fail closed。 - 应用 Alembic head 已前进到 data-only `20260830_0007`。该 migration 不改 schema、ledger、actual usage、Response、audit 或 Run 终态,只重算 `governance_scopes.overdrawn`;upgrade/downgrade 在任何更新前拒绝 active reservation。前端 overdrawn 文案改为“实际用量曾被判定超过预留”,既适用于新 hard overdraw,也不会误述升级前保留的历史终态。 -- 本地验证已完成:backend `946 passed, 33 skipped`,真实 PostgreSQL+Redis integration `33 passed`,双方言 migration upgrade/downgrade/upgrade/check、`make lint`、frontend `39 passed`/build、Mock smoke `1 passed` 与 Compose config 均通过。当前个人 SQLite 已到 `0007`;四层 scope `overdrawn` 从 4 降为 0,7 Responses/7 ledger、407 input/599 output、13 张业务表行数均保留,`quick_check=ok`、FK=0。未调用真实 Provider。commit/push 和 exact-SHA CI 尚待完成,因此本维护仍为 `in_progress`。 +- 本地验证已完成:backend `946 passed, 33 skipped`,真实 PostgreSQL+Redis integration `33 passed`,双方言 migration upgrade/downgrade/upgrade/check、`make lint`、frontend `39 passed`/build、Mock smoke `1 passed`、real-Compose `9/9` 与 Compose config 均通过。当前个人 SQLite 已到 `0007`;四层 scope `overdrawn` 从 4 降为 0,7 Responses/7 ledger、407 input/599 output、13 张业务表行数均保留,`quick_check=ok`、FK=0。未调用真实 Provider。首次实现 SHA 的 acceptance-only `float(None)` 失败已保留,最终修正 SHA `cb00924…` 的 run `33271095910` 4/4 成功,因此本维护为 `completed`。 ## 状态与后续 @@ -84,7 +84,7 @@ - 0004 历史索引兼容修复:状态为 `completed`;实现 commit `8fb51b690ae6335b8ef93b3cbe54e039781fb173` 已 push,精确 SHA run `33263405214` 4/4 成功。 - 本地数据恢复与静默启动:状态为 `completed`;实现 commit `5075bdb5e9b53f527a43e5aff7b7d2c7b48c5c9b` 已 push,精确 SHA run `33265171953` 4/4 成功。 - 已下载标准评测集本地加载:状态为 `completed`;三个现有正式 ZIP 已导入并完成本地数据库/API/目标测试验证,`0163b67…` 的 run `33266167547` 4/4 成功。 -- observational Token overdraw 修复:状态为 `in_progress`;目标 head `0007`、本地完整验证和当前库迁移已完成,仅 commit/push 与 exact-SHA CI 远程门禁待完成。 +- observational Token overdraw 修复:状态为 `completed`;目标 head `0007`、本地完整验证、当前库迁移、最终修正 commit/push 与 exact-SHA CI 4/4 均完成。 - P2-07:状态为 `planned`,已建立 [ADR-0016](decisions/ADR-0016-postgresql-keyring-recovery-and-redis-rebuild.md)、exact-head amendments [ADR-0017](decisions/ADR-0017-schema-equivalent-governance-index-repair.md) / [ADR-0018](decisions/ADR-0018-observational-token-estimates-are-not-hard-reservations.md)、[独立计划](plans/2026-08-28-phase-2-recovery-operations.md) 和 [工作日志](worklogs/2026-08-28-phase-2-recovery-operations.md)。PostgreSQL backup/restore、数据库与 keyring 配对恢复、Redis 重建、Worker 扩缩/告警处置和剩余故障矩阵的功能实现尚未开始;P2-06 的 audit archive 自身 restore 不能替代整库恢复认证。P2-07 recovery-manifest-v1 的尚未实施 exact head 现为 `20260830_0007`。 - Phase 3:IFEval、通用 Dataset Plugin SDK、代码题 schema/隔离沙箱、完整分组 UI 和安全红队;Phase 4–6 尚未开始。 @@ -127,7 +127,7 @@ | P2-01 证据文档收尾 CI | `875f13a…` run `33150080341` 4/4 | 精确文档 SHA 全绿;P2-01 仓库级收尾完成 | | 2026-08-30 本地恢复/静默启动 | 启动器 `3 passed`;完整 backend `930 passed, 33 skipped`、frontend `38 passed`;lint/build/smoke/config、恢复库 digest/quick/FK/head 与真实 API/Web 读取通过 | 默认库恢复 `1/1/15/1/15`;`5075bdb…` 的 run `33265171953` 4/4 成功,不改变 P2-07 | | 2026-08-30 标准评测集本地加载 | 三个 ZIP Loader 校验通过;API 导入 `201/201/201`;数据库/API 对账为 `4` Benchmarks、`24,277` Questions;`quick_check=ok`、FK `0`、head `0006`;目标测试 `40 passed` | 本地加载完成,原 Model/Run/Response 保持;`0163b67…` 的 run `33266167547` 4/4 成功,无 Provider 调用 | -| 2026-08-30 observational overdraw 修复 | backend `946 passed, 33 skipped`;真实 PG+Redis integration `33 passed`;双方言 migration 往返/check、`make lint`、frontend `39 passed`/build、Mock smoke `1 passed`、Compose config 与当前库 backup/migrate/check 通过 | 当前 SQLite head=`20260830_0007`,scope `4→0`,7 Responses/7 ledger/407 input/599 output、13 表行数、quick/FK 保持;无真实 Provider;commit/push/exact-SHA CI 待完成 | +| 2026-08-30 observational overdraw 修复 | backend `946 passed, 33 skipped`;真实 PG+Redis integration `33 passed`;双方言 migration 往返/check、`make lint`、frontend `39 passed`/build、Mock smoke `1 passed`、real-Compose `9/9`、Compose config 与当前库 backup/migrate/check 通过 | 当前 SQLite head=`20260830_0007`,scope `4→0`,7 Responses/7 ledger/407 input/599 output、13 表行数、quick/FK 保持;无真实 Provider;`cb00924…` 的 run `33271095910` 4/4 成功 | | 最新本地 `make lint` | Ruff/format、ESLint、TypeScript 通过 | 本地冻结树通过 | | P2-01 冻结树 `make test` | 后端 `829 passed, 29 skipped`;前端 `38 passed` | v2 实现历史冻结树通过;当前 P2-06 全量见上方独立行 | | P2-01 真实 PostgreSQL/Redis integration | `29/29 passed` | v2 实现历史冻结树通过;当前 P2-06 integration 见上方独立行 | @@ -157,4 +157,4 @@ ## 当前任务入口 -[NEXT_TASK.md](NEXT_TASK.md) 提供后续任务入口。observational Token overdraw 修复的本地验证和个人 SQLite 受控迁移已完成,当前只剩 commit/push 与 exact-SHA CI;仓库级闭环后才恢复 P2-07 最小只读 recovery verifier。P2-06 已完成仓库级收尾,P2-07 仍为 `planned`;Phase 2 与 Phase 3 继续保持 `in_progress`。 +[NEXT_TASK.md](NEXT_TASK.md) 提供后续任务入口。observational Token overdraw 修复已完成本地验证、个人 SQLite 受控迁移、commit/push 和 exact-SHA CI 4/4,仓库级闭环完成。后续入口恢复为 P2-07 最小只读 recovery verifier,但本次不继续实施。P2-06 已完成仓库级收尾,P2-07 仍为 `planned`;Phase 2 与 Phase 3 继续保持 `in_progress`。 diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 8ec2810..b2e523e 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -30,7 +30,7 @@ | --- | --- | --- | --- | --- | | Phase 0 | 项目治理和架构 | 可执行的需求、架构、协议、ADR 与持续文档流程 | `completed` | [PHASE-0-GOVERNANCE.md](phases/PHASE-0-GOVERNANCE.md) | | Phase 1 | MVP 垂直链路 | Mock 模型到 Run、逐题结果与排行榜的离线闭环 | `completed` | [PHASE-1-MVP.md](phases/PHASE-1-MVP.md) | -| Phase 2 | 可靠性与任务执行 | 可靠 Worker、治理/审计、P2-01 与 P2-06 已交付;observational overdraw 维护进行中;P2-07 工作包已建立但功能尚未实现 | `in_progress` | [PHASE-2-RELIABILITY.md](phases/PHASE-2-RELIABILITY.md) | +| Phase 2 | 可靠性与任务执行 | 可靠 Worker、治理/审计、P2-01、P2-06 与 observational overdraw 维护已交付;P2-07 工作包已建立但功能尚未实现 | `in_progress` | [PHASE-2-RELIABILITY.md](phases/PHASE-2-RELIABILITY.md) | | Phase 3 | 标准 Benchmark 与代码评测 | 已有 MMLU-Pro/GPQA 可信本地切片;IFEval、沙箱与完整插件体系待完成 | `in_progress` | [PHASE-3-BENCHMARKS.md](phases/PHASE-3-BENCHMARKS.md) | | Phase 4 | Judge、Arena 与长上下文 | 可校准 Judge、Pairwise Judge、个人 Arena 和长上下文评测 | `planned` | [PHASE-4-JUDGE-ARENA.md](phases/PHASE-4-JUDGE-ARENA.md) | | Phase 5 | Agent、私有与 Live Benchmark | 工具调用轨迹、隔离私有集和持续更新的 Live Benchmark | `planned` | [PHASE-5-AGENT-LIVE.md](phases/PHASE-5-AGENT-LIVE.md) | @@ -181,7 +181,7 @@ - 独立 Worker、原子领取、数据库时间租约、心跳、单调 fencing token、逐题幂等、有限重试、取消、过期接管和 dead-letter;大 Run 快照加载移出事件循环并保持租约心跳,dead-letter 前从持久化 Response 重聚合证据。 - Alembic `0004` 的 policy/scope/minute bucket/question execution/Provider reservation/audit event 六类治理表及 `0005` 的 Worker process/progress 表与 bounded audit indexes;Run/Response 证据字段和 13 表 SQLite→PostgreSQL importer。 - managed Run 冻结 policy/hash 与显式 overrides;global/provider/model/run 四层 concurrency、固定窗口 RPM/TPM、global/run lifetime request/Token/USD budget 和逐 Provider HTTP attempt ledger。 -- 当前 data-only head `20260830_0007` 按 ADR-0018 将观测 input 估算与 hard reservation 分离:无显式 input bound 时不生成 input reservation/reserved cost,actual usage 仍保存;显式 input/output 上界及由完整上界和价格派生的 reserved cost 超额继续 fail closed。本地完整门禁和当前 SQLite 迁移已通过,远程证据仍待完成。 +- 当前 data-only head `20260830_0007` 按 ADR-0018 将观测 input 估算与 hard reservation 分离:无显式 input bound 时不生成 input reservation/reserved cost,actual usage 仍保存;显式 input/output 上界及由完整上界和价格派生的 reserved cost 超额继续 fail closed。本地完整门禁、当前 SQLite 迁移、修正 SHA `cb00924…` 的 real-Compose 9/9 与远程 CI 4/4 均通过。 - materialized counter 只作 ledger 投影;counter、policy/hash 或 Run override 漂移 fail closed。confirmed pre-send release 按 ADR-0011 不消耗未发送 HTTP retry。 - 有限 backlog、typed `429`、database not-before、question quantum、dispatch/failure 分离和跨 Model 公平排序。 - typed audit、Run audit、task history/latency、Provider metadata、credential 非秘密事件和前端治理状态;P2-06 实现 SHA `9a20676…` 另交付固定低基数 Prometheus exporter/八条规则、canonical retention archive/verify/reconcile/restore/delete、Worker DB-time progress/liveness 聚合与全日志源治理。 @@ -207,7 +207,7 @@ | P2-03 Queue/Worker | 可靠基础已交付 | Redis Streams 通知、独立 Worker、数据库扫描、租约、心跳、fencing 和重复消息 no-op 已交付;P2-06 实现 SHA `9a20676…` 增加 generation 级 DB-time progress,dependency probe 仍只检查 capability | | P2-04 生命周期可靠性 | 可靠基础已交付 | retry/取消/恢复/dead-letter/终态重算及三个确定性 DB crash-seam 场景已通过完整 Compose acceptance;外部调用仍不保证 exactly-once | | P2-05 并发治理 | 切片已实现 | 四层 concurrency/RPM/TPM/lifetime budget、per-attempt ledger、backpressure、finite quantum、公平排序和完整性 fail-closed 已实现;真实 PG/capacity/acceptance/精确 SHA CI 候选门禁已通过 | -| P2-05 observational overdraw 维护 | `in_progress` | ADR-0018 与 data-only `0007` 已进入工作树;只重算 overdrawn 并保留 ledger/actual,active reservation 时拒绝;本地完整门禁和当前库迁移已完成,commit/push/exact-SHA CI 待完成 | +| P2-05 observational overdraw 维护 | `completed` | ADR-0018 与 data-only `0007` 只重算 overdrawn 并保留 ledger/actual,active reservation 时拒绝;当前库迁移和本地门禁通过,最终 SHA `cb00924…` 的 run `33271095910` 4/4 成功 | | P2-06 可观测性 | `completed` | exporter/八规则、retention CLI、Worker DB-time progress、`0005`/13 表 importer 与全日志源治理已实现;`9a20676…` 已 push、PR #3、实现 run `33164609388` 4/4,clean capacity/9/9 acceptance 全绿;evidence-doc commit `ec29596…` 已 push且精确 SHA run `33165775037` 4/4 | | P2-07 验证与运维 | `planned` | ADR-0016、独立计划与工作日志已建立;功能尚未实现,后续从最小只读 verifier 开始,再开展数据库+keyring restore、Redis 重建、告警响应与完整失败矩阵 | @@ -217,7 +217,7 @@ - `delivered`:真实 PostgreSQL 并发领取只有一个有效 lease;自然过期后由递增 fencing token 接管,陈旧 owner 写入被拒绝。 - `delivered/partial`:pending/running 取消有真实 Compose 证据;有限重试、超时和 dead-letter 有自动化状态机/Runner 证据,但尚未把所有失败组合都纳入完整生产式故障演练。 - `delivered`:历史 `0004` / 12 表 importer、四层治理、逐 attempt ledger、counter 重算 fail-closed、policy/override freeze、typed backpressure 和 finite fairness 已实现,并在精确候选 SHA 的真实 PG/capacity/acceptance 与远程 CI 通过。 -- `in_progress`:ADR-0018 修复不改变 protocol-v1 或历史事实;只有显式 input/output reservation 或由完整显式上界和价格派生的 reserved cost 才触发对应 overdraw,`0007` 只重算 materialized flag 且在 active reservation 时拒绝。本地完整验证已通过,但远程门禁尚未形成,不能标记完成。 +- `completed`:ADR-0018 修复不改变 protocol-v1 或历史事实;只有显式 input/output reservation 或由完整显式上界和价格派生的 reserved cost 才触发对应 overdraw,`0007` 只重算 materialized flag 且在 active reservation 时拒绝。本地完整验证与当前库迁移通过,最终 SHA `cb00924…` 的远程门禁 4/4 成功。 - `completed`:P2-06 的 `0005` / 13 表 importer、Worker DB-time progress、固定低基数 exporter、八条规则、canonical audit archive/verify/reconcile/restore/delete 与全日志源治理已在 SHA `9a20676dcf545040782f04c166205d0043345753` 实现;本地 lint/test/integration/rules 与修复后 76-file 技术/安全终审全绿,实现已 push 到 PR #3,精确 SHA run `33164609388` 4/4 成功。Clean acceptance `.pytest_cache/artifacts/phase2-acceptance/llmbenchlab-p2-92e173eeee28/evidence.json`(SHA-256 `e4ffb8668fd3fa62d59b5d83f5c29eede35b327d88e6099345acd5950670fc47`)9/9、Worker `2/2/2/0/0`、cleanup C/V/N empty;clean capacity `.pytest_cache/artifacts/phase2-capacity/llmbenchlab-p2-ca5673061b0f/evidence.json`(SHA-256 `2382f9138f09028f269d76c341b236dd4089d678c8a2323582045fac2b4f5039`)记录 QPS `7.267474/12.962228/9.333604`、wall `8.255963/4.628834/6.428385s`、18/270/270/271/1230、0 question error/drift/duplicate/PEL/lag、expected=2/shortfall=0 与 cleanup C/V/N/image=0、image `1/1/0/0`。两者均为 clean-SHA Mock-only evidence,不是 SLO;此前 dirty evidence 保留为历史。Evidence-doc commit [`ec2959680459a14aa308bd4d9ebcc6bb7bfcf3a6`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/ec2959680459a14aa308bd4d9ebcc6bb7bfcf3a6) 已 push,其精确 SHA [run `33165775037`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33165775037) 4/4 成功,P2-06 仓库级收尾完成。 - `delivered`:`P2-local-control-plane-v2` 在 clean SHA `b6a35fe…` 完成 1 warm-up + 5 measured、23/23 SLO、逐轮 hard invariant/cleanup 和 `qualified` 容量模型;只限定记录的 Mock-only 单机拓扑。 - `planned`:P2-07 工作包和恢复不变量已冻结,但功能尚未实现;后续开展 backup/restore、Redis 重建、告警响应与完整恢复矩阵。三个确定性 DB crash-seam 场景与正式恢复时长目标不能替代生产恢复认证。 @@ -244,7 +244,7 @@ ### 状态 -`in_progress`。可靠执行基础、P2-05 治理和 P2-01 v2 单机控制面资格已有可复核证据与精确 SHA 远程门禁;P2-06 的实现与 evidence-doc 精确 SHA CI 均已完成,状态为 `completed`。observational overdraw 维护已完成本地验证,但远程门禁待完成;P2-07 工作包已建立,状态为 `planned`,功能尚未实现。不得把 Phase 2、当前维护、生产 HA、灾难恢复 SLA、无限横向扩展或 Provider exactly-once 标记为完成。 +`in_progress`。可靠执行基础、P2-05 治理和 P2-01 v2 单机控制面资格已有可复核证据与精确 SHA 远程门禁;P2-06 与 observational overdraw 维护均为 `completed`。P2-07 工作包已建立,状态为 `planned`,功能尚未实现。不得把 Phase 2、生产 HA、灾难恢复 SLA、无限横向扩展或 Provider exactly-once 标记为完成。 ## 6. Phase 3:标准 Benchmark 与代码评测 diff --git a/docs/phases/PHASE-2-RELIABILITY.md b/docs/phases/PHASE-2-RELIABILITY.md index 913f412..cfe20aa 100644 --- a/docs/phases/PHASE-2-RELIABILITY.md +++ b/docs/phases/PHASE-2-RELIABILITY.md @@ -68,7 +68,7 @@ | P2-03 Queue/Worker | `foundation_delivered` | Redis 通知、DB scan、claim、lease/heartbeat/fencing、ACK/no-op 已交付;`9a20676…` 增加 generation 级 DB-time scan/claim/lease-heartbeat/progress 与 stale 聚合,dependency probe 仍只表示 capability | | P2-04 生命周期可靠性 | `foundation_delivered` | retry/backoff、取消、恢复、dead-letter、Response 幂等和三个确定性 DB crash-seam 场景已通过完整 Compose acceptance;Provider 外部副作用仍为 at-least-once | | P2-05 并发治理 | `slice_delivered` | 四层 concurrency/RPM/TPM/lifetime budget、per-attempt ledger、backpressure、finite quantum、公平排序、counter 重算 fail-closed 与 ADR-0011 已实现;精确 SHA 的真实 PG/capacity/acceptance/CI 候选门禁已通过 | -| P2-05 observational overdraw 维护 | `in_progress` | ADR-0018 与 data-only `0007` 已进入工作树;migration 只重算 overdrawn 并保留 ledger/actual/Response/Run,active reservation 时拒绝;本地完整验证和当前库迁移已完成,commit/push/exact-SHA CI 待完成 | +| P2-05 observational overdraw 维护 | `completed` | ADR-0018 与 data-only `0007` 只重算 overdrawn 并保留 ledger/actual/Response/Run,active reservation 时拒绝;本地完整验证、当前库迁移和最终 SHA `cb00924…` 的 CI 4/4 均通过 | | P2-06 可观测性 | `completed` | 固定 exporter/八规则、canonical retention CLI、Worker DB-time progress、`0005` / 13 表 importer、公共 retained-row 校验与全日志源治理已进入 clean commit `9a20676…`;clean capacity/9/9 acceptance、实现 CI 与 evidence-doc commit `ec29596…` 的 CI 4/4 均通过 | | P2-07 验证与运维 | `planned` | [ADR-0016](../decisions/ADR-0016-postgresql-keyring-recovery-and-redis-rebuild.md)、[独立计划](../plans/2026-08-28-phase-2-recovery-operations.md) 与 [工作日志](../worklogs/2026-08-28-phase-2-recovery-operations.md) 已建立;功能尚未实现,后续从最小只读 verifier 开始 | @@ -76,7 +76,7 @@ 2026-08-30 的个人本地维护已从最新非空 SQLite 一致性备份恢复 1 个 Mock Model、1 个 Demo Benchmark、15 Questions、1 个 completed Run 和 15 Responses,并让组合开发启动器把三服务详细输出分流到私有 Git 忽略日志。该操作有 staging 迁移、共有列摘要、完整性/外键/head、真实本地启动与 API/Web 读取证据,但不包含 PostgreSQL/keyring、Redis 或告警恢复认证,不能计作 P2-07 实施或改变本阶段状态。 -同日的 OpenCode Go `hy3` Run 又暴露 observational input estimate 被错误写成 hard reservation:7 个 attempt 全部 actual settlement,第七次 estimate/actual 为 59/75,而所有 hard policy/Run override 均为 `null`,四层 scope 却被标记 overdrawn。ADR-0018/`0007` 修正这一派生语义并把 UI 文案改为“实际用量曾被判定超过预留”;旧 ledger、actual usage、7 条 Response 和 failed/exhausted Run 终态不改写。本地完整门禁和当前 SQLite 迁移已通过,但 commit/push/exact-SHA CI 尚未完成,因此不能计为仓库级闭环。 +同日的 OpenCode Go `hy3` Run 又暴露 observational input estimate 被错误写成 hard reservation:7 个 attempt 全部 actual settlement,第七次 estimate/actual 为 59/75,而所有 hard policy/Run override 均为 `null`,四层 scope 却被标记 overdrawn。ADR-0018/`0007` 修正这一派生语义并把 UI 文案改为“实际用量曾被判定超过预留”;旧 ledger、actual usage、7 条 Response 和 failed/exhausted Run 终态不改写。本地完整门禁、当前 SQLite 迁移、最终 SHA `cb00924…` 的 real-Compose 9/9 与精确 SHA CI 4/4 均通过,仓库级闭环完成。 ## 验收标准与当前结论 @@ -90,7 +90,7 @@ - [x] **P2-01 完成**:clean SHA `b6a35fef1dd069ebb54b69955058915c722aa34d` 从零完成 1 warm-up + 5 measured、23/23 SLO、逐轮 hard invariant/cleanup 与 `qualified` 容量模型;aggregate SHA-256 `a76d167b…d0d9`。证据文档 commit `875f13a253c40b7573d45c6287385e60f2bb8f04` 已普通 push,[GitHub Actions run `33150080341`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33150080341) 对该精确 SHA 4/4 成功。结论只适用于固定 Mock 单机 profile。 - [x] **P2-06 仓库级闭环完成**:clean implementation commit `9a20676dcf545040782f04c166205d0043345753` 已 push,clean capacity/9/9 acceptance 与 [run `33164609388`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33164609388) 4/4 通过;evidence-doc commit `ec2959680459a14aa308bd4d9ebcc6bb7bfcf3a6` 的 [run `33165775037`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33165775037) 也精确 4/4 通过。 - [x] **0004 历史索引兼容修复完成**:schema-equivalent `20260829_0006`、仅允许三个已知索引缺失子集的可重入 SQLite preflight、PostgreSQL `0005` metadata 白名单控制流、重复 active/额外 drift 拒绝、真实失败备份副本升级及本地门禁均通过;实现 SHA [`8fb51b690ae6335b8ef93b3cbe54e039781fb173`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/8fb51b690ae6335b8ef93b3cbe54e039781fb173) 的 [run `33263405214`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33263405214) 4/4 成功。historical PG missing-index 分支仍仅有 Mock 回归,标准 CI 真实 PG 只覆盖 fresh canonical 分支。 -- [ ] **Observational overdraw 修复尚未闭环**:目标行为与 `0007` migration 已通过本地完整测试、双方言 migration 和当前个人 SQLite 验真;commit/push 与 exact-SHA CI 证据待填。 +- [x] **Observational overdraw 修复完成**:目标行为与 `0007` migration 已通过本地完整测试、双方言 migration 和当前个人 SQLite 验真;最终修正 SHA [`cb00924ea3ba3d01ce5bc322b7eabdae1345baf3`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/commit/cb00924ea3ba3d01ce5bc322b7eabdae1345baf3) 的 [run `33271095910`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33271095910) 4/4 成功。 - [ ] **P2-07 正式闭环未通过**:没有数据库+keyring backup/restore 认证、完整故障矩阵和告警处置演练。 ## 已实际运行的中间证据 @@ -122,7 +122,7 @@ | P2-06 evidence-doc remote gate | [run `33165775037`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33165775037) | 精确 `ec2959680459a14aa308bd4d9ebcc6bb7bfcf3a6`,四个必需 job 全 success;P2-06 仓库级闭环完成 | | 2026-08-29 DB compatibility repair | migration `52 passed`;完整 backend `927 passed, 33 skipped`、frontend `38 passed`;lint/smoke/config、真实失败备份副本与当前库 startup/check 全绿 | `8fb51b6…` 的 exact-SHA run `33263405214` 4/4;不改变 P2-07 planned 状态 | | 2026-08-30 本地恢复/静默启动维护 | 启动器 `3 passed`;完整 backend `930 passed, 33 skipped`、frontend `38 passed`;lint/build/smoke/config、SQLite digest/quick/FK/head、真实 API/Web 读取通过 | 个人本地 Demo 数据恢复和开发 UX;`5075bdb…` 的 run `33265171953` 4/4 成功,且不是 P2-07 恢复认证 | -| 2026-08-30 observational overdraw 修复 | backend `946 passed, 33 skipped`;真实 PG+Redis integration `33 passed`;双方言 migration 往返/check、`make lint`、frontend `39 passed`/build、Mock smoke `1 passed`、Compose config 与当前库迁移验真通过 | 当前 SQLite head `0007`,scope `4→0`,7 Responses/7 ledger/407 input/599 output、13 表行数、quick/FK 保持;无真实 Provider;远程门禁待完成 | +| 2026-08-30 observational overdraw 修复 | backend `946 passed, 33 skipped`;真实 PG+Redis integration `33 passed`;双方言 migration 往返/check、`make lint`、frontend `39 passed`/build、Mock smoke `1 passed`、本地 real-Compose `9/9`、Compose config 与当前库迁移验真通过 | 当前 SQLite head `0007`,scope `4→0`,7 Responses/7 ledger/407 input/599 output、13 表行数、quick/FK 保持;无真实 Provider;`cb00924…` run `33271095910` 4/4 成功 | 所有自动化模型行为只使用 Mock、MockTransport 或 stub;没有真实 Provider 或 API Key。 @@ -149,8 +149,8 @@ ## 交付物与下一任务 -已交付候选包括 `0004`、governance/audit 模型/repository、Adapter/Runner/Worker/API/UI、enhanced capacity/PG tests,以及 P2-01 v2 多轮资格。治理 SHA `665244e…` 已通过真实 integration/capacity/acceptance;SLO SHA `b6a35fe…` 已通过 23/23 本地资格与远程 4/4 CI。P2-06 implementation SHA `9a20676…` 与 evidence-doc SHA `ec29596…` 已分别通过精确 4/4 CI,仓库级闭环完成。ADR-0018 observational overdraw 维护的本地门禁与当前库迁移已完成,当前只剩远程闭环;之后才按 [NEXT_TASK.md](../NEXT_TASK.md) 开始 P2-07 最小只读 verifier。 +已交付候选包括 `0004`、governance/audit 模型/repository、Adapter/Runner/Worker/API/UI、enhanced capacity/PG tests,以及 P2-01 v2 多轮资格。治理 SHA `665244e…` 已通过真实 integration/capacity/acceptance;SLO SHA `b6a35fe…` 已通过 23/23 本地资格与远程 4/4 CI。P2-06 implementation SHA `9a20676…` 与 evidence-doc SHA `ec29596…` 已分别通过精确 4/4 CI,仓库级闭环完成。ADR-0018 observational overdraw 维护也已在最终 SHA `cb00924…` 完成本地/当前库/远程闭环;后续才按 [NEXT_TASK.md](../NEXT_TASK.md) 开始 P2-07 最小只读 verifier。 ## 状态 -`in_progress`。P2-01 与 P2-06 已完成,P2-05 主切片已交付;observational overdraw 维护已完成本地验证,但尚无 commit/push/exact-SHA CI。P2-07 状态为 `planned`,功能尚未实现,数据库+keyring backup/restore 和完整恢复演练仍缺失。不得把 Phase 2 或当前维护标为 `completed`,不得宣称生产 HA、灾难恢复 SLA、无限横向扩展或 Provider exactly-once。 +`in_progress`。P2-01、P2-06 与 observational overdraw 维护已完成,P2-05 主切片已交付。P2-07 状态为 `planned`,功能尚未实现,数据库+keyring backup/restore 和完整恢复演练仍缺失。不得把 Phase 2 标为 `completed`,不得宣称生产 HA、灾难恢复 SLA、无限横向扩展或 Provider exactly-once。 diff --git a/docs/plans/2026-08-30-fix-observational-token-overdraw.md b/docs/plans/2026-08-30-fix-observational-token-overdraw.md index ec01f63..e7f44ed 100644 --- a/docs/plans/2026-08-30-fix-observational-token-overdraw.md +++ b/docs/plans/2026-08-30-fix-observational-token-overdraw.md @@ -1,7 +1,7 @@ # 修复观测 Token 估算误触发全局 overdraw 执行计划 - Owner: Codex -- Status: in_progress +- Status: completed - Created: 2026-08-30 - Updated: 2026-08-30 - Related phase: [Phase 2 — Reliability](../phases/PHASE-2-RELIABILITY.md) @@ -44,7 +44,7 @@ OpenCode Go `hy3` 的 managed Run 在 15 题中成功完成 7 题后以 `governa 3. [completed] 修正前端文案并补充 governance/runner/migration/frontend 回归;frontend `39 passed`。 4. [completed] 停止本地服务,备份并迁移当前 SQLite;head=`0007`,四层误判 `4→0`,旧事实保持。 5. [completed] 运行目标/完整测试、`make lint`、frontend build、Mock smoke、Compose config 与双方言 migration;完整结果见下表和工作日志。 -6. [in_progress] 实现 SHA `c6212db…` 已 push;首次精确 SHA CI 的 backend、PostgreSQL/Redis integration、frontend 三项成功,real-Compose job 暴露验收脚本对合法 nullable conservative settlement 执行 `float(None)`。最小兼容修正与本地 9/9 Compose 验收已通过,修正 commit/push 和新的精确 SHA CI 待完成。 +6. [completed] 实现 SHA `c6212db…` 已 push;首次精确 SHA CI 的 backend、PostgreSQL/Redis integration、frontend 三项成功,real-Compose job 暴露验收脚本对合法 nullable conservative settlement 执行 `float(None)`。修正 SHA `cb00924…` 已 push,本地与远端 9/9 Compose 验收及精确 SHA CI 4/4 全部成功。 ## Risks @@ -67,7 +67,7 @@ OpenCode Go `hy3` 的 managed Run 在 15 题中成功完成 7 题后以 `governa | Current DB | backup + migrate + SQL/API check | 4 scopes overdrawn→0,历史 7 Responses/usage 不变 | head=`0007`;scope `4→0`;7 Responses/7 ledger、407 input/599 output 保留;13 业务表行数一致;`quick_check=ok`、FK=0 | | Full gates | `make test`、`make lint`、build、smoke、Compose config | 全部通过 | backend `946 passed, 33 skipped`;frontend `39 passed`;`make lint` exit 0;Mock smoke `1 passed`;frontend build 与 `docker compose config` 通过 | | Compose acceptance correction | `make phase2-acceptance` | nullable hard-bound seam 与其余故障矩阵通过 | `9/9 passed`,隔离容器、卷和网络清理通过;目标脚本单测 `16 passed` | -| Remote | push + exact-SHA GitHub Actions | 必需 jobs 全绿 | `c6212db…` run `33270167616` 为 3/4;real-Compose 因 acceptance-only `float(None)` 失败,修正后的精确 SHA 待执行 | +| Remote | push + exact-SHA GitHub Actions | 必需 jobs 全绿 | 首次 `c6212db…` run `33270167616` 的 acceptance-only `float(None)` 失败已保留;修正 SHA `cb00924ea3ba3d01ce5bc322b7eabdae1345baf3` 的 [run `33271095910`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33271095910) 4/4 成功 | ## Rollback diff --git a/docs/worklogs/2026-08-30-fix-observational-token-overdraw.md b/docs/worklogs/2026-08-30-fix-observational-token-overdraw.md index adde28f..e8aab13 100644 --- a/docs/worklogs/2026-08-30-fix-observational-token-overdraw.md +++ b/docs/worklogs/2026-08-30-fix-observational-token-overdraw.md @@ -9,7 +9,7 @@ - 关联阶段:[Phase 2](../phases/PHASE-2-RELIABILITY.md) - 关联计划:[执行计划](../plans/2026-08-30-fix-observational-token-overdraw.md) - 关联 ADR:[ADR-0018](../decisions/ADR-0018-observational-token-estimates-are-not-hard-reservations.md) -- 当前状态:in_progress +- 当前状态:completed ## 初始仓库状态 @@ -41,7 +41,7 @@ - [x] 当前数据库四层误判解除,旧 Run 仍 failed/exhausted且 7 条 Response/407 input/599 output 保留。 - [x] 前端不再把所有 overdrawn 描述为 conservative settlement。 - [x] 目标/完整测试、`make lint`、frontend build、smoke、部署配置和双方言迁移验证通过。 -- [ ] 独立 commit 已 push,精确 SHA CI 必需 jobs 全部成功。 +- [x] 独立 commit 已 push,精确 SHA CI 必需 jobs 全部成功。 ## 假设与风险 @@ -55,7 +55,7 @@ 2. [completed] 建立 ADR-0018、执行计划与本日志。 3. [completed] 实现代码、迁移与回归测试,并完成本地完整与真实基础设施验证。 4. [completed] 执行当前数据库维护迁移和只读事实验证。 -5. [in_progress] 文档收尾、审查、修正 commit/push/exact-SHA CI。 +5. [completed] 文档收尾、审查、修正 commit/push/exact-SHA CI。 ## 已确认事实 @@ -87,6 +87,6 @@ - 已将 conservative settlement 验收改为逐维精确比较 nullable/numeric reserved→actual,并加入 null、numeric、mismatch 回归。目标脚本测试 `16 passed`;完整 `make phase2-acceptance` 为 `9/9 passed`,此前失败场景通过,最终 cleanup 的 container/volume/network 均为空。第一次本地尝试在业务场景前被 Docker Hub 镜像代理 `docker.1panel.live` 的 403 阻断;随后仅使用临时匿名 Docker 配置与公共缓存补齐本机基础镜像,不修改全局 Docker 配置,实际验收成功。 - 当前个人 SQLite 已由一致性备份 `backend/data/llmbenchlab-pre-0007-20260830.db`(SHA-256 `3fcf7f4980e935a78a3d7b66351cb3556f6cbba5e37d348a82d9252d4d962792`)和 migration 入口自动备份共同保护后迁移到 `20260830_0007`;两份备份均收紧为 `0600`。四层 `overdrawn` scope 从 4 降为 0,旧 Run 仍为 `failed/exhausted`,7 Responses、7 ledger、407 input/599 output 全部保留,13 张业务表行数迁移前后一致,`quick_check=ok`、foreign-key violation=0。 - 开发 API/Worker/Web 已重新启动;`/api/v1/health` 为 `ok`,任务 metrics 为 active Provider attempt `0`、overdrawn scope `0`、live Worker `1`。真实 PostgreSQL/Redis 回归使用的两个精确临时容器已停止并由 `--rm` 清除。 -- 未调用真实 Provider。首个实现 SHA 的远程门禁如实保留为 3/4;nullable acceptance 修正尚待形成新 commit/push 并取得新的 exact-SHA 4/4 证据,因此任务仍为 `in_progress`,最后一项验收保持未勾选。 +- 未调用真实 Provider。首个实现 SHA 的远程门禁如实保留为 3/4;nullable acceptance 修正 commit `cb00924ea3ba3d01ce5bc322b7eabdae1345baf3` 已普通 push,其精确 SHA [run `33271095910`](https://github.com/CWNU-Open-Source-Community/LLMBenchLab/actions/runs/33271095910) 四个必需 job 全部成功,包括 real-Compose 9/9 场景与 evidence upload。本维护仓库级闭环完成。 最终独立审查未发现 Blocker/High/Medium。剩余 Low 覆盖缺口是:seeded historical overdraw 与 active-reservation rollback 的长期自动回归目前在 SQLite,真实 PostgreSQL 已执行空库双方言 SQL 往返但未持久化同构数据 fixture;importer/capacity 的 provenance wiring 也分别由 helper/SQL 文本目标测试覆盖,尚无另一个端到端 historical row 场景。这些不改变当前修复结论,后续若扩充集成门禁可合并为一个串行 PostgreSQL fixture。