Fixed demonstration expectations
The built-in dataset is synthetic and deterministic. It contains no user files. The generator creates 1,248 records across 42 folders, then injects confirmed duplicate groups, same-size false positives, and filename pairs designed to collide under the default rename profile.
| Check | Expected result | Purpose |
|---|---|---|
| Record count | 1,248 | Confirms complete demo loading. |
| Folder count | 42 | Confirms path parsing and folder grouping. |
| Same-size candidate groups | 20 | Confirms broad candidate screening. |
| Content-confirmed groups | 12 | Confirms grouping by matching demo SHA-256. |
| Deliberate false-positive groups | 8 | Proves same size is not treated as duplicate proof. |
| Files in confirmed groups | 36 | Three files in each of twelve groups. |
| Potential duplicate bytes | 1.3 GB (1,399,999,692 bytes) | Counts all but one copy in each confirmed group. |
| Largest demo file | 100.7 MB | Checks sorting and largest-file summary. |
Automated code checks
- JavaScript syntax checks for
core.jsandapp.js. - Unit assertions for extension parsing, byte formatting, size candidate grouping, verified duplicate grouping, duplicate-waste calculation, name normalization, collision detection, and CSV escaping.
- Static checks for unique document IDs, required metadata, canonical URLs, valid internal links, sitemap targets, one AdSense account meta tag per indexable page, and the absence of any AdSense loader script.
- Validation that
ads.txtcontains the authorized publisher record and that the XML sitemap contains only intended canonical pages.
Browser checks
The execution environment blocks Chromium navigation to network, localhost, and file URLs. To keep the result reproducible without claiming an HTTP render that was not performed, the test assembles an isolated Chromium document from the packaged HTML, CSS, JavaScript, and the same demo JSON. The demo fetch is replaced by that in-memory copy. It then exercises summary values, inventory search, extension filters, pagination, duplicate totals, rename collisions, CSV/JSON downloads, local folder selection, the verification-control flow, mobile layout, and console errors. Because this isolated document is not a secure context, the UI-flow test uses a deterministic digest shim; the production SHA-256 function is separately executed with Node Web Crypto and checked against a known digest. Static delivery files and links are checked separately.

| Viewport | Checks |
|---|---|
| 360 × 800 | No horizontal document overflow; navigation remains scrollable; tool controls stack; summary cards remain legible. |
| 412 × 915 | Demo loads, tables remain internally scrollable, buttons are reachable, and no page-level overflow appears. |
| 1365 × 900 | Full workbench layout, demo totals, filtering, duplicate details, rename preview, and downloads. |
Machine-readable expected values
{
"records": 1248,
"folders": 42,
"total_bytes": 17241674408,
"total_human": "16.1 GB",
"largest_path": "Video/Exports/render-08-left.mp4",
"largest_bytes": 105555589,
"largest_human": "100.7 MB",
"candidate_groups": 20,
"confirmed_groups": 12,
"false_positive_groups": 8,
"confirmed_files": 36,
"duplicate_waste_bytes": 1399999692,
"duplicate_waste_human": "1.3 GB"
}What this log does not establish
The browser run does not test every operating system, browser extension, filename encoding, network condition, or filesystem. It does not prove that a user should delete any file. It also does not establish compliance decisions made by external platforms. The purpose is narrower: make the product claims reproducible and disclose what was actually tested.