haiku.rag/tests/ingester
Chris McDonough 3c7dbf0966
Classify PermissionError as PermanentError instead of TransientError
PermissionError is a subclass of OSError, so it was caught by the
broad timeout/io handler and classified as transient. An unreadable
file would retry 5 times then DLQ — permissions don't fix themselves
without operator intervention.

Add an explicit PermissionError check before the OSError catch so
unreadable files go straight to the DLQ.
2026-06-01 15:36:37 +03:00
..
__init__.py ingester: add source-adapter scaffolding + FS source 2026-05-26 11:41:53 +03:00
test_api.py Probe docling-serve only when converter or chunker uses it 2026-05-27 15:18:25 +03:00
test_circuit_breaker.py additional config, pollers, serve 2026-05-26 11:41:54 +03:00
test_cli.py Surface failed discovery sweeps in run-batch 2026-06-01 10:27:31 +03:00
test_config.py Collapse worker_count and max_concurrent into worker_count 2026-05-27 12:48:14 +03:00
test_fs_source.py Split snapshot APIs and resolve_fetcher by intent 2026-05-27 14:39:54 +03:00
test_http_source.py Split snapshot APIs and resolve_fetcher by intent 2026-05-27 14:39:54 +03:00
test_pipeline.py Classify PermissionError as PermanentError instead of TransientError 2026-06-01 15:36:37 +03:00
test_pollers.py Skip FS DELETE enqueue when the file is already back 2026-05-27 15:18:46 +03:00
test_queue.py Auto-prune dead jobs when a sibling DELETE succeeds 2026-05-27 17:17:01 +03:00
test_resolve_fetcher.py Split snapshot APIs and resolve_fetcher by intent 2026-05-27 14:39:54 +03:00
test_revision_round_trip.py record cassettes against new fixtures, fix stale assertions 2026-05-26 11:44:46 +03:00
test_run_batch.py Surface failed discovery sweeps in run-batch 2026-06-01 10:27:31 +03:00
test_s3_source.py Split snapshot APIs and resolve_fetcher by intent 2026-05-27 14:39:54 +03:00
test_serve_integration.py Collapse worker_count and max_concurrent into worker_count 2026-05-27 12:48:14 +03:00
test_sources_base.py route create_document_from_source through source adapters 2026-05-26 11:41:54 +03:00
test_webdav_source.py Split snapshot APIs and resolve_fetcher by intent 2026-05-27 14:39:54 +03:00
test_workers.py Auto-prune dead jobs when a sibling DELETE succeeds 2026-05-27 17:17:01 +03:00