Skip to content

Comments

Codex/scraper mcp#6

Merged
DengNaichen merged 5 commits intomainfrom
codex/scraper-mcp
Feb 10, 2026
Merged

Codex/scraper mcp#6
DengNaichen merged 5 commits intomainfrom
codex/scraper-mcp

Conversation

@DengNaichen
Copy link
Owner

No description provided.

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
@DengNaichen DengNaichen merged commit bf89f3a into main Feb 10, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant