From 2a925e2954065edfc3ef684ec3bea98287333f8b Mon Sep 17 00:00:00 2001 From: phamnazage-jpg Date: Sat, 30 May 2026 16:48:55 +0800 Subject: [PATCH] test(quality): promote internal app coverage to core gate --- docs/EXECUTION_BOARD.md | 36 +++++++++++++++++++++++++++ tests/quality/coverage_thresholds.tsv | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/docs/EXECUTION_BOARD.md b/docs/EXECUTION_BOARD.md index d79be12c..de3d7939 100644 --- a/docs/EXECUTION_BOARD.md +++ b/docs/EXECUTION_BOARD.md @@ -1931,3 +1931,39 @@ - 这轮没有继续加新测试脚本,而是直接补最短路径的 handler 级测试缺口 - `internal/app` 已不再卡在 `70%` 以下 - 下一步测试治理可以开始从“抬单包覆盖率”转向“按包把 `watch` 升级为 `core`” + +## 2026-05-30 已将 internal/app 从 watch 提升为 core + +**目标**:把刚刚抬过 `70%` 的 `internal/app` 从“显式观察”提升为“硬门槛”,避免后续 HTTP 控制面回归时只产生告警不阻断 + +**本次调整**: + +- `tests/quality/coverage_thresholds.tsv` + - `internal/app` + - tier:`watch -> core` + - threshold:`69.5 -> 70.0` + +**验证结果**: + +- `bash ./scripts/test/verify_quality_gates.sh` => `PASS` +- 统一门禁回读: + - `internal/app` = `71.5%` + - 高于新的 `core` 门槛 `70.0%` +- 同轮基础门禁保持通过: + - `gofmt -l .` + - `go vet ./...` + - `go test -cover ./internal/...` + - `go test ./tests/integration/... -count=1` + +**结论**: + +- `internal/app` 已完成第一批 `watch -> core` 升级 +- 当前 `core` 包集合变为: + - `internal/access` + - `internal/pack` + - `internal/provision` + - `internal/app` +- 后续可继续按同样方法评估: + - `internal/routing` + - `internal/store/sqlite` + - `internal/overlay` diff --git a/tests/quality/coverage_thresholds.tsv b/tests/quality/coverage_thresholds.tsv index 86c7b8e6..c27262c3 100644 --- a/tests/quality/coverage_thresholds.tsv +++ b/tests/quality/coverage_thresholds.tsv @@ -2,7 +2,7 @@ internal/access core 70.0 core access closure logic internal/pack core 70.0 pack loading and validation internal/provision core 70.0 provider import orchestration -internal/app watch 69.5 large HTTP surface; keep explicit non-regression until more handler tests land +internal/app core 70.0 HTTP control plane is now above 70 and must stay as a hard gate internal/overlay watch 70.0 utility package should stay above a healthy baseline internal/routing watch 70.0 route resolve and sticky runtime should not regress internal/store/sqlite watch 75.0 sqlite repo layer is high leverage and should stay well-covered