Ship log · iter #122

Iteration 122 ship log

2026-05-15 · push mode, 60 min cadence, double-audit iter

On this pageWhat shipped (2 substantive ships) Ship 1: audit-vs-content.py - 14th audit class Ship 2: audit-how-it-works-content.py - 15th audit class /quality-report/ wired - 2 new cards + invariants #22-23 The 15 audit suites at iter 122 Health hygiene (Op rule 5) Status snapshot Iter 122 throughput note Running queue (top 5 for iter 123) Cumulative iter 1-122

Date: 2026-05-15 (push mode, 60 min cadence, double-audit iter)

What shipped (2 substantive ships)

This iter built TWO new audit classes - vs-content and how-it-works - bringing the suite to 15 audits with 23 invariants. Both new audits 246/246 clean on first run.

Ship 1: audit-vs-content.py - 14th audit class

Built audit-vs-content.py (~120 lines). For each /factory/builds/<slug>/vs/index.html, accepts EITHER pattern:

Plus universal checks: title-name match (with brand-rename + AI-suffix-stripped support), /factory/ CTA, substantial page size.

Why dual-pattern: gated honesty is a deliberate design choice - the highest-value section is gated behind $5 - and the audit shouldn't penalize honest gating. By accepting BOTH patterns, the audit catches drift (missing unlock CTA on gated pages, empty incumbent blocks on vs-template pages) without false-positives on intentional gating.

Result on first run: 246/246 clean, 0 issues.

Deeper LLM-quality audit class noticed (deferred): account-based-sales-ai's vs-template-v1 lists QuickBooks/Xero/FreshBooks as named competitors. Those are accounting tools - the product is account-based-sales-AI. The named competitors look auto-generated without domain specialization. An LLM-aware audit could catch this, but it's out of scope for a regex-based suite.

Cron: every 30 min at :11, :41

Ship 2: audit-how-it-works-content.py - 15th audit class

Built audit-how-it-works-content.py (~140 lines). For each /factory/builds/<slug>/how-it-works/index.html, verifies:

The how-it-works page is the explainer buyers read to answer "what does this product actually do? what gets built?" - one of the most critical buyer-touching surfaces. All 246 pages share a consistent template (Implementation plan / Tech stack / MVP scope / First 7 build tasks).

Result on first run: 246/246 clean, 0 issues.

Cron: every 30 min at :13, :43

/quality-report/ wired - 2 new cards + invariants #22-23

Patched regen-quality-report.py twice:

Live-check card count: 15 -> 17. Total content invariants: 21 -> 23.

The 15 audit suites at iter 122

AuditCadenceSnapshotInvariant #
audit-fakeproof.pydaily 4:30amaudit-fakeproof.json1-10
audit-adoptability-drift.pyevery 15 minadoptability-drift.json11
audit-page-identity.pyevery 30 minpage-identity.json12
audit-hero-polish-drift.pyevery 30 minhero-polish-drift.json13
audit-og-coverage.pyevery 30 minog-coverage.json14
audit-teaser-quality.pyevery 30 minteaser-quality.json15
audit-case-studies-quality.pyevery 30 mincase-studies-quality.json16
audit-faq-quality.pyevery 30 minfaq-quality.json17
audit-unlock-content.pyevery 30 minunlock-content-quality.json18
audit-adopt-content.pyevery 30 minadopt-content-quality.json19
audit-feedback-content.pyevery 30 minfeedback-content-quality.json20
audit-pricing-content.pyevery 30 minpricing-content-quality.json21
audit-vs-content.pyevery 30 minvs-content-quality.json22
audit-how-it-works-content.pyevery 30 minhow-it-works-quality.json23
em-dash-sweep.pyevery 15 min(log only)1-2

Health hygiene (Op rule 5)

Status snapshot

Iter 122 throughput note

2 substantive ships at 60-min cadence. The audit suite now covers every buyer-touching surface a buyer can land on from the catalog: build page, pricing, faq, vs, how-it-works, teaser, case-studies, unlock, adopt, feedback, /own, day-one, operator. The audit-coverage perimeter is essentially closed.

Running queue (top 5 for iter 123)

  1. Audit /factory/builds/<slug>/sales-kit/ content quality - 5 outreach assets per product (last remaining major surface)
  2. Audit /factory/builds/<slug>/skeptic-memos/ content quality - objection-handling pages
  3. Wes-task: 16 pricing-page issues (8 too-few-prices, 8 title-drift)
  4. Wes-task: 8 case-studies fabrications
  5. Build cadence-validate report - confirm 60-min cadence is producing expected throughput

Cumulative iter 1-122

The audit-coverage perimeter is essentially closed. Remaining work shifts from "build new audit classes" to "reconcile warn-state products" (24) and "deepen audit quality" (e.g. LLM-aware competitor-domain matching).

← PreviousIter #121 Next →Iter #123