Est. MMXXV · lrscraper The Law Review Reporter Live

A continuous record of the open collection of American legal scholarship

Vol. II Tuesday, September 22, 2026 № 265

Scraper implementation

HarvardLawReviewScraper

Harvard Law Review · mapped to registry #1

Implementation identity
scrapers/harvard_law_review_scraper.py
LightBaseScraperplaywrightCLI entrypoint
no_new_content
Latest status
no new content
Run #45141
Latest runtime
6.9s
2026-09-13T00:59:45+00:00
Latest PDFs
0
3 duplicates skipped
Uploads pending
0
Queue clear or unavailable
Run history
13
Returned by current limit

Definition

Registry metadata for this implementation

scraper id
HarvardLawReviewScraper
canonical name
Harvard Law Review
institution code
-
platform
playwright
base class
LightBaseScraper
class name
HarvardLawReviewScraper
module path
scrapers.harvard_law_review_scraper
file path
scrapers/harvard_law_review_scraper.py
has cli entrypoint
true
is abstract
false
updated at
2026-09-22 17:32:34

Operational mapping

Law review ownership and publication state

Registry health
HEALTHY
Last uploaded
2026-06-30 23:03:49
Registry sync
uabox:Law_Review_Project/harvard_law_review_20260630_230318.zip
Latest error
No reported error

Run history

Runs associated with law review #1; diagnostics expand in place.

