Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Rename the ten phase/faz-named test modules to feature names and add a guard against `test_(phase|faz)N` file names

Open
#911 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
55/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Active
Tech stack
github-actions, python
Domain
testing, tooling

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

area: dev-tooling severity: low source: roadmap wave: 4

Deferred work · F-PR29-A4-04 · severity Low · cost ~2 h · recorded in docs/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 matching test_<module>.py, and every live reference (code comments, standards, both review-pr skill mirrors, ci.yml) moves with it.
  • tools/check_test_naming.py rejects test_(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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from HodeTech/ForgeLM

All issues in HodeTech/ForgeLM

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.