Adopt the `minimal_config` test factory across the suite and add a CI guard on its adoption rate
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Start by reading minimal_config in tests/_helpers/factories, then grep tests/test_*.py for inline "name_or_path": dicts to see which modules still build configs by hand. The guard script tools/check_test_factory_adoption.py does not exist yet; it needs to fail below 70% adoption and be wired into ci.yml and tests/test_guard_wiring.py. Done means the migrated modules pass, the guard runs in CI, and the CHANGELOG names the deferral ID.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Deferred work ·
F-PR29-A4-03· severity Low · cost ~3-4 h · recorded indocs/roadmap/risks-and-decisions.md:81
Summary
tests/_helpers/factories.minimal_config is documented as the single source of a minimal valid ForgeConfig, but only 21 of 128 test modules use it and 21 modules build inline config dicts without it, so a schema change has to be applied by hand to every inline copy. The PR #29 plan was a bulk migration plus tools/check_test_factory_adoption.py failing CI below 70 % adoption; adoption has since fallen from 30 % to about 16 % as the suite grew.
Condition or budget
None recorded (the row still names v0.6.x, long past). Guard threshold: 70 % adoption.
State today (re-checked 2026-10-09)
21 of 128 tests/test_*.py modules use the factory; 36 modules hold 116 inline "name_or_path": config dicts; tools/check_test_factory_adoption.py does not exist.
Acceptance criteria
- Inline
ForgeConfigdicts in tests useminimal_config(...)(or document why they cannot). -
tools/check_test_factory_adoption.pyfails below the agreed rate and is wired intoci.yml, theCLAUDE.md/AGENTS.md/CONTRIBUTING.mdgauntlet andtests/test_guard_wiring.py. - 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.
- Ngôn ngữ chính
- Python
- Star
- 9
- Fork
- 1
- Merge trung bình
- 4 giờ 3 phút
- Pull request đã merge (30 ngày)
- 3
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của HodeTech/ForgeLM
-
area: dev-tooling bug severity: low source: roadmap wave: 4
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
area: site bug good first issue severity: low source: review-2026-09 wave: 4
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
documentation good first issue severity: medium source: review-2026-09 wave: 3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
documentation good first issue severity: low source: review-2026-09 wave: 4
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 80/100
-
documentation severity: medium source: review-2026-09 wave: 3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Tất cả issue của HodeTech/ForgeLM
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
awslabs/visual-asset-management-system#414 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug v1 v2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
modelcontextprotocol/python-sdk#3670 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
aicell-lab/bioengine#232 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
modelscope/evalscope#1836 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100