13 returned · show 200
Run Status Started Runtime Result Error / diagnostics Logs
#45141 no new content 2026-09-13T00:59:45+00:00ended 2026-09-13T00:59:52+00:00 6.9s 0 PDF 3 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 249828, "canonical_name": "Harvard Law Review", "child_pid": 83772, "discovery_coverage": {"capped": true, "discovery_complete": false, "index_complete": true, "known_units": 2235, "minimum_volume": 1, "mode": "balanced", "pages_without_pdf": 0, "remaining_units": 2232, "scope": "https://harvardlawreview.org#print-articles", "selected_units": 3, "visited_this_run": 3, "visited_units": 3}, "download_queue": {"due": 0, "pending": 0, "retries": 0, "scope": "HarvardLawReviewScraper:Harvard Law Review", "waiting": 0}, "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-09-13T00:59:45+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-09-13T00:59:45+00:00", "run_kind": "manual", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1789261185_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1789261185_HarvardLawReviewScraper.out.log", "timeout_minutes": 30}
#45119 no items 2026-09-13T00:33:14+00:00ended 2026-09-13T00:33:33+00:00 18.1s 0 PDF 0 skipped 0 errors no_items_reason: BROKEN_LOGIC: discover_urls returned 0 items (base_url=https://harvardlawreview.org); scraper did not set `_no_items_reason`
Run metadata
{"automation_cycle_id": 249792, "canonical_name": "Harvard Law Review", "child_pid": 39854, "download_queue": {"due": 0, "pending": 0, "retries": 0, "scope": "HarvardLawReviewScraper:Harvard Law Review", "waiting": 0}, "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-09-13T00:33:15+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-09-13T00:33:14+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1789259594_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1789259594_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#44331 no new content 2026-08-13T21:58:49+00:00ended 2026-08-13T21:59:19+00:00 28.6s 0 PDF 40 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 153487, "canonical_name": "Harvard Law Review", "child_pid": 2391522, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 40, "queued_items": 0}, "discovery_cutoff_elapsed_seconds": 28, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-08-13T21:58:49+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-08-13T21:58:49+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1786658329_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1786658329_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#43526 no new content 2026-07-14T18:11:50+00:00ended 2026-07-14T18:12:07+00:00 16.1s 0 PDF 40 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 44027, "canonical_name": "Harvard Law Review", "child_pid": 2916693, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 40, "queued_items": 0}, "discovery_cutoff_elapsed_seconds": 16, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-07-14T18:11:50+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-14T18:11:50+00:00", "run_kind": "manual", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1784052710_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1784052710_HarvardLawReviewScraper.out.log", "timeout_minutes": 15}
#43487 partial 2026-07-14T18:08:02+00:00ended 2026-07-14T18:08:19+00:00 16.0s 0 PDF 40 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 43988, "canonical_name": "Harvard Law Review", "child_pid": 2908473, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 40, "queued_items": 0}, "discovery_cutoff_elapsed_seconds": 15, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-07-14T18:08:02+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-14T18:08:02+00:00", "run_kind": "scheduled", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1784052482_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1784052482_HarvardLawReviewScraper.out.log", "timeout_minutes": 15}
#30106 success 2026-06-30T19:39:44+00:00ended 2026-06-30T19:58:44+00:00 1138.9s 21 PDF 99 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 27273, "canonical_name": "Harvard Law Review", "child_pid": 1427628, "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-06-30T19:58:23+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-06-30T19:39:44+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1782848384_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1782848384_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#4240 partial 2026-05-31T19:06:29+00:00ended 2026-05-31T19:15:47+00:00 557.2s 9 PDF 105 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 1499, "canonical_name": "Harvard Law Review", "child_pid": 1238525, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 114, "queued_items": 9}, "discovery_cutoff_elapsed_seconds": 487, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-05-31T19:15:29+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-31T19:06:29+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1780254389_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1780254389_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#3566 partial 2026-05-01T17:29:19+00:00ended 2026-05-01T17:30:27+00:00 67.2s 20 PDF 87 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 588, "canonical_name": "Harvard Law Review", "child_pid": 856921, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 107, "queued_items": 20}, "discovery_cutoff_elapsed_seconds": 52, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-05-01T17:30:19+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-01T17:29:19+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1777656559_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1777656559_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#2696 partial 2026-03-08T05:09:49+00:00ended 2026-03-08T05:10:31+00:00 42.0s 7 PDF 75 skipped 0 errors No reported error
Run metadata
{"canonical_name": "Harvard Law Review", "child_pid": 2439295, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 82, "queued_items": 7}, "discovery_cutoff_elapsed_seconds": 36, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-03-08T05:10:19+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-03-08T05:09:49+00:00", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1772946589_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1772946589_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#590 success 2026-02-06T02:43:34+00:00ended 2026-02-06T02:52:11+00:00 516.5s 9 PDF 0 skipped 0 errors No reported error
Run metadata
{"canonical_name": "Harvard Law Review", "child_pid": 2256464, "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-02-06T02:52:04+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T02:43:34+00:00", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770345814_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770345814_HarvardLawReviewScraper.out.log", "timeout_minutes": 25}
#521 failed 2026-01-28T05:32:57+00:00ended 2026-01-28T05:33:21+00:00 24.0s 0 PDF 0 skipped 0 errors BrokenPipeError: [Errno 32] Broken pipe
Traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/scrapers/harvard_law_review_scraper.py", line 103, in discover_urls
    self.print_status(f"Found: {metadata['title']} ({filename})")
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 107, in print_status
    print(msg)
BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 309, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/smart_scraper_simple.py", line 385, in wrapped_discover
    items = await original_discover()
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/harvard_law_review_scraper.py", line 109, in discover_urls
    self.print_status(f"Error processing {article_url}: {e}", "error")
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 107, in print_status
    print(msg)
BrokenPipeError: [Errno 32] Broken pipe
Run metadata
{"canonical_name": "Harvard Law Review"}
#452 timeout 2026-01-22T12:30:34+00:00ended 2026-01-22T13:15:34+00:00 2700.0s 0 PDF 0 skipped 1 errors timeout: Timeout after 45 minutes
Run metadata
{"returncode": null}
#1 success 2025-12-22T22:46:11.634716ended 2025-12-23T00:14:34.578532 5302.9s 11 PDF 0 skipped 0 errors No reported error

Exact scraper-ID runs

Legacy records explicitly stored under this implementation identifier.

Run Status Started Runtime Result Error / diagnostics Logs
#45141 no new content 2026-09-13T00:59:45+00:00ended 2026-09-13T00:59:52+00:00 6.9s 0 PDF 3 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 249828, "canonical_name": "Harvard Law Review", "child_pid": 83772, "discovery_coverage": {"capped": true, "discovery_complete": false, "index_complete": true, "known_units": 2235, "minimum_volume": 1, "mode": "balanced", "pages_without_pdf": 0, "remaining_units": 2232, "scope": "https://harvardlawreview.org#print-articles", "selected_units": 3, "visited_this_run": 3, "visited_units": 3}, "download_queue": {"due": 0, "pending": 0, "retries": 0, "scope": "HarvardLawReviewScraper:Harvard Law Review", "waiting": 0}, "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-09-13T00:59:45+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-09-13T00:59:45+00:00", "run_kind": "manual", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1789261185_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1789261185_HarvardLawReviewScraper.out.log", "timeout_minutes": 30}
#45119 no items 2026-09-13T00:33:14+00:00ended 2026-09-13T00:33:33+00:00 18.1s 0 PDF 0 skipped 0 errors no_items_reason: BROKEN_LOGIC: discover_urls returned 0 items (base_url=https://harvardlawreview.org); scraper did not set `_no_items_reason`
Run metadata
{"automation_cycle_id": 249792, "canonical_name": "Harvard Law Review", "child_pid": 39854, "download_queue": {"due": 0, "pending": 0, "retries": 0, "scope": "HarvardLawReviewScraper:Harvard Law Review", "waiting": 0}, "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-09-13T00:33:15+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-09-13T00:33:14+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1789259594_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1789259594_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#44331 no new content 2026-08-13T21:58:49+00:00ended 2026-08-13T21:59:19+00:00 28.6s 0 PDF 40 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 153487, "canonical_name": "Harvard Law Review", "child_pid": 2391522, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 40, "queued_items": 0}, "discovery_cutoff_elapsed_seconds": 28, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-08-13T21:58:49+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-08-13T21:58:49+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1786658329_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1786658329_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#43526 no new content 2026-07-14T18:11:50+00:00ended 2026-07-14T18:12:07+00:00 16.1s 0 PDF 40 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 44027, "canonical_name": "Harvard Law Review", "child_pid": 2916693, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 40, "queued_items": 0}, "discovery_cutoff_elapsed_seconds": 16, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-07-14T18:11:50+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-14T18:11:50+00:00", "run_kind": "manual", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1784052710_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1784052710_HarvardLawReviewScraper.out.log", "timeout_minutes": 15}
#43487 partial 2026-07-14T18:08:02+00:00ended 2026-07-14T18:08:19+00:00 16.0s 0 PDF 40 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 43988, "canonical_name": "Harvard Law Review", "child_pid": 2908473, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 40, "queued_items": 0}, "discovery_cutoff_elapsed_seconds": 15, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-07-14T18:08:02+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-07-14T18:08:02+00:00", "run_kind": "scheduled", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1784052482_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1784052482_HarvardLawReviewScraper.out.log", "timeout_minutes": 15}
#30106 success 2026-06-30T19:39:44+00:00ended 2026-06-30T19:58:44+00:00 1138.9s 21 PDF 99 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 27273, "canonical_name": "Harvard Law Review", "child_pid": 1427628, "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-06-30T19:58:23+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-06-30T19:39:44+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1782848384_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1782848384_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#4240 partial 2026-05-31T19:06:29+00:00ended 2026-05-31T19:15:47+00:00 557.2s 9 PDF 105 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 1499, "canonical_name": "Harvard Law Review", "child_pid": 1238525, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 114, "queued_items": 9}, "discovery_cutoff_elapsed_seconds": 487, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-05-31T19:15:29+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-31T19:06:29+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1780254389_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1780254389_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#3566 partial 2026-05-01T17:29:19+00:00ended 2026-05-01T17:30:27+00:00 67.2s 20 PDF 87 skipped 0 errors No reported error
Run metadata
{"automation_cycle_id": 588, "canonical_name": "Harvard Law Review", "child_pid": 856921, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 107, "queued_items": 20}, "discovery_cutoff_elapsed_seconds": 52, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-05-01T17:30:19+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-05-01T17:29:19+00:00", "run_kind": "scheduled_active", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1777656559_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1777656559_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#2696 partial 2026-03-08T05:09:49+00:00ended 2026-03-08T05:10:31+00:00 42.0s 7 PDF 75 skipped 0 errors No reported error
Run metadata
{"canonical_name": "Harvard Law Review", "child_pid": 2439295, "discovery_cutoff": true, "discovery_cutoff_details": {"consecutive_duplicates": 40, "processed_articles": 82, "queued_items": 7}, "discovery_cutoff_elapsed_seconds": 36, "discovery_cutoff_max_runtime_seconds": null, "discovery_cutoff_phase": "discovery", "discovery_cutoff_reason": "duplicate_streak", "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-03-08T05:10:19+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-03-08T05:09:49+00:00", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1772946589_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1772946589_HarvardLawReviewScraper.out.log", "timeout_minutes": 45}
#590 success 2026-02-06T02:43:34+00:00ended 2026-02-06T02:52:11+00:00 516.5s 9 PDF 0 skipped 0 errors No reported error
Run metadata
{"canonical_name": "Harvard Law Review", "child_pid": 2256464, "file_path": "scrapers/harvard_law_review_scraper.py", "heartbeat_at": "2026-02-06T02:52:04+00:00", "heartbeat_source": "orchestrator", "law_review_id": 1, "orchestrator": "lrscraper", "orchestrator_started_at": "2026-02-06T02:43:34+00:00", "scraper_id": "HarvardLawReviewScraper", "script_path": "scrapers/harvard_law_review_scraper.py", "stderr_path": "logs/orchestrator_runs/1770345814_HarvardLawReviewScraper.err.log", "stdout_path": "logs/orchestrator_runs/1770345814_HarvardLawReviewScraper.out.log", "timeout_minutes": 25}
#521 failed 2026-01-28T05:32:57+00:00ended 2026-01-28T05:33:21+00:00 24.0s 0 PDF 0 skipped 0 errors BrokenPipeError: [Errno 32] Broken pipe
Traceback
Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/scrapers/harvard_law_review_scraper.py", line 103, in discover_urls
    self.print_status(f"Found: {metadata['title']} ({filename})")
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 107, in print_status
    print(msg)
BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 309, in run
    items = await self.discover_urls()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/smart_scraper_simple.py", line 385, in wrapped_discover
    items = await original_discover()
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arbel/sites/lrscraper/scrapers/harvard_law_review_scraper.py", line 109, in discover_urls
    self.print_status(f"Error processing {article_url}: {e}", "error")
  File "/home/arbel/sites/lrscraper/light_base_scraper.py", line 107, in print_status
    print(msg)
BrokenPipeError: [Errno 32] Broken pipe
Run metadata
{"canonical_name": "Harvard Law Review"}
#452 timeout 2026-01-22T12:30:34+00:00ended 2026-01-22T13:15:34+00:00 2700.0s 0 PDF 0 skipped 1 errors timeout: Timeout after 45 minutes
Run metadata
{"returncode": null}