Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Phase 16] S14 — Test-quality ratchet

未关闭
#900 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
12/100
Issue 类型
重构
描述清晰度
需要澄清
活跃度
活跃
技术栈
python, testing-qa
领域
testing

调研方向

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 内容生成。

描述

phase: 16 source: roadmap

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_under are both enforced, with explicit measured thresholds for compliance.py, verify/, _http.py, safety/ and config.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.md matches 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.md passes 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_history justification 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

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

HodeTech/ForgeLM 的其他 Issue

查看 HodeTech/ForgeLM 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。