Treat pages read, row counts, and gaps as part of the deliverable. If a page fails, log the gap — don’t present the first pages as a complete collection.

(Diagram: filter snapshot → page through → gap log → CSV + completeness report.)

(Local demo: agent session that can run scripts)

(Local demo: agent chat session)
Suggested steps
- Freeze the filters up front
Have Buda record site, filters, sort, and the access scope you allow — and echo them in the report.
- Page through with counters
Log page numbers opened, rows per page, and running totals.
- Register failures explicitly
Page number + short error; no silent skips; no “complete” label when gaps exist.
- Ship a pack
CSV plus a short report: filters, pages read, rows collected, gap list, completeness (complete / incomplete).
How to confirm
- Pages read match the site total under those filters (or the report says total unknown and why).
- Any gap forces an “incomplete” conclusion with the missing pages listed.
- Spot-check: CSV rows ≈ sum of successful page counts.
Boundaries
- Redesigns, expired logins, and captchas belong in the gap log.
- Stay inside pages you’re allowed to open.
- Large tables go to files; chat keeps the summary only.