Skip to content

source-archive: per-run cost report - #299

Merged
probably-jaden merged 1 commit into
mainfrom
feat/capture-cost-report
Jun 29, 2026
Merged

source-archive: per-run cost report#299
probably-jaden merged 1 commit into
mainfrom
feat/capture-cost-report

Conversation

@probably-jaden

@probably-jaden probably-jaden commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

New cost.py estimates a capture run's spend broken down by backend and per archived site — self-hosted CloakBrowser/Playwright/PDF are free; Hyperbrowser/Firecrawl are priced by the configured proxy mode. capture now prints the breakdown and writes reports/<run_id>_cost.json.

New cost.py estimates a capture run's spend by backend and per archived site
(self-hosted CloakBrowser/Playwright/PDF are free; Hyperbrowser/Firecrawl are
priced by the configured proxy mode). The capture CLI prints the breakdown and
writes reports/<run_id>_cost.json. Estimates from public pricing; only
successful captures are priced.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@probably-jaden
probably-jaden merged commit 3f14af6 into main Jun 29, 2026
2 checks passed
@probably-jaden
probably-jaden deleted the feat/capture-cost-report branch June 29, 2026 20:09
probably-jaden added a commit that referenced this pull request Jul 9, 2026
Since #299, write_cost_report puts <run_id>_cost.json (a JSON dict) next
to the run reports. read_outcomes assumed every .json under reports/ was
a list of outcome rows, so iterating the dict's string keys raised
AttributeError — breaking coverage for any archive with a cost report.

Skip *_cost.json keys and, defensively, any blob whose JSON is not a
list. Works for both the flat layout and the nested layout coming in
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant