One pass for real defects before the first release candidate, in two parts run side by side. It changes no code: each real defect found becomes its own issue, fixed later by one reviewed PR on next.
Part 1, run it as a user would. Build the image from next and run it as the README's "Running under upaas" section says, with a host directory on /data. Drive the page in the digest-pinned headless Chrome in a container (the harness under test/viewport/ shows how): the first rounds, the interval menu, pause and resume, pinning, sorting, the summary and health box, the debug log, going offline and back, narrow and wide viewports. Check that the page's reports reach the backend and land in DATA_DIR, and that the health check, /metrics with and without its credentials, the rate limit, the report-file cap and a stop with docker stop behave as the README says.
Part 2, read the code for correctness. The measurement (src/main.js: how a check is timed, timeouts, rounds, statistics, health, the recovery probe, the reporter), the storage (backend/internal/reportbuf and the report handler: buffering, flushing, file names, the cap and deleting old files, shutdown) and the serving (nginx.conf, security-headers.conf, bin/entrypoint.sh, backend/internal/server and its middleware).
A defect is behaviour that differs from what the README, TODO.md or a ruling on the tracker says, or that is plainly wrong (wrong numbers, lost data, a crash, a leak). Not defects: a deliberate design decision on record, a feature listed under Future Steps, style. Already filed: #30, #118, #119.
Definition of done
Each real defect is its own issue: what is wrong, where, how to see it, and a definition of done.
One closing comment per part, linking the issues it filed, or saying it found none.
Model: opus-5-5
One pass for real defects before the first release candidate, in two parts run side by side. It changes no code: each real defect found becomes its own issue, fixed later by one reviewed PR on `next`.
**Part 1, run it as a user would.** Build the image from `next` and run it as the README's "Running under upaas" section says, with a host directory on `/data`. Drive the page in the digest-pinned headless Chrome in a container (the harness under `test/viewport/` shows how): the first rounds, the interval menu, pause and resume, pinning, sorting, the summary and health box, the debug log, going offline and back, narrow and wide viewports. Check that the page's reports reach the backend and land in `DATA_DIR`, and that the health check, `/metrics` with and without its credentials, the rate limit, the report-file cap and a stop with `docker stop` behave as the README says.
**Part 2, read the code for correctness.** The measurement (`src/main.js`: how a check is timed, timeouts, rounds, statistics, health, the recovery probe, the reporter), the storage (`backend/internal/reportbuf` and the report handler: buffering, flushing, file names, the cap and deleting old files, shutdown) and the serving (`nginx.conf`, `security-headers.conf`, `bin/entrypoint.sh`, `backend/internal/server` and its middleware).
A defect is behaviour that differs from what the README, `TODO.md` or a ruling on the tracker says, or that is plainly wrong (wrong numbers, lost data, a crash, a leak). Not defects: a deliberate design decision on record, a feature listed under Future Steps, style. Already filed: https://git.eeqj.de/sneak/netwatch/issues/30, https://git.eeqj.de/sneak/netwatch/issues/118, https://git.eeqj.de/sneak/netwatch/issues/119.
## Definition of done
- Each real defect is its own issue: what is wrong, where, how to see it, and a definition of done.
- One closing comment per part, linking the issues it filed, or saying it found none.
Model: opus-5-5
clawbot
self-assigned this 2026-10-14 10:43:26 +02:00
Part 2:
https://git.eeqj.de/sneak/netwatch/issues/123 medium
https://git.eeqj.de/sneak/netwatch/issues/124 medium
https://git.eeqj.de/sneak/netwatch/issues/122 low
https://git.eeqj.de/sneak/netwatch/issues/125 low
https://git.eeqj.de/sneak/netwatch/issues/126 low
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
One pass for real defects before the first release candidate, in two parts run side by side. It changes no code: each real defect found becomes its own issue, fixed later by one reviewed PR on
next.Part 1, run it as a user would. Build the image from
nextand run it as the README's "Running under upaas" section says, with a host directory on/data. Drive the page in the digest-pinned headless Chrome in a container (the harness undertest/viewport/shows how): the first rounds, the interval menu, pause and resume, pinning, sorting, the summary and health box, the debug log, going offline and back, narrow and wide viewports. Check that the page's reports reach the backend and land inDATA_DIR, and that the health check,/metricswith and without its credentials, the rate limit, the report-file cap and a stop withdocker stopbehave as the README says.Part 2, read the code for correctness. The measurement (
src/main.js: how a check is timed, timeouts, rounds, statistics, health, the recovery probe, the reporter), the storage (backend/internal/reportbufand the report handler: buffering, flushing, file names, the cap and deleting old files, shutdown) and the serving (nginx.conf,security-headers.conf,bin/entrypoint.sh,backend/internal/serverand its middleware).A defect is behaviour that differs from what the README,
TODO.mdor a ruling on the tracker says, or that is plainly wrong (wrong numbers, lost data, a crash, a leak). Not defects: a deliberate design decision on record, a feature listed under Future Steps, style. Already filed: #30, #118, #119.Definition of done
Model: opus-5-5
Part 2:
#123 medium
#124 medium
#122 low
#125 low
#126 low
Model: opus-5-5
Part 1:
#131 medium
Model: opus-5-5