fix(crawler): prioritize usable source retrieval over equal byte splits
Fetch candidate pages sequentially with the full remaining download budget instead of dividing a quick run's 500 KB equally across every URL. This avoids aborting otherwise readable pages at roughly 33 KB before claim extraction can inspect them. Account for bytes consumed by failed downloads, preserve fetch errors in source responses, and fail runs with no successfully extracted document using an actionable error. Keep attempted sources on failed runs for diagnostics and cover the allocation and no-usable-source paths with regression tests.
This commit is contained in:
26
HANDOFF.md
26
HANDOFF.md
@@ -7,6 +7,32 @@
|
||||
|
||||
## Aktueller Stand — 2026-09-07
|
||||
|
||||
### Claim-Ausfall durch zu kleine Seitenlimits repariert — 2026-09-07
|
||||
|
||||
Der Browser-Run `ab7d8263-cb6a-4db0-97da-4bee88408711` zeigte Quellen, aber
|
||||
keine Claims. Das API-Log bestätigte: `No successful sources ... for claim
|
||||
extraction`. Die angezeigten Quellen waren Fehlerdokumente ohne extrahierten
|
||||
Inhalt, nicht verwendbare Dokumente. Das war kein CAPTCHA- oder
|
||||
Erreichbarkeitsproblem: Browser konnten die URLs laden.
|
||||
|
||||
Ursache: Ein Quick-Run teilt sein 500-KB-Downloadbudget durch bis zu 15 URLs
|
||||
und setzte dadurch ein hartes Limit von nur ca. 33 KB pro Seite. Der Crawler
|
||||
markiert größere, sonst lesbare HTML-Seiten als `SIZE_LIMIT_EXCEEDED`; die
|
||||
frühere Quellen-API verbarg diesen Fehler zudem.
|
||||
|
||||
- Quellen werden nun nacheinander mit dem jeweils gesamten verbleibenden
|
||||
Bytebudget abgerufen. Damit erhält die erste brauchbare Seite genügend
|
||||
Platz für die Extraktion; tatsächlich abgerufene Bytes werden auch bei
|
||||
Fehlern budgetiert.
|
||||
- Wenn keine Quelle erfolgreich extrahiert wird, endet der Run eindeutig als
|
||||
fehlgeschlagen und nennt die konkreten Abruffehler.
|
||||
- Der Quellen-Endpunkt liefert das Fehlerfeld mit, damit die Oberfläche keine
|
||||
Fehlerdokumente mehr als uneingeschränkt nutzbare Quellen ausgibt.
|
||||
|
||||
Validierung: 50 gezielte Crawler- und Pipeline-Tests, Syntaxprüfung und
|
||||
Diff-Check erfolgreich. Nach Deployment eine neue Recherche starten; der
|
||||
vorherige In-Memory-Run kann nicht nachträglich mit Inhalten ergänzt werden.
|
||||
|
||||
### Evidenzbewertung und sichtbarer Fallback-Bericht in die Pipeline integriert — 2026-09-07
|
||||
|
||||
Ein Browser-Run hatte bereits abgerufene Quellen, aber keine Evidenz, keinen
|
||||
|
||||
Reference in New Issue
Block a user