Skip to content

docs: say where the report goes when a scan is too big for the terminal - #1472

Merged
Ndevu12 merged 1 commit into
mainfrom
docs/document-spilled-report-path
Aug 17, 2026
Merged

docs: say where the report goes when a scan is too big for the terminal#1472
Ndevu12 merged 1 commit into
mainfrom
docs/document-spilled-report-path

Conversation

@Ndevu12

@Ndevu12 Ndevu12 commented Aug 17, 2026

Copy link
Copy Markdown
Owner

A large sweep stops printing per-finding detail and writes the full report to a file instead. The reference said only that a path is printed on stderr — not where the file lands, how long it lasts, or that what it contains differs from what was on screen.

So a reader who scrolled past that line had no way to find the report again, and no reason to expect the copy on disk to be redacted when the terminal's was not.

Now documented

You passed Written to
-d DIR DIR/latest.md and DIR/latest.json
nothing a fresh sab-report-… temporary directory, printed with the report

Plus: the evidence in that file is redacted, as in any artifact on disk; saw never deletes the temporary copy, so it survives at the operating system's discretion rather than being cleaned up; and --json turns the spill off entirely, because that payload already carries every finding in full.

Lives in reference/cli/sinks.md, which is where the other destinations are described, with a pointer from reference/cli/scan.md where the behaviour is first mentioned.

Verification

Every claim was read off the code, not from the previous docs:

  • service/run.py:320spill = not json_out and (…), so --json suppresses it, while a -d you asked for is still written
  • service/run.py:351tempfile.mkdtemp(prefix="sab-report-")
  • sinks/file_sink.py:25-27redact_payload then latest.json + latest.md

That last check caught an error in my first draft, which said --json meant no file at all — untrue when -d is also passed. Corrected before committing.

Link and cross-file-anchor check clean across 51 markdown files.

Closes #1471

A large sweep stops printing per-finding detail and writes the full
report to a file instead. The reference said only that a path is printed
on stderr — not where the file lands, how long it lasts, or that what it
contains differs from what was on screen.

So a reader who scrolled past that line had no way to find the report
again, and no reason to expect the copy on disk to be redacted when the
terminal's was not.

Now stated: the bundle goes to `-d DIR` when you gave one and to a
`sab-report-…` temporary directory otherwise; both `latest.md` and
`latest.json` are written; the evidence there is redacted, as in any
artifact on disk; `saw` never deletes the temporary copy, so it survives
at the operating system's discretion; and `--json` turns the spill off
because that payload already carries everything.

Each of those was read off the code rather than the previous docs.

Closes #1471
@Ndevu12 Ndevu12 self-assigned this Aug 17, 2026
@Ndevu12 Ndevu12 added the documentation Improvements or additions to documentation label Aug 17, 2026
@Ndevu12
Ndevu12 merged commit f9f722d into main Aug 17, 2026
12 checks passed
@Ndevu12
Ndevu12 deleted the docs/document-spilled-report-path branch August 17, 2026 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The report a long scan writes is not documented

1 participant