Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Refactor domain record services to canonical PipelineService naming#1404

Open
bgembalczyk wants to merge 1 commit into
main from
codex/refactor-domain-record-services-and-imports
Open

Refactor domain record services to canonical PipelineService naming #1404
bgembalczyk wants to merge 1 commit into
main from
codex/refactor-domain-record-services-and-imports

Conversation

@bgembalczyk

@bgembalczyk bgembalczyk commented Apr 10, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Standardize execution-class naming so concrete services are *PipelineService and remove the generic DomainRecordService alias used broadly.
  • Separate module responsibilities so adapters/compat shims are explicit and pipeline implementations hold execution logic.
  • Prevent accidental reintroduction of the broad DomainRecordService = ... alias by adding a static test.

Description

  • Added explicit adapter entry modules scrapers/services/domain_record/{driver,constructor,circuit,season}_adapter.py that export the canonical *PipelineService and input DTOs.
  • Introduced scrapers/services/domain_record/base_adapter.py as the canonical base adapter type and kept base_pipeline_service.py as a deprecated shim that emits a DeprecationWarning.
  • Replaced ambiguous alias imports across scrapers and tests with direct imports of DriverPipelineService, ConstructorPipelineService, CircuitPipelineService, and SeasonPipelineService, and updated call sites and typing in composition factories and single-scraper entrypoints.
  • Added a static AST test tests/test_domain_record_service_alias_policy.py that fails CI if DomainRecordService = ... assignments are introduced outside the designated transition module.

Testing

  • Ran pytest -q tests/test_domain_record_service_alias_policy.py and the new AST policy test passed.
  • Ran python -m compileall -q over the changed modules and compilation succeeded.
  • Attempted to run pytest -q tests/scrapers/circuits/test_domain_record.py tests/test_single_scraper_components_and_orchestration.py tests/test_domain_record_service_alias_policy.py but test collection failed in this environment due to a missing external dependency (ModuleNotFoundError: No module named 'layers.path_resolver').

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /