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)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
- Issue-Typ
- Dokumentation
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- aws, shell
- Bereich
- data, documentation
Rechercherichtung
Das Rezept steht in docs/guides/ingestion.md Zeilen 634-650, mit dem einzigen Aufruf von get_document_text_detection nahe Zeile 644, und das türkische Spiegelbild in docs/guides/ingestion-tr.md Zeilen 652-668. Beginne damit, den Aufruf von start-document-text-detection in Schritt 2 zu lesen, um zu sehen, wo JobId erfasst werden sollte. Fertig ist, wenn das Snippet JOB_ID erfasst, auf JobStatus wartet, über NextToken iteriert, um jeden LINE-Block in Reihenfolge zu schreiben, und beide Sprachversionen übereinstimmen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 9
- Forks
- 1
- Ø Merge
- 7 Std. 53 Min.
- Gemergte PRs (30 T.)
- 58
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus HodeTech/ForgeLM
-
area: site bug good first issue severity: low wave: 4
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
HodeTech/ForgeLM#961 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: dev-tooling bug severity: low source: roadmap wave: 4
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
Trend-tracking jq recipe prints evaluation_completed=false as 'n/a', because jq's // operator treats false like null (F-W1-DOCS-TRAIN-16)Evtl. vergeben @yuefdev hat das vor 11 Tagen übernommen. Offendocumentation good first issue severity: low source: review-2026-09 wave: 4
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 80/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation good first issue severity: medium source: review-2026-09 wave: 3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation i18n severity: low source: review-2026-10 wave: 4
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in HodeTech/ForgeLM
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
microsoft/agent-lightning#661 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
area/profiles comp/cli P3 type/feature
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
NousResearch/hermes-agent#146372 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] OpenAI-compatible embedding model alias breaks embedder constructionEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag
-
[oblt-aw][autodoc] Document obs-aw-automerge contract and fix automerge doc inconsistenciesEvtl. vergeben @github-actions hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
GeoSeries scale and skew tests fail with pytest 9.2.0Evtl. vergeben @jiayuasu hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag