Adopt the `minimal_config` test factory across the suite and add a CI guard on its adoption rate
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 9
- Forks
- 1
- Merge médio
- 7h 53min
- PRs com merge (30d)
- 58
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de HodeTech/ForgeLM
-
area: site bug good first issue severity: low wave: 4
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
HodeTech/ForgeLM#961 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
area: dev-tooling bug severity: low source: roadmap wave: 4
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
Trend-tracking jq recipe prints evaluation_completed=false as 'n/a', because jq's // operator treats false like null (F-W1-DOCS-TRAIN-16)Talvez já em andamento @yuefdev assumiu há 11 dias. Abertadocumentation good first issue severity: low source: review-2026-09 wave: 4
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 80/100
Mantenedores costumam responder em até 1 dia
-
documentation severity: medium source: review-2026-09 wave: 3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
documentation good first issue severity: medium source: review-2026-09 wave: 3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
Todas as issues de HodeTech/ForgeLM
Issues semelhantes
-
app: scripts status: backlog type: documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
netbox-community/netbox-scripts#68 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 91/100
marin-community/marin#10765 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 70/100
flathub/com.unity.UnityHub#230 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
namespace operations
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 63/100
EclipseFdn/open-vsx.org#14910 ·
Mantenedores costumam responder em até 1 dia