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
Blocked by
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/recaptchasubmodules stay — action paths, ADR-0003)src/antibot/signatures.rsdata tables redistributed into the sources that consume themsrc/error.rs::AntibotVendorenumsrc/antibot/mod.rs::ChallengeVendorenumFrom<AntibotVendor> for VendorandFrom<ChallengeVendor> for Vendor(no callers remain)Adds:
docs/adr/0005-cutover-and-legacy-deletion.mdrecords the cutover decision and the irreversible deletionsCONTEXT.mdupdated to drop theChallengeDetector"Avoid" disclaimer and theVendorambiguity entry (resolved).github/workflows/*.yml(or equivalent) runningcargo build --all-features --tests 2>&1 | grep -c "deprecated"and asserting zero deprecation warnings fromcrawlexcodeAfter this slice,
cargo build --all-features --testsproduces zero deprecation warnings and the legacy detection modules are gone from the tree.Acceptance criteria
src/discovery/tech_fingerprint.rsdeletedsrc/runner/challenge.rsdeletedsrc/antibot/block_detector.rsdeletedsrc/runner/fetcher/auto.rsdeletedantibot::detect_from_html/detect_from_http_response/detect_from_cookiesdeletederror::AntibotVendorenum deletedantibot::ChallengeVendorenum deletedantibot::signaturesdata tables redistributed (file deleted)src/lib.rsupdated — no morepub mod tech_fingerprint,pub mod challenge, etc.docs/adr/0005-cutover-and-legacy-deletion.mdwrittenCONTEXT.mdupdated to reflect the post-deletion statecrawlexcodecargo build --all-features --tests: zero deprecation warningscargo test --all-features --no-fail-fast: same pre-existing failure count as maincargo test --all-features --test runner_ndjson_regression: byte-stableBlocked by