Repository navigation
v0.1.1 — audit pass
A pass back over the project's own rules before calling this finished. Everything below was found by checking a claim, not by reading the code — which is the point of the exercise.
Fixed
An HTTP 404 was retried instead of believed. All three engines discarded what goto() returned, so every page reached the classifier with status=None. This site answers a missing path with a bare 1,040-byte page carrying no site chrome at all, which without a status classifies as "unknown" — and unknown retries, spending the budget on an address that will never exist.
Playwright and pyppeteer now thread the real status. Selenium cannot — driver.get() returns None and WebDriver exposes no HTTP status — so the parser also reads the status the site states in its own <title>404- …. That body reader is what makes three engines agree instead of two being better informed than the third.
The new not_found state is terminal: no retry, and not counted as blocked, because exit 3 would send the reader after a proxy problem when the URL is simply wrong. Verified end to end on an address this scraper accepts: /site/itemtags/list.aspx with no tags= really does answer 404 — one fetch, no retries, exit 4, previous output not overwritten.
A run pointed at page 10 quietly returned page 1. --url .../c15_p10/ --pages 2 normalised back to page 1 and reported success. The start page is now honoured — the live log shows c15_p2 then c15_p3 for a run aimed at p2.
The credential scan failed on a clean clone. It skipped virtualenvs by directory name, so following this repo's own README with the venv called anything but .venv walked into it and failed on the 32-hex string in pip's vendored packaging/_elffile.py. A venv is recognised structurally now. Measured across the family: 21 of 26 sibling repos still carry the name-based version.
Two planning implementations became one, and a fabricated fixture was replaced with a real capture — NOTFOUND_HTML had been written by hand with a 404- title and was wrong about the one thing it existed to show: a bogus goods code answers HTTP 200 with full chrome.
Verified
--concurrency 3over five pages: 120 rows, 120 distinct skus, merged in page order although they arrived 4-3-2-5.- All three engines still agree: 48 of 48 identical rows.
- The published description, topics, homepage and release notes carry no banned wording — the surfaces a file scan cannot see.
- 459 offline checks, and every new one was controlled: fix reverted, expected failures confirmed by name, fix restored. One control caught a check of mine that was passing for the wrong reason.