Skip to content

C14: Legacy deletion + ADR-0005 + zero-warnings CI guard #60

Description

@filipeforattini

Parent

#46

What to build

The closing slice. With every in-tree caller migrated to the new path (C2, C4, C11, C12), delete the legacy detection modules and enums; record ADR-0005; add a CI guard preventing regression into the deprecated state.

Deletions:

  • src/discovery/tech_fingerprint.rs (1312 LOC)
  • src/runner/challenge.rs (218 LOC)
  • src/antibot/block_detector.rs (640 LOC)
  • src/runner/fetcher/auto.rs (per ADR-0004)
  • src/antibot/mod.rs::detect_from_html / detect_from_http_response / detect_from_cookies (≈290 LOC of detection-only code; bypass/cookie_pin/solver/telemetry/recaptcha submodules stay — action paths, ADR-0003)
  • src/antibot/signatures.rs data tables redistributed into the sources that consume them
  • src/error.rs::AntibotVendor enum
  • src/antibot/mod.rs::ChallengeVendor enum
  • From<AntibotVendor> for Vendor and From<ChallengeVendor> for Vendor (no callers remain)

Adds:

  • docs/adr/0005-cutover-and-legacy-deletion.md records the cutover decision and the irreversible deletions
  • CONTEXT.md updated to drop the ChallengeDetector "Avoid" disclaimer and the Vendor ambiguity entry (resolved)
  • CI step in .github/workflows/*.yml (or equivalent) running cargo build --all-features --tests 2>&1 | grep -c "deprecated" and asserting zero deprecation warnings from crawlex code

After this slice, cargo build --all-features --tests produces zero deprecation warnings and the legacy detection modules are gone from the tree.

Acceptance criteria

  • src/discovery/tech_fingerprint.rs deleted
  • src/runner/challenge.rs deleted
  • src/antibot/block_detector.rs deleted
  • src/runner/fetcher/auto.rs deleted
  • antibot::detect_from_html / detect_from_http_response / detect_from_cookies deleted
  • error::AntibotVendor enum deleted
  • antibot::ChallengeVendor enum deleted
  • antibot::signatures data tables redistributed (file deleted)
  • src/lib.rs updated — no more pub mod tech_fingerprint, pub mod challenge, etc.
  • docs/adr/0005-cutover-and-legacy-deletion.md written
  • CONTEXT.md updated to reflect the post-deletion state
  • CI guard added that fails build on any deprecation warning from crawlex code
  • cargo build --all-features --tests: zero deprecation warnings
  • cargo test --all-features --no-fail-fast: same pre-existing failure count as main
  • cargo test --all-features --test runner_ndjson_regression: byte-stable
  • PR description summarizes total LOC deletion across all modules (~2400 LOC)

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-triageAwaiting triagerustPull requests that update rust code

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions