Ingestion guide's AWS Textract recipe reads only the first GetDocumentTextDetection page and never checks JobStatus, silently truncating multi-page OCR text (F-W1-DOCS-TRAIN-13)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 72/100
- Type d'issue
- Documentation
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- aws, shell
- Domaine
- data, documentation
Piste de recherche
La recette se trouve dans docs/guides/ingestion.md lignes 634-650, avec l'unique appel à get_document_text_detection vers la ligne 644, et la version miroir en turc dans docs/guides/ingestion-tr.md lignes 652-668. Commencez par lire l'appel start-document-text-detection de l'étape 2 pour voir où JobId doit être capturé. C'est terminé lorsque l'extrait capture JOB_ID, attend JobStatus, boucle sur NextToken pour écrire chaque bloc LINE dans l'ordre, et que les deux versions linguistiques correspondent.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Wave 3 · group W3 Docs · highest severity Medium · 1 finding(s) · effort docs fix
Summary
The OCR recipe makes one get_document_text_detection call, writes the LINE blocks it returns and runs forgelm ingest on the result. Textract returns at most 1,000 blocks per call — PAGE, LINE and WORD blocks all count — plus a NextToken for the rest, so a typical multi-page scan is cut short with no error and the truncated text becomes training data.
Primary finding
F-W1-DOCS-TRAIN-13 — The Textract recipe silently truncates paginated OCR output
severity Medium · confidence high · checked against the AWS API reference
What happens. docs/guides/ingestion.md:634-650 (Turkish mirror docs/guides/ingestion-tr.md:652-668); the single call is at EN :644 / TR :662. The snippet never follows NextToken and never checks JobStatus, so a job that is still IN_PROGRESS, FAILED or only a PARTIAL_SUCCESS looks the same as a finished one. It also uses $JOB_ID without showing where it comes from: the start-document-text-detection call in step 2 does not capture the returned JobId.
Where.
docs/guides/ingestion.md:634-650(single call at :644)docs/guides/ingestion-tr.md:652-668(single call at :662)
Evidence (re-verified on 2026-10-09).
- AWS Textract API reference, GetDocumentTextDetection: results are paginated; when a response includes
NextToken, call the operation again with it to get the next set;MaxResultsdefaults to 1,000 (https://docs.aws.amazon.com/textract/latest/APIReference/API_GetDocumentTextDetection.html). - The source review ran the embedded snippet against a two-page stub client: it made one call, printed only the first page and exited normally.
- Both guide pages are unchanged on
development.
Recommended fix. Capture the job id (JOB_ID=$(aws textract start-document-text-detection … --query JobId --output text)), wait until JobStatus is no longer IN_PROGRESS (or point to AWS's polling / SNS pattern), stop with an error on FAILED, print a warning on PARTIAL_SUCCESS, and loop over NextToken so every page's LINE blocks are written in order before forgelm ingest runs.
Acceptance criteria
- The recipe follows
NextTokenuntil it is absent and writes every LINE block in order. - A failed or still-running job stops the recipe before
forgelm ingest; a partial success is reported. - The snippet shows where
JOB_IDcomes from. - Documentation listed above is corrected in English and in its Turkish mirror in the same PR.
- The finding is resolved or explicitly closed with a reason.
Found by the September 2026 independent review of ForgeLM against commit cab2947 and re-verified against development at f94595f on 2026-10-09. Code links point at cab2947; line numbers may have moved since. Finding IDs (F-W1-…) are stable references for this backlog.
- Langage dominant
- Python
- Étoiles
- 9
- Forks
- 1
- Merge moyen
- 7 h 53 min
- PR mergées (30 j)
- 58
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de HodeTech/ForgeLM
-
area: site bug good first issue severity: low wave: 4
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
HodeTech/ForgeLM#961 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
area: dev-tooling bug severity: low source: roadmap wave: 4
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
Trend-tracking jq recipe prints evaluation_completed=false as 'n/a', because jq's // operator treats false like null (F-W1-DOCS-TRAIN-16)Peut-être pris @yuefdev l’a pris il y a 8 jours. Ouvertedocumentation good first issue severity: low source: review-2026-09 wave: 4
Difficulté 1/5 1-3 heures Accessibilité débutants 80/100
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue severity: medium source: review-2026-09 wave: 3
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
documentation i18n severity: low source: review-2026-10 wave: 4
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de HodeTech/ForgeLM
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
521xueweihan/HelloGitHub#4115 ·
-
get_lldp_neighbors_detail: query asks for 'max-address' (typo for 'mac-address'), so remote_chassis_id is always emptyPeut-être pris @Jah-yee l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
-
lesson-submission pending-review
Difficulté 1/5 Moins d'une heure Accessibilité débutants 74/100
Ikalus1988/MisakaNet#3899 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
aws-samples/sample-per-model-bedrock#549 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100