Rename the ten phase/faz-named test modules to feature names and add a guard against `test_(phase|faz)N` file names
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 55/100
Research direction
The ten phase-named modules are under tests/ (for example tests/test_phase7.py and tests/test_faz27_narrow_exceptions.py); grep for each name to find its code comments, standards, review-pr skill mirrors and ci.yml references. tools/check_test_naming.py is new and must reject names matching test_(phase|faz)\d+, then be wired into CI and the gauntlet. Done when the renames use git mv, no live reference uses the old names, the guard passes in CI, and the row is removed from docs/roadmap/risks-and-decisions.md with the ID named in the CHANGELOG.
Written by the indexing model from the issue text.
Description
Deferred work ·
F-PR29-A4-04· severity Low · cost ~2 h · recorded indocs/roadmap/risks-and-decisions.md:82
Summary
testing.md asks for one test_<module>.py per forgelm/<module>.py where practical, but ten test modules are named after review phases — test_phase7.py, test_phase12_5.py, test_phase12_review_fixes.py, test_data_audit_phase12.py, test_ingestion_phase12.py, test_cli_phase10.py, test_wizard_phase11.py, test_wizard_phase11_5.py, test_faz27_narrow_exceptions.py and, added after the deferral, test_wizard_phase22.py. With no guard the pattern keeps spreading.
Condition or budget
None recorded (the row still names v0.6.x).
State today (re-checked 2026-10-09)
All ten files are under tests/; tools/check_test_naming.py does not exist.
Acceptance criteria
- Each module is renamed with
git mv(history preserved) or folded into the matchingtest_<module>.py, and every live reference (code comments, standards, both review-pr skill mirrors,ci.yml) moves with it. -
tools/check_test_naming.pyrejectstest_(phase|faz)\d+names and is wired into CI and the gauntlet. - The row is removed from the deferral table and the CHANGELOG names its ID (the table's removal contract).
Recorded in docs/roadmap/risks-and-decisions.md (read at f94595f) and re-checked against the code on 2026-10-09. The row leaves that table only when the fix is on main, the CHANGELOG names its ID and any promised guard exists.
- Dominant language
- Python
- Stars
- 9
- Forks
- 1
- Avg merge
- 8h 10m
- Merged PRs (30d)
- 5
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from HodeTech/ForgeLM
-
area: dev-tooling bug severity: low source: roadmap wave: 4
Difficulty 2/5 1-3 hours Newbie friendliness 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)Possibly taken @vortsghost2025 claimed this today. Openarea: site bug good first issue severity: low source: review-2026-09 wave: 4
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
-
documentation good first issue severity: medium source: review-2026-09 wave: 3
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
documentation good first issue severity: low source: review-2026-09 wave: 4
Difficulty 1/5 1-3 hours Newbie friendliness 80/100
-
documentation severity: medium source: review-2026-09 wave: 3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
All issues in HodeTech/ForgeLM
Similar issues
-
[Bug]: LangGraph Store sync put bypasses namespace validationPossibly taken @ktz03 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
volcengine/OpenViking#6050 ·
Maintainers usually reply within 1 day
-
[Bug]: Streamed /v1/chat/completions sends unredacted agent error text (keys) in the final chunkPossibly taken @rodricksz4h5 claimed this today. Openarea/streaming comp/gateway P2 type/security
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
NousResearch/hermes-agent#138245 ·
Maintainers usually reply within 1 day
-
[oblt-aw][autodoc] Update user onboarding guide for mandatory trigger CODEOWNERS stepPossibly taken @github-actions claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
correction metadata
Difficulty 2/5 Under an hour Newbie friendliness 68/100
acl-org/acl-anthology#10378 · 1 comment ·
Maintainers usually reply within 1 day
-
cloudtrail_multi_region_enabled_logging_management_events fails when the advanced event selector has a custom namePossibly taken @12YYCCYY16 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
prowler-cloud/prowler#13033 ·
Maintainers usually reply within 1 day