🐾 fix(tasks): unsupported file types fail ingest terminally, no retries #8
Reference in New Issue
Block a user
Delete Branch "fix/unsupported-file-type-terminal"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Recovers the in-flight work PR #6 deliberately excluded (it sat uncommitted on the merged
fix/svg-ingest-rasterizebranch), rebased onto current main.What
An unparseable file type raised a bare
ValueError, whichingest_from_daedalushandled like any transient fault: ERROR logging and Celery retries for input that can never succeed. Now:parsers.py: newUnsupportedFileTypeError(ValueError)— subclassesValueErrorso existingexcept ValueErrorcallers are unaffected.tasks.py: the task classifies it as a terminal client-data failure — WARNING (not ERROR) log, jobfailedwith machine-readablereason: "unsupported_file_type",retrynever called.test_tasks.py: newIngestFromDaedalusFailureClassificationTestscovering both branches (terminal vs transient-retry), with all Neo4j/S3 boundaries mocked.docs/deploy.md: small related note.Fixes applied on top of the recovered work
The original tests had never been run:
IngestJob's primary key isid(notjob_id), and calling the task via.run()bypasses Celery's request setup while the task persistsself.request.idinto the NOT NULLcelery_task_idcolumn — fixed withpush_request(id=..., retries=0)insetUp.Testing
library.tests.test_tasks+test_parsers: 22 tests, the only error being the pre-existingtest_embed_item_failurewhich fails identically on clean main (throwaway postgres:17).🤖 Generated with Claude Code