[Phase 16] S14 — Test-quality ratchet
还没有人认领这个 Issue。
评估
调研方向
Start with the step description at docs/roadmap/phase-16-trust-surface-hardening.md lines 723-744 and the coverage settings that set fail_under, then read testing.md for the currently stated floor. Done means diff-coverage and a ratcheted global floor are enforced, per-module floors exist for compliance.py, verify/, _http.py, safety/ and config.py, and stubbing each curated function makes its test fail.
由索引模型根据 Issue 内容生成。
描述
Roadmap · Phase 16, step S14 · size M · 2 unit(s) · planned in
docs/roadmap/phase-16-trust-surface-hardening.md:723-744
Summary
The test suite's own quality contract is weaker than its actual quality: a 40 % coverage floor guards a measured 86.60 %, and a curated subset of tests asserts only "did not raise" and would pass against a pass body. Deliberately late in the phase, so the ratchet is not calibrated against pre-remediation code.
Units
| Unit | Tracked by (October 2026 review) |
|---|---|
F-W20260729-OPS-20 |
#702 |
F-W20260729-OPS-21 |
#80 · #559 · #567 · #681 · #692 · #696 |
Decisions this step executes
- C-19 — coverage ratchet: diff-coverage enforcing at S14 only (the "advisory at S1" limb was withdrawn: a CI step that cannot go red is a fake green); global floor = measured − 2.
Plan
- Introduce diff-coverage once, enforcing; ratchet the global
fail_under; add per-module floors.
Exit criteria
- Diff-coverage on changed lines and a ratcheted global
fail_underare both enforced, with explicit measured thresholds forcompliance.py,verify/,_http.py,safety/andconfig.py. - Replacing the body of each curated production function with a no-op makes its test fail.
- The 71-function inventory is triaged by hand into legitimate no-exception contracts versus silent-pass risks, with the disposition recorded.
- The floor stated in
testing.mdmatches the enforced one.
How to deliver
- One root-cause family, committed on its own; then an Opus review round and a Sonnet review round, each with verified findings fixed and committed before the next step begins.
- A reproducer that is red before the fix and green after; the full gauntlet from
CLAUDE.mdpasses under./.venv/bin/python. - Every English documentation edit ships with its Turkish mirror in the same commit; a new or renamed audit event gets its EN and TR catalog rows in the same PR.
- A step that grows a deferred module carries its
budget_historyjustification in the same diff; a widened guard rolls out non-strict first, then flips. - Commit bodies cite
Absorbs F-W20260729-…; the CHANGELOG[Unreleased]section gets an entry only for a change a user or library consumer can observe (decision C-20).
Planned in docs/roadmap/phase-16-trust-surface-hardening.md (read at f94595f). Unit IDs (F-W20260729-…) come from the 2026-07-29/30 full-project review; the issue numbers next to them are the October 2026 review's records of the same defects.
- 主要语言
- Python
- 星标
- 9
- 派生
- 1
- 平均合并
- 8 小时 10 分钟
- 30 天内合并 PR
- 5
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
HodeTech/ForgeLM 的其他 Issue
-
area: dev-tooling bug severity: low source: roadmap wave: 4
难度 2/5 1-3 小时 新手友好度 70/100
-
Site: the theme-locked --code-comment grey (#6a6f80) on the dark code surface is 3.8:1, below WCAG AA, in both themes (F-W1-SITE-06)可能已有人在做 @vortsghost2025 今天认领。 未关闭area: site bug good first issue severity: low source: review-2026-09 wave: 4
难度 2/5 1-3 小时 新手友好度 66/100
-
documentation good first issue severity: medium source: review-2026-09 wave: 3
难度 2/5 1-3 小时 新手友好度 75/100
-
documentation good first issue severity: low source: review-2026-09 wave: 4
难度 1/5 1-3 小时 新手友好度 80/100
-
documentation severity: medium source: review-2026-09 wave: 3
难度 2/5 1-3 小时 新手友好度 72/100
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 78/100
uniswap-python/uniswap-python#487 ·
-
[Bug]: agent_final_response still returns the abandoned branch's answer after navigate moves HEAD back可能已有人在做 @enyst 今天认领。 未关闭bug priority:low ready-for-dev
难度 2/5 1-3 小时 新手友好度 72/100
OpenHands/software-agent-sdk#5822 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 72/100
-
area: server enhancement good first issue
难度 2/5 1-3 小时 新手友好度 82/100
scs0209/laya-guard#52 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 2 天内回复