Merged
Conversation
Introduce JobDbStatus and JobTrackerStatus enums in models/status.py as the single source of truth for all status values across the pipeline. Foundation: - Add models/status.py with JobDbStatus (6 DB statuses) and JobTrackerStatus (7 tracker statuses), both inheriting (str, Enum) - Update schemas/ingestion.py to re-export JobDbStatus as JobStatus alias Core logic: - Remove ALLOWED_STATUSES and ALLOWED_TRACKER_STATUSES from validation.py and jobs_ingest_writer.py; validate directly via Enum construction - Refactor tracker_policy.py to use JobTrackerStatus members for TERMINAL_STATUSES, CORE_TRANSITIONS, and error messages Database layer: - Parameterize status values in SQL queries across jobs_reader.py, jobs_writer.py, and jobs_ingest_writer.py using Enum members Tools & utilities: - Use JobTrackerStatus.RESUME_WRITTEN in update_tracker_status and finalize_resume_batch tools - Use JobTrackerStatus.REVIEWED in tracker_renderer for initial status - Ensure tracker_sync converts Enum to plain string before YAML dump Tests (17 files): - Replace all hardcoded status strings with Enum members for test data setup and assertions across the entire test suite All 1272 tests pass. Zero behavior change. Ruff format/check clean.
- JobRecord: absorb to_job_schema logic (extra='ignore', empty-str→None validator) - CursorPayload: replace ~20 lines of manual isinstance checks in decode_cursor - BulkReadNewJobsRequest: change limit from Optional[int] to int, fix type diagnostics - models/job.py: delegate to JobRecord.model_validate, keep backward compat
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.