Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Split `forgelm/ingestion.py` into a sub-package (`_readers`, `_chunkers`, `_pipeline`) — deferred until the next change that adds a reader or a chunker

Aperta
#905 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
data

Direzione di ricerca

Start with forgelm/ingestion.py and the _DEFERRED_SPLITS entry in tools/check_module_size.py, then read the deferral row in docs/roadmap/risks-and-decisions.md around line 80. The split must keep every public name importable from its current path, and test patch targets that named the old module need retargeting. Done means the module is a sub-package under the normal size ceiling, the deferral row is removed, and the CHANGELOG cites the ID. The issue is deferred until a reader or chunker change lands, so confirm that condition first.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area: ingestion deferred severity: low source: roadmap wave: 4

Deferred work · F-PR29-A1-06 / A1-07 / A1-08: ingestion.py · severity Low · cost ~4-8 h · recorded in docs/roadmap/risks-and-decisions.md:80

Summary

forgelm/ingestion.py is a deferred module split: PDF/DOCX/EPUB/TXT/Markdown readers, chunkers and the SFT-JSONL emitter share one file; the seams are already near-independent, which makes this the highest-value split per hour. The module-size guard holds it to a fatal no-growth budget, but nothing pays the debt down until someone takes the split.

Condition or budget

The next change that adds a reader or a chunker

State today (re-checked 2026-10-09)

2110 code lines against a budget of 2110 (1443 at PR #29).

Related

#667 and #668 track how the module-size guard counts lines and accepts budget raises; decide them before relying on a module's budget.

Acceptance criteria

  • The module becomes a sub-package along the recorded seams, behaviour-neutral, with every public name still importable from its current path.
  • Its _DEFERRED_SPLITS entry is removed from tools/check_module_size.py and every resulting module is under the normal ceiling.
  • Test patch targets that named the old module are retargeted to the module that resolves the name at call time (the forgelm/verify.py split found five that silently moved).
  • 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.

Lingua principale
Python
Stelle
9
Fork
1
Merge medio
4h 3m
PR unite (30g)
3

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di HodeTech/ForgeLM

Tutte le issue di HodeTech/ForgeLM

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.