- Rename index page title and heading to 'Missing Link'
- Give a clear message for 429 rate limit errors
- Include response body snippet in other unexpected API errors
- Log warning when falling back to unauthenticated session
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Record skips, saves, and no-match results in session["skipped"] so
revisiting an article resumes past already-checked candidates
- Filter self-links (case-insensitive first letter) from hit list
- Use OAuth session for all API reads when logged in for higher rate limits
- Add "for" template to exclusion list to avoid bad edits
- Improve API error handling with HTTP status codes logged to stderr
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
mediawiki_oauth: set User-Agent on all OAuth1Session instances so
Wikimedia doesn't reject token and API requests with 403; add timeout
parameter to api_post_request (default 4s).
mediawiki_api: add APIError exception; wrap .json() in call() to raise
APIError with status code and response body on decode failure; raise
timeout to 30s for edit POSTs.
api: wrap call_get_diff .json() with the same JSONDecodeError guard,
raising MediawikiError with HTTP status and body on failure.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>