Scanner Cycle Pace Report
Generated: 2026-09-18 21:53 UTC
Whether each scanner is on pace to complete its target cycle (30 days for most covered in the last 7 days projected forward against the full eligible corpus. For Relationships, coverage means a successful source-page scan; failed attempts do not count toward relationship coverage. See WORKFLOW_ORCHESTRATION_AUDIT.md Section 11 for the methodology.
| Scanner | Target cycle | Eligible URLs | Corpus covered | Covered (window) | Daily throughput | Projected cycle | Status |
|---|---|---|---|---|---|---|---|
| accessibility | 30d | 87,696 | 100.0% (87,690) | 6,366 (last 7d) | 909.4/day | 96.4d | 🟢 Caught up |
| social_media | 30d | 87,696 | 100.0% (87,690) | 24,160 (last 7d) | 3,451.4/day | 25.4d | 🟢 On pace |
| technology | 30d | 87,696 | 100.0% (87,690) | 33,285 (last 7d) | 4,755.0/day | 18.4d | 🟢 Ahead |
| third_party_js | 30d | 87,696 | 100.0% (87,690) | 13,215 (last 7d) | 1,887.9/day | 46.5d | 🟢 Caught up |
| overlays | 30d | 87,696 | 1.7% (1,523) | 0 (last 7d) | 0.0/day | —d | ⚪ No data |
| relationships | 60d | 87,696 | 93.3% (81,831) | 8,111 (last 7d) | 1,158.7/day | 75.7d | 🟡 Marginal |
| lighthouse | 60d | 87,696 | 37.5% (32,858) | 19,595 (last 7d) | 2,799.3/day | 31.3d | 🟢 Ahead |
Projection method: effective daily throughput = distinct URLs covered in the last 7 days ÷ 7;
projected cycle days = eligible URLs ÷ effective daily throughput. The 7-day measurement
window reflects recent scan velocity and is independent of each scanner’s own target cycle
length. Relationships measures successful source-page coverage using
relationship_scan_state.last_successful_at; other scanners use their configured scan
timestamp. See src/services/cycle_pace_tracker.py’s module docstring for why. ‘No data’ means
the scanner has no rows in its metadata.db within the window (never run against this database,
or the database doesn’t cover this scanner).