Ship log · iter #134
Iteration 134 ship log
2026-05-15 · push mode, 60 min cadence, link-quality audits iter
Date: 2026-05-15 (push mode, 60 min cadence, link-quality audits iter)
What shipped (2 substantive ships)
Built 2 new link-quality audits. Both surfaced real systemic drift on first run: 778 placeholder CTAs across 195 pages, and 12 products missing back-links. Audit count: 32 -> 34.
Ship 1: audit-anchor-jump-noise.py - 33rd audit class
Built audit-anchor-jump-noise.py (~85 lines). For each /builds/<slug>/index.html, flags <a href="#"> placeholder links - empty-hash CTAs that scroll to top with no useful effect. These are unfinished placeholders from initial page generation (text like "Start free trial", "Route this user", "Learn more" - hand-written CTAs that never got real targets).
Result: 52/247 clean. 195 pages have placeholder links. 778 total empty-hash links.
This is the first new FAIL-state card since iter 124's cross-surface-name discovery. It's exactly what the audit suite is for - surfacing real product-quality drift that buyer-facing pages have accumulated.
Why Wes-task not fixed in this iter: each empty-hash link's correct target varies by intent ("Start free trial" -> /unlock/ vs "Learn more" -> /faq/ vs "Schedule demo" -> /contact/). Programmatic mapping risks misdirecting buyers. Better as editorial review.
Cron: every hour at :51
Ship 2: audit-cross-surface-back-link.py - 34th audit class
Built audit-cross-surface-back-link.py (~85 lines). Cross-cutting audit. For each product, verifies every sub-surface (pricing/faq/vs/how-it-works/sales-kit/skeptic-memos/case-studies/unlock/adopt/feedback) has at least one link back to /builds/<slug>/. Accepts both /builds/<slug>/ and /builds/<slug> forms.
Result: 235/247 clean. 12 products missing back-link on some sub-surface.
Distribution:
- faq: 9 (catering-ai, coach-ai, contract-ai, lead-router, pharmacy-ai, press-ai, rekinder-score, restaurant-ai, sc-warm-signal-enrichment)
- case-studies: 2 (after-hours-voice-intake-ai-for-law-firms-that-qua, creator-revenue-ai)
- skeptic-memos: 1 (law-firm-ai)
All 12 misses are on hand-written content (Wes-task).
Cron: every hour at :53
/quality-report/ wired - 2 new cards + invariants #41-42
Patched regen-quality-report.py:
- New helpers
latest_anchor_jump_noise() + latest_back_link() - New cards: "Placeholder CTA cleanup 52/247 FAIL (778 placeholder links across 195 pages)" + "Back-link coverage 235/247 WARN (12 products missing back-link)"
- 2 new audit-table rows + invariants #41-42
Live-check card count: 34 -> 36. Total content invariants: 40 -> 42.
Card state shift: 0 FAIL -> 1 FAIL (Placeholder CTAs). First fail-state card since iter 124's discovery (then fixed in iters 125-126). The audit suite continues to surface real drift as new cross-cutting audits are added.
The 34 audit suites at iter 134
Class breakdown:
- Catalog-wide: 1 (fakeproof)
- Per-surface content: 17 (unchanged from iter 132)
- Cross-cutting: 15 (cross-surface-name, jsonld, meta-tags, internal-links, twitter-card, emoji-presence, cross-surface-tagline, page-load-size, html-validity-basic, html-lang-attr, favicon-coverage, form-labels, cross-surface-utility-bar, anchor-jump-noise, cross-surface-back-link)
- Lint: 1 (em-dash-sweep)
Health hygiene
- audit-anchor-jump-noise: NEW, 52/247 clean (195 pages flagged - Wes-task)
- audit-cross-surface-back-link: NEW, 235/247 clean (12 hand-written content - Wes-task)
- Other audits unchanged
Status snapshot
- 246 scored products + 2 partial builds
- 34 audit systems (17 per-surface + 15 cross-cutting + 1 catalog-wide + 1 lint)
- 0 fake-proof findings; 252 in warn/fail (195 placeholder-CTA + 12 back-link + 19 emoji + 4 thin descriptions + 16 pricing + 8 case-studies; some pages overlap multiple audits)
- 247 brand briefs with valid archetype
- brand_name_helper.py honored by 10 generators + 1 injector
- 42 content invariants defended
- /quality-report/ surfaces 36 live-check cards (1 FAIL, 5 warn, 30 ok)
- 77/77 health endpoints, 166+ cron jobs
- 60 min cadence active
Iter 134 throughput note
2 substantive ships at 60-min cadence. Both surfaced significant systemic drift on first run - reverse-pattern from iter 132/133 where each audit either passed cleanly or got fixed in the same iter. The 195-page anchor-jump-noise finding is the largest single audit hit in this run. It accumulates from hand-crafted product pages that never had their placeholder CTAs replaced.
Running queue (top 5 for iter 135)
- Wes-task: 195 build pages with empty-hash placeholder CTAs (778 links total)
- audit-script-coverage - verify expected JS analytics + intent-handler are loaded on relevant surfaces
- audit-published-date-coverage - ship-log + essays declare timestamps?
- audit-cross-surface-stylesheet-uniformity - identifies legacy template variants
- Wes-task: 12 missing back-links + 19 emoji + 4 thin descriptions + 16 pricing + 8 case-studies
Cumulative iter 1-134
- Catalog: 246 scored + 2 partial, 246 with index.html
- Content library: 12 essays + Read-next + 273 OG PNGs + 134 styled ship-log pages
- High-trust pages: 8 foundational + 5 transparency surfaces + 1 split-brain detail
- Audit infrastructure: 34 audit systems organized into 4 classes (15 cross-cutting now)
- Source durability: 32+ generators + 11 read brand brief via helper + 30 JSON snapshots + 166+ cron jobs
- Content invariants: 42 defended at surface+source AND publicly surfaced
Audit detection rate is now high enough that not every iter can fix what it finds in the same loop. The 778 placeholder-CTA drift is the largest accumulated buyer-quality debt the audit suite has surfaced - worth Wes's attention.