docs: log the day Levi's pages shipped, and the seven live defects found doing it
Dated entry per WORK_CYCLE step 6: what shipped, what the reviews found before any code was written, what each guard now refuses, and what is left. The short version of the second half: the secret scanner had never once run its private-key pattern, React was discarding the prerendered DOM on every page, the production sitemap carried no dates at all, every page preloaded the wrong image, eleven pages shipped a run-on description, an odd link could blank a page, and every Docker build context carried the operator's live credentials. All fixed, each proven by breaking it first. Next action and blockers are in the entry: the Google and Bing submissions need account access this session did not have, and Levi's four vendor screenshots need him. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6a455ae7e8
commit
8cc9b4342f
|
|
@ -46,6 +46,73 @@ sequence would have implied more.
|
||||||
|
|
||||||
## Entries
|
## Entries
|
||||||
|
|
||||||
|
### 2026-09-10 — Levi's approved pages shipped, and the guards that should have caught what was found on the way
|
||||||
|
|
||||||
|
Levi Halford approved two copy sheets on 2026-08-28 and emailed them the same
|
||||||
|
day. They sat for thirteen days. Both pages are live as v0.9.6.
|
||||||
|
|
||||||
|
**What shipped for the client.** `/services/unified-communications` and
|
||||||
|
`/services/contact-center` now serve his approved copy verbatim: 1,125 and 2,499
|
||||||
|
words, 22 sections, 17 FAQs, every section opening with its direct answer under a
|
||||||
|
stable anchor. Titles, H1s and descriptions are byte-exact, including
|
||||||
|
descriptions of 164 and 191 characters, which are emitted whole rather than
|
||||||
|
clamped at 158 as the old code would have. His two constraints were proven rather
|
||||||
|
than assumed: the footer is byte for byte identical to the pre-batch build on all
|
||||||
|
19 pages, and the Quick Info box is unchanged.
|
||||||
|
|
||||||
|
**The sheets mix directions to the website manager into the copy.** "Do not
|
||||||
|
promise that every number is always portable." "Keep this factual:" "Place an
|
||||||
|
official 8x8 Work screenshot beside this section." Those lines look exactly like
|
||||||
|
copy, and publishing one puts an internal instruction on a customer-facing page.
|
||||||
|
Extraction was done by four independent reviewers per page (coverage, leakage,
|
||||||
|
structure, fidelity) and then by a build-time check that refuses twenty such
|
||||||
|
phrases. The reviewers produced nine findings; the repair agent applied four and
|
||||||
|
rejected five with reasons, each of which held up.
|
||||||
|
|
||||||
|
**Two independent code reviews of the plan found nineteen landmines before any
|
||||||
|
code was written.** The ones that were real, and fixed:
|
||||||
|
|
||||||
|
| What | Live since |
|
||||||
|
| --- | --- |
|
||||||
|
| The secret scanner never ran its private-key pattern: grep read the leading dashes as an option and `2>/dev/null` hid the error | the rule was written |
|
||||||
|
| React discarded the prerendered DOM and re-rendered every page: hydration failed site-wide, confirmed in Chromium as error #418 | months |
|
||||||
|
| The production sitemap carried no `lastmod` at all: the image build has no git and the failure was swallowed | months |
|
||||||
|
| Every page preloaded the header logo instead of its own hero image | months |
|
||||||
|
| Eleven pages shipped a description reading as one run-on sentence | months |
|
||||||
|
| `querySelector(hash)` threw on a fragment that is not a valid CSS selector, blanking the whole page | always |
|
||||||
|
| `.drop/`, `zoho.md` (live secrets) and 60 MB of zips were sent into every Docker build context | always |
|
||||||
|
|
||||||
|
**Guards, so none of that class returns.** The content layer is validated before
|
||||||
|
a page renders (17 mutations, each producing exactly one finding). The built HTML
|
||||||
|
is audited as guard `15-built-html`: one title, description, canonical and h1 per
|
||||||
|
page, structured data that parses, no FAQPage, links and anchors that resolve,
|
||||||
|
the preload matching the hero (9 mutations, each caught). `audit-html.js --url`
|
||||||
|
fetches every page once per crawler after a deploy. `qa-browser` went from 5 of 18
|
||||||
|
pages to all of them and now hears console errors, which is how the hydration
|
||||||
|
failure was confirmed. `secrets.sh` compiles every pattern before trusting its
|
||||||
|
silence.
|
||||||
|
|
||||||
|
**Shared code, where it earned it.** One block renderer serves the privacy policy
|
||||||
|
and the two new pages, proven by the privacy page's HTML being identical to the
|
||||||
|
byte. One description builder. One route list, with the router checked against it
|
||||||
|
at build time.
|
||||||
|
|
||||||
|
- **Closed:** #218, #219, #220, #221, #222, #226, #227, #228, #229, #230, #231,
|
||||||
|
#232, #233, #234, #235, and #223 and #224. Two of #223's three claims were
|
||||||
|
disproved live and corrected on the issue rather than acted on.
|
||||||
|
- **Filed from the deploy itself:** #236, `deploy.sh` printed the digest and
|
||||||
|
version from before the recreate, so a successful deploy read as a no-op; #237,
|
||||||
|
Cloudflare rewrites the privacy email on `qn.isnull.dev`.
|
||||||
|
- **Next action:** submit both URLs in Google Search Console (Test Live URL, then
|
||||||
|
Request Indexing) and Bing Webmaster Tools, which needs account access this
|
||||||
|
session did not have (#217). Bing matters as much as Google: its index feeds
|
||||||
|
Copilot and ChatGPT search. Then reply to Levi with what shipped and ask for
|
||||||
|
the four vendor screenshots (#216), which only he can clear for use.
|
||||||
|
- **Blockers:** #216 and #217 both wait on somebody with the accounts and the
|
||||||
|
partner material. #211 is unchanged and still the real exposure: the lead
|
||||||
|
database now has six dumps, all on one workstation, still with no schedule and
|
||||||
|
no copy anywhere else.
|
||||||
|
|
||||||
### 2026-08-18 — Batch 11 closed without a line of code, and a browser found what twenty issues had not
|
### 2026-08-18 — Batch 11 closed without a line of code, and a browser found what twenty issues had not
|
||||||
|
|
||||||
Batch 11's four issues were all viewport claims. **All four were false**, and
|
Batch 11's four issues were all viewport claims. **All four were false**, and
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue