Ship log · iter #123

Iteration 123 ship log

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

On this pageWhat shipped (2 substantive ships) Ship 1: audit-sales-kit-content.py - 16th audit class Ship 2: audit-skeptic-memos-content.py - 17th audit class /quality-report/ wired - 2 new cards + invariants #24-25 The 17 audit suites at iter 123 Health hygiene (Op rule 5) Status snapshot Iter 123 throughput note Running queue (top 5 for iter 124) Cumulative iter 1-123

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

What shipped (2 substantive ships)

Built audits 16 and 17: sales-kit + skeptic-memos. Both 246/246 clean on calibrated runs. The audit-coverage perimeter is now genuinely closed.

Ship 1: audit-sales-kit-content.py - 16th audit class

Built audit-sales-kit-content.py (~140 lines). For each /factory/builds/<slug>/sales-kit/index.html, accepts THREE patterns:

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

Why three patterns: the catalog evolved through different sales-kit generators. Some products got the gated treatment, some got the full asset suite, some got just LinkedIn outbound. The audit accepts ANY substantive content pattern but flags shells (no items, no cards, no gating).

Result after calibration: 246/246 clean, 0 issues.

Audit calibration journey: initial naive audit (require .item count >= 5) failed 242/246. Investigation revealed two additional templates (gated stub + message-card layout). Audit refined twice to template-agnostic semantic checks. Final state: passes legitimate templates, would still flag genuine shells.

Cron: every 30 min at :15, :45

Ship 2: audit-skeptic-memos-content.py - 17th audit class

Built audit-skeptic-memos-content.py (~125 lines). For each /factory/builds/<slug>/skeptic-memos/index.html, accepts TWO patterns:

The skeptic-memos page is unique: it lists ICP-persona memos role-playing as honest skeptics reading the homepage. Designed to break the studio's self-grading loop. Currently 63/246 pages have actual memos written (1-5 per page); the rest are gated.

Result after calibration: 246/246 clean, 0 issues.

Cron: every 30 min at :17, :47

/quality-report/ wired - 2 new cards + invariants #24-25

Patched regen-quality-report.py:

Live-check card count: 17 -> 19. Total content invariants: 23 -> 25.

The 17 audit suites at iter 123

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
audit-sales-kit-content.pyevery 30 minsales-kit-quality.json24
audit-skeptic-memos-content.pyevery 30 minskeptic-memos-quality.json25
em-dash-sweep.pyevery 15 min(log only)1-2

Health hygiene (Op rule 5)

Status snapshot

Iter 123 throughput note

2 substantive ships at 60-min cadence. Audit-coverage perimeter is now genuinely closed: every per-product surface a buyer can land on is audited. The next iter shifts focus from "build new audit class" to "reconcile warn-state products" or "deepen audit quality" (LLM-aware audits, cross-surface invariants).

Running queue (top 5 for iter 124)

  1. Audit cross-surface name consistency - verify the same brand-display-name appears across build / pricing / faq / vs / how-it-works / sales-kit / unlock / adopt / feedback pages for each product (catches partial-rename drift)
  2. Wes-task: 16 pricing-page issues (8 too-few-prices, 8 title-drift)
  3. Wes-task: 8 case-studies fabrications
  4. Reconcile 33 products with 1-2 hand-written skeptic memos - aim for 3+ memos OR gating
  5. Cadence-validate report - confirm 60-min cadence throughput

Cumulative iter 1-123

Multi-pattern audit design (accept multiple legitimate content shapes) is the pattern that closed the perimeter. Future audits should default to this approach: identify all valid content patterns first, then build a check that accepts any of them.

← PreviousIter #122 Next →Iter #124