4.7 KiB
Claude QA Report — Queue North Website
Status: Current
Owner: _null
Last reviewed: 2026-08-18
Governs: the QA verdict — build SHAs, round summaries, the overall judgment
Review trigger: Any QA round run
The QA verdict. Companion to
ClaudeQACoverage.md(what each pass reached) andClaudeQAPlan.md(the playbook).Defects are issues, not entries here. A defect found in a round is filed in the tracker with a severity label, where it can be assigned, closed by a commit, and counted. This file keeps the part a tracker is bad at: a human's judgment about whether the thing is fit to ship.
Current run-state
- Last QA round: Round 0 — 2026-08-18, no round has been run
- Last verified build SHA:
ac6f5d1on dev, deployed to nebula asqueue-north-website:dev - Last tested device / environment: none under this plan. The container's own
healthcheck and manual
curls against both public origins are the only automated observations of the running site - Overall status: No QA round has been run against this site under any written plan, and there is no automated test suite to fall back on — the only gate is that the build compiles. The site is up, healthy and taking real form submissions, and 178 issues have been found and fixed by review rather than by testing, which is a real record but a different one. What is untested is everything a round would actually look at: the two form paths end to end into Zoho, the failure behaviour when the CRM is unreachable, accessibility, and what happens to the lead database if the volume is lost.
Open defects
Do not list them here, and do not read a defect count out of this file. The
Command Center's docs report parses this document for open P0 / P1 / P2
counts, and under this convention they are always zero — the defects are in the
tracker, which is the whole point. A repository with seventeen open P1s reports
openP1: 0 in that block and the real figure in its tracker counts. Anything
summarising defects reads the tracker's label counts; the zeros here mean this
file does not hold them, never there are none.
Filed as issues in this repository's tracker, labelled by what they cost:
- P0 — ships broken, or loses data
- P1 — materially wrong, but shippable
- P2 — cosmetic or low impact
- release-blocker — a release built today would be wrong, not merely incomplete
Severity is what it costs, not how annoying it is to fix. Every defect needs the build SHA it was found at — a finding that cannot be re-tested cannot be closed — so put it in the issue body.
A note on P3. This repository carries a fifth label, P3, on 21 closed
issues from before it adopted the convention. It is frozen: nothing new gets it.
It is not one of the four names the Command Center queries, so a defect filed
P3 today would be counted by nothing.
Round notes
Round 0 — 2026-08-18 — baseline, no testing performed
Recorded on the day the project adopted the template, so that the run-state above is a measurement rather than a blank. Nothing was tested. What is known about the running system on this date, and how:
| Observation | How it is known |
|---|---|
https://queuenorth.com/ returns 200 |
curl, once |
https://qn.isnull.dev/ returns 200 |
curl, once |
/api/health returns {"status":"ok","db":"ok"} on both origins |
curl, once each |
Both origins serve the identical bundle assets/index-pTFwovIx.js |
curl, once each — this is what established they are one container, not two |
www.queuenorth.com 301s to the apex; both origins 301 plain HTTP and carry HSTS |
curl -I, and scripts/preflight.sh clean against each |
Container qn-website-dev on nebula is healthy, restart count 0 |
docker inspect |
| The lead database holds 3 tables and took writes on 2026-08-18 | sqlite_master count and the file mtime |
| Security headers, CSP and HSTS are present on the live origin | response headers |
None of that is a QA pass. It is evidence that the thing is running.
Added later the same day. The table above originally recorded only
qn.isnull.dev, because this session had not yet established that
queuenorth.com is the production front door for the same container — an
earlier draft of docs/OPERATIONS.md asserted the opposite. The extra rows are
what was actually checked once that was known, and they are added rather than
substituted so the record shows the correction happening.
The first real round should start with pass B — the two form paths end to end, including whether a lead actually lands in Zoho — because that is the product's entire purpose and nothing has ever verified it end to end from outside.