A1 — Site & Content Audit (MIZOKICloudRun marketing site)
Auditor: Subagent A1 (read-only) · Date: 2026-08-08 · Tree: branch claude/mizoki-completion-run-4ms74o == origin/main @ 6ef0275
Site root: /home/user/MIZOKICloudRun/# MIZ OKI 3.5/
Governance read: TRUTH.md · .claude/rules/website-governance.md · docs/marketing/signal-story-bank.md (five rules) · scripts/content_qa.py
0. content_qa.py verdict (run by me, verbatim)
$ python3 scripts/content_qa.py
CONTENT QA OK — 12 scoped files clean (banned strings, preview framing, number labels, §-sequence)
EXIT_CODE=0
$ python3 scripts/content_qa.py --self-test
… 11/11 seeded violations CAUGHT · clean sample: 0 finding(s)
SELF-TEST PASS — the gate fires
SELFTEST_EXIT=0
Gate scope (SCOPE_FILES): signal.html, signal-thresholds.html, signal-budget.html, signal-creative.html, signal-audiences.html, signal-measurement.html, demo.html, demo-signal.html, blog/doorman-problem.html, executive-briefing/js/data.js, shopify.html, docs/marketing/shopify-app-listing-copy.md. Gate rule classes: A banned strings (affirmative mind-reading/guaranteed, deployed-intent, deployed-net-yield, "Quokka Swarm", KL figures without Airbnb attribution, 15-minute/sub-second without design-target label) · B preview framing ("Preview · in development" in any section mentioning ORACLE/anticipatory/latent intent OR net yield/net contribution) · C number labels (%/× per section need illustrative/composite/operating default/operating parameter) · D §-sequence strictly 1..N on sec-mark pages (signal×6 + shopify). NOT gate-scoped but served: index.html, pricing.html, privacy.html, terms.html, blog/index.html + 3 older posts, demo-{capital,counsel,estate,nexus,risk}.html, executive-briefing/index.html + js/app.js + js/guide.js. My scan applied the same rule classes to all of these (findings below).
1. Routing map verified (app.py)
app.py (72 KB) serves every pretty URL as a dual route: /signal/thresholds + /signal-thresholds.html → signal-thresholds.html (same pattern for budget/creative/audiences/measurement, lines 464–489), /shopify (491), /privacy /terms (501–508), /pricing (528), /demo + /demo/<desk> (701–733), /executive-briefing/ (515, trailing-slash canonical; asset route allowlists .html/.css/.js/.svg/.png/.md), /blog/* clean routes + 301 shims (860–907), /contact /intelligence /vision (743–759), /walkthrough (737).
Dead-routed legacy files (301 → /): how-it-works.html, platform.html, security.html, industries.html, case-studies.html, resources.html, roi.html, investor.html, sales-one-pager.html, demo-opener.html (app.py 841–852). The /<path> catch-all (1716) serves only non-HTML static extensions, so these files are unreachable in production but still in-tree.
2. Truth-discipline scan (per file, with file:line)
Banned-string sweep across all 29 audited files: ZERO hits for affirmative "mind-reading", affirmative "guaranteed", "Quokka Swarm", KL 4.95/0.66/0.04, "will buy", 15-minute/sub-second — on every served page. All "mind-reading" occurrences are negations (signal.html:416, demo-signal.html:397, shopify.html:211); "Never a guaranteed outcome" (shopify.html:187) is the discipline verbatim.
Findings (served surfaces)
| # | Severity | File:line | Finding |
|---|---|---|---|
| T1 | Medium | blog/decision-control-plane.html:519 |
"The DCP can handle 89% of decisions autonomously while escalating the 11% that genuinely need human judgment." Unlabeled %-figures presented as capability fact; zero illustrative/composite labels anywhere in this post. Page is served (/blog/decision-control-plane) and NOT gate-scoped. |
| T2 | Medium (adjudicate) | index.html §02 #pipeline (532–644) |
ACT-991 interactive sim: $5.0M distribution, $2.0M floor, $6.0M reserve, $1.0M post-txn (560), DEL SCORE 39 vs threshold 80 (607–611), confidence 94% / policy 98% / breach 12% (644 presets), context sufficiency 98.2% (control §03). TRUTH.md 2.5 declares ACT-991 "illustrative scenario … labeled as such at point of use". The only cover in #pipeline is the site-wide strip at hero end — index.html:488 "ILLUSTRATIVE FIGURES · REPRESENTATIVE OF A DEPLOYED MIZOKI3 SYSTEM" — which is a different section; #control has its own in-section "ILLUSTRATIVE" (625), #pipeline does not. Would fail gate rule C if index.html were scoped. |
| T3 | Medium (adjudicate) | index.html:488 |
The banner wording itself: "REPRESENTATIVE OF A DEPLOYED MIZOKI3 SYSTEM". Platform ceiling is "built, pre-benchmark" (TRUTH 3.1) and no customer deployment/pilot artifact exists; "deployed … system" implies figures are representative of production deployments. |
| T4 | Medium-high (adjudicate) | executive-briefing/js/data.js:331, 391, 452 |
Pilot-flavored metric labels: 90 bps — "margin recovery in pilot units" (331), 9% — "OEE lift on pilot lines" (391), 16% — "lower logo churn in pilot book" (452). TRUTH.md 2.3: pilot claims require a named pilot readout; none exists. The gate passes these because a sibling row in each domain block carries "(composite)" — but a reader sees "pilot" wording on rows with no label. |
| T5 | Low | executive-briefing/js/data.js:82–84, 147–148, 208–209, 269–270, 330, 390, 451, 513–514 |
Per-row unlabeled metrics beside one "(composite)" row per block, e.g. 24% "of spend identified as non-incremental and redeployed" (82), 1.8× "incremental ROAS versus the last-click view" (83), 31% "fewer SLA misses in 60 days" (208), 22% "reduction in regrettable attrition" (269), 28% "less expedite spend" (513). Gate-compliant (section-level label), but each figure does not carry its own label (TRUTH 2.6.1). App-side mitigation: briefing Stage 04 header renders "Business case · Illustrative figures" (app.js:549) and metric cards say "Illustrative · replace with your data" (app.js:560). |
| T6 | Medium | demo-signal.html:405 |
"Intent Scoring API — … served sub-100ms (Cell 28)." Present-tense latency claim for a Preview capability. Section carries "Preview · in development" (397) but "served sub-100ms" is a design target stated as operating behavior; the gate's regex (sub-second) does not match sub-100ms, so this is invisible to CI. Also stale cell number: repo memory (2026-08 inbox) records shipped intent scoring = Cell 34 (Cell 28 legacy, never repurposed). |
| T7 | Low | demo-signal.html:406 |
"(Cells 26–27, 35)" for the causal/prove stack — plan-vintage numbering; shipped causal cell is 36 (graph 35). Factual-accuracy drift vs. shipped platform, inside owner-approved canon-pinned copy — adjudicate before touching. |
| T8 | Low | demo-capital.html:251 (and meta description :10) |
"any move that drops modeled headroom below 15% is blocked in red" — no in-section illustrative/operating-default label. The SAME threshold on demo.html hub is labeled "an illustrative scenario threshold". Inconsistent labeling of the same number; demo-capital is not gate-scoped. |
| T9 | Info | executive-briefing/js/guide.js (gate-style finding) |
0%/100%/50% flagged by rule-C when applied to this unscoped file — all are CSS strings inside JS (border-radius:50%, keyframes 0%,100%). False positive; no action. |
Latent findings (dead-routed files — unreachable via routes, still in-tree; TRUTH.md binds the repo)
| # | File:line | Finding |
|---|---|---|
| L1 | security.html:93 |
<h3>Guaranteed Rollbacks</h3> — affirmative "Guaranteed". Route 301s to /. |
| L2 | roi.html:769 |
"Autonomous decision-making delivers 50-75× improvement in decision latency." Unlabeled multiplier. Route 301s to /. |
"Quokka Swarm" — every occurrence found (reported with context, per orchestrator instruction; NOT auto-flagged)
None on any served page. All occurrences are rulebook/removal-record/gate machinery:
1. # MIZ OKI 3.5/docs/marketing/mizoki-shopify-net-yield-positioning.md:24 — claim-ledger ban table: | "Quokka Swarm Optimization" inspector | Unverified novelty | Do not use until validated; say "uncertainty-based validation" |
2. # MIZ OKI 3.5/docs/marketing/mizoki-shopify-democratizing-decision-intelligence.md:5 (governance header: "references removed v1 claims (including the banned 'Quokka Swarm' term) solely as removal records") and :78 ("(Removed from v1: the 'Quokka Swarm Optimization inspector panel' claim, which originated in an unrelated sparse-data recommender paper and has no counterpart in the MIZ OKI stack.)") — the deliberately-unscoped removal record the orchestrator flagged; consistent with its stated purpose.
3. # MIZ OKI 3.5/scripts/content_qa.py:14,107,112,215,218,287,314 — the gate's own ban definition + self-test seed.
4. drop/mizoki-shopify-net-yield-positioning.md:24 and drop/claude-code-prompt-signal-net-yield-build-v2.md:10 — repo-root copies of the ban ledger/runbook.
5. .claude/memory/inbox/2026-08.md:208 + .claude/memory/archive/2026-08-07-CLAUDE-7.0.0-44bde965dfa4.md:119 — memory records of the removal.
KL figures 4.95 / 0.66 / 0.04 — every occurrence
None on served pages. docs/marketing/mizoki-shopify-democratizing-decision-intelligence.md:74 quotes all three with explicit Airbnb attribution ("Airbnb's published work … (Wei et al., arXiv:2605.21812) … Their measured results"), satisfying the attribution rule; mizoki-shopify-net-yield-positioning.md:23 is the ban table itself. pricing.html:62 0.04 is CSS rgba; data.js:536 0.04 is a JS coefficient — neither customer-visible.
3. §-sequence check (gate rule D applied everywhere)
| Page | Marks | Verdict |
|---|---|---|
| signal.html | §01–§09 | PASS (strict 1..9) |
| signal-thresholds.html | §01–§06 | PASS |
| signal-budget.html | §01–§06 | PASS |
| signal-creative.html | §01–§04 | PASS |
| signal-audiences.html | §01–§05 | PASS |
| signal-measurement.html | §01–§04 | PASS |
| shopify.html | §01–§06 | PASS |
| index.html (folio grammar, not sec-mark) | §01–§06 | PASS (continuous) |
| demo-signal.html (numbered panels) | 1–5 | PASS |
| All other audited pages | no §-grammar | n/a |
No gaps, no duplicates anywhere.
4. Link / anchor audit
Every href/src on the 25 audited HTML pages was resolved against the app.py route table + filesystem; 34 cross-page anchor references were resolved against target-page id= sets.
Broken (4):
1. pricing.html:165 — href="/#platform" → index.html has NO id="platform" (section ids: what, pipeline, control, divisions, enterprise, live). Nav link lands at page top.
2. pricing.html:167 — href="/#governance" → no id="governance" on index.html. Same failure.
3. blog/posts.json — "image": "/assets/img/blog/adc-framework/og.png" (adc post) and "/assets/img/blog/dcp/og.png" (dcp post): both files missing on disk. Consumed by /blog/feed.json (app.py:937 emits absolute URLs → 404 for feed readers). blog/index.html does not render post images, so no visible breakage on-site. (meta-relu image exists.)
4. executive-briefing/js/app.js:897 — hard-coded fallback contactUrl = "https://mizoki3.com/#contact"; homepage has no #contact anchor. Only fires if MIZOKI_CONFIG is absent (the shipped executive-briefing/index.html:45 sets contactUrl: "/contact" — a real route), so latent, embed-scenario only.
Everything else resolves: all /signal/ dual routes, /demo/ desks, /executive-briefing/ assets, /blog clean routes + shims, /privacy /terms /pricing /contact (+?source=), signal.html#capabilities (id at signal.html:248), /#pipeline /#control /#divisions all exist. Externals are Google Fonts only (+ mizoki3.com-absolute og/canonical URLs, all of which map to real routes/files — og-signal/risk/nexus/estate/demo/counsel/capital SVGs verified on disk).
5. Connector lists & L0–L5 autonomy ladder
Connector lists per page
- index.html §02 (line 537), the reference list — 12 native connectors: Gmail · Drive · GitHub · Calendar · BigQuery · Neo4j · Vertex AI · Shopify · Google Ads ("Search acquisition signals") · Meta Ads ("Facebook & Instagram signals") · Klaviyo ("Email & lifecycle marketing") · The Trade Desk ("Programmatic display & video"). Stat row (538): "Native connectors 12 · Legal domain experts 4 · SRPVDAL stages 7 · Governed MCP tools 650+".
- index.html:517 (envelope copy): "Google Ads, Meta, Shopify, contracts, tickets, ERP" (source classes, not the grid).
- signal.html §05 (368–375) Consumes: Google Ads — search acquisition signals · Meta Ads — Facebook & Instagram delivery · The Trade Desk — programmatic display & video · Klaviyo — email & lifecycle marketing · Shopify — commerce, orders & revenue · CRM records, pipeline & closed-won outcomes · Journey telemetry & consented engagement events · BigQuery warehoused facts · Neo4j relationships.
- signal-audiences.html:260 (export rails): Google Customer Match · Meta Custom Audiences · lifecycle email.
- signal-measurement.html §02 (246–250, plumbing rails): Enhanced Conversions (Google) · Meta Conversions API · Aggregated Event Measurement · GA4 Measurement Protocol · Offline conversions (GCLID/WBRAID/GBRAID).
- shopify.html:181: "Shopify orders, Google Ads, Meta, and lifecycle email".
- demo-signal.html event sources (CSS/engine, 124–128): google_ads · ga4 · meta · email · crm.
Inconsistencies vs homepage: - GA4 appears as a first-class source in the demo (demo-signal) and as a rail (signal-measurement) but is absent from the homepage 12-connector grid. Low severity, worth reconciling. - Meta descriptor drift: "Facebook & Instagram signals" (index) vs "delivery" (signal.html). Cosmetic. - shopify.html uses generic "Meta" / "lifecycle email" instead of "Meta Ads" / "Klaviyo". Cosmetic/deliberate merchant-speak. - "650+ Governed MCP tools" / "12 native connectors" (index:538) are unlabeled machinery counts — flagged as claims C45 below for verification by the platform auditor.
Autonomy-ladder wording
- index.html:717 (#enterprise): L0 Observe — "Senses and maps. Takes no action. Default." · L1 Recommend — "Surfaces explainable recommendations. Default." · L2 Approval flow · L3 Act in limits · L4 Self-correct · L5 Autonomous ("Fully autonomous, under continuous audit").
- signal.html:471–476 (§08): identical six names; L0+L1 rendered
.on("Highlighted rungs are where Signal begins"). - pricing.html:200/217/233: Starter "L0–L1 · approval-first" · Scale "L2–L3 · bounded, thresholds you control" · Enterprise "L0–L5 · per-scope grants, org-wide".
Inconsistencies: (a) index.html marks BOTH L0 and L1 "Default." — an ambiguous double default (signal.html expresses the same idea more precisely as two highlighted starting rungs); (b) pricing's "L0–L1 · approval-first" collides verbally with index/signal's L2 "Approval flow" — at L0–L1 nothing acts, so "approval-first" describes the posture but reuses the L2 rung's name; potential confusion. Names/order otherwise fully consistent across the three pages. No other page redefines the ladder.
6. Mobile-breaking HTML defects
- Viewport meta: present on all 25 audited HTML pages (zero missing).
- Fixed widths: zero
width: ≥420pxdeclarations on any audited page. - Tables: every visible
<table>is inside.tablewrap{overflow-x:auto}(signal-budget 3/3, signal-creative 1/1, signal-audiences 1/1, signal-measurement 1/1); signal dossier.formulabars carry their ownoverflow-x:auto. No unwrapped<pre>on served pages (the single<pre>is in dead-routed demo-opener.html). - Unclosed tags: none detected (all pages parse cleanly through the tag-stripping pass; no orphan section/div mismatches surfaced in section chunking).
- Shared mobile nav:
assets/js/nav-mobile.js(the site's documented "wired into every page" hamburger) is absent from 11 served pages: index.html, signal.html, all five signal-* dossiers, shopify.html, privacy.html, terms.html, blog/doorman-problem.html. The signal/shopify.strip navusesflex-wrap:wrap(degrades by wrapping, links remain reachable — not breaking, but ~7 mono-caps items wrap to 2–3 rows on narrow phones); index.html has its own nav CSS. Flagged as convention drift + UX papercut, not a hard defect. - The
.sigpages sethtml{-webkit-text-size-adjust:100%}and clamp() type — good..barledger flips to column under 560/820px. No horizontal-scroll forcers found.
7. CLAIMS LIST — present-tense machinery claims (exact quotes + lines)
Definition applied: asserts the platform DOES/HAS something mechanical today, vs. labeled preview/design language. Softening labels found nearby are noted. signal-measurement.html is the densest surface; its §03 note (line 267) blanket-asserts "mechanisms on this page are operating machinery" — that note is simultaneously the page's softener for parameters ("operating defaults — not promised outcomes") and its strongest machinery claim.
signal-measurement.html
- C1 :210 (hero) — "Signal normalizes all of it into one causal accounting system, then feeds corrected values back to the platforms' own bidders." Softening in hero: none; page-level note is in §03.
- C2 :226 — "Every conversion is re-attributed under a single house standard — 7-day click, 1-day view — regardless of which platform reported it, with empirical lag profiles per source and a nightly recompute." No label on this cell; §01's "(operating default)" sits on the drift bullet.
- C3 :230 — "Identities stitch across platforms through salted SHA-256 hashes of first-party identifiers — matching without exposure. Raw identifiers never leave the boundary; deterministic identity is required for causal math." No nearby label.
- C4 :234 — "Drift monitor — alerts when platform-reported and model-attributed revenue diverge past 20% for three consecutive days (operating default)". Label present in-line.
- C5 :235 — "Weight back-propagation — corrected attribution flows to Meta and Google bid systems, so their optimizers learn from honest numbers". No label on this bullet.
- C6 :246 — "Enhanced Conversions | hashed first-party data to Google | SHA-256, spec-normalized". Table has no per-row labels.
- C7 :247 — "Meta Conversions API | server-side events beside the pixel | shared event-id, 48h dedup".
- C8 :248 — "Aggregated Event Measurement | iOS signals under App Tracking Transparency | 8-event priority schema".
- C9 :249 — "GA4 Measurement Protocol | server-side analytics events | validated before send".
- C10 :250 — "Offline conversions | closed-won revenue back to the click | GCLID · WBRAID · GBRAID, 90-day window".
- C11 :252 — "server-side events carry the same event identity as the browser's, so nothing is counted twice".
- C12 :261 — "Design registered before the first impression — randomized holdout, ghost bids that log the auctions a control customer would have won, or matched control geographies. Minimum detectable effect declared up front."
- C13 :262 — "Heterogeneous effects estimated per segment and region with meta-learner models."
- C14 :263 — "Automated refutation tries to break the result: placebo treatments must collapse the effect, random confounders must not move it, subset re-runs must agree."
- C15 :264 — "Each conversion is classified caused or anticipated, with lift and a confidence interval, and written to the immutable ledger."
- C16 :266 — "Incremental return — not platform-reported return — is what the budget engine is allowed to read."
- C17 :267 — "mechanisms on this page are operating machinery, and the windows and thresholds shown are operating defaults — not promised outcomes." The blanket machinery assertion; also the page's honesty note.
- C18 :277 — "The Signal Factory desk runs the full seven-stage SRPVDAL loop on live runtime" (repeated on every dossier close: thresholds:333, budget:326, creative:287, audiences:301).
signal.html
- C19 :177 — "Signal runs the experiment — holdouts, ghost bids, matched geographies — and returns a number you can defend in a board meeting."
- C20 :241 — "Each conversion is classified caused or anticipated … written to the immutable audit trail. Budget reallocation reads from this ledger — never from platform-reported ROAS alone."
- C21 :487 — "The Signal Factory desk is live on the production runtime." (Verifiable: /demo/signal is a live Flask route.)
signal-thresholds.html
- C22 :210 — "Signal's threshold agents find the activation point by structured search, then concentrate spend so your campaigns live above the line."
- C23 :256 — "Signal's discovery agent runs a binary search against the live system…" Softening: :258 "Discovery procedure — operating defaults, tunable per account".
- C24 :264 — "Write the discovered threshold to the knowledge graph so every later campaign in the vertical starts warm." (also :316 playbooks stored per vertical.)
- C25 :278/:282 — "No ad set runs below $50 a day" · "80% of budget flows to the top performers rather than being spread evenly (operating default)."
- C26 :296 — "85% of decisions reinforce what is working, 15% keep exploring … (operating defaults) … evaluated on a 24-hour window."
signal-budget.html
- C27 :210/:225–230 — "Signal's reallocation engine is gated … a rectified-linear gate that passes only positive, confident, well-sampled uplift" + formula
score = ReLU(uplift) × confidence × log(sample size), gates ≥5% uplift / ≥70% confidence. Softening: :224 "operating defaults, tunable per account". - C28 :242–243 — "spend can move at most ±20% per period (operating default)" + clamp formula.
- C29 :251 — "The uplift feeding this rule comes from experiments — geographic holdouts, time-switchbacks, CUPED variance reduction — never from platform-reported ROAS."
- C30 :284–296 — "Daily reallocation cap — 10% per campaign per day" · "Canary 10% → expansion 20% → full 70%" · "A permanent 10% holdout keeps measuring ground truth" · "Circuit breakers halt on error spikes or CPA slippage". Softening: headed "operating defaults".
- C31 :308–315 — five standing policies (CPA Guard, ROAS Accelerator, Fatigue Swap, New-Segment Probe, Margin-Aware Bid) "watch every campaign … fires at most once per cooldown window."
signal-creative.html
- C32 :227–230 — fatigue triggers: "z-score > 2 vs 7-day baseline … confirmed on two consecutive windows" · "P(decline) > 0.7" · "≥ 1,000 impressions" floor. Softening: :224 "operating defaults, tunable per account".
- C33 :252 — "90% moves to the new creative; 10% stays on the old one as a live comparison (operating default) — the rotation itself is measured."
- C34 :256/:270 — "Replacement candidates are chosen by sampling from each creative's performance posterior" · "Creative tests run as bandits — Thompson sampling by default, upper-confidence-bound where regret guarantees matter."
- C35 :259 — "Replacements pass a semantic-diversity check before serving: … near-duplicates are refused."
signal-audiences.html
- C36 :241 — "The quadrants are estimated per segment with uplift models over registered experiments — the same holdout machinery as the credit ledger."
- C37 :253–257 — activation guardrails: "Cohort size 100–500,000 · Qini ≥ 0.02 · AUUC ≥ 0.55 · ATE ≥ 0.5pp · frequency capped per user/channel/day." Softening: :250 "operating defaults, every one enforced before a dollar moves".
- C38 :260 — "Cohorts that pass export to Google Customer Match, Meta Custom Audiences, or lifecycle email — with predicted incremental return computed before activation, and the measured version written back after."
shopify.html
- C39 :175 — "Holdouts, ghost bids, and matched-market experiments on your actual spend — which conversions your money caused … with confidence intervals printed on the slide."
- C40 :181 — "Shopify orders, Google Ads, Meta, and lifecycle email emit the same governed business event."
- C41 :198 — "Prove is live in the ledger above. The next two acts are built in the open and labeled honestly until a pilot verifies them." Softening around it: §05 is Preview-tagged for the other two acts.
demo-signal.html (§5 ORACLE panel — whole section Preview-framed at :397)
- C42 :405 — "Intent Scoring API — intent vectors, predicted next interests with calibrated probabilities, stage classification, and the explanation path, served sub-100ms (Cell 28)." Softening: section-level "Preview · in development"; but "served sub-100ms" is present-tense perf with no design-target label, and Cell 28 is the legacy number (shipped scoring = Cell 34 per repo memory).
- C43 :406 — "holdout, ghost-bid, and geo experiments with X-Learner / DR-Learner uplift and DoWhy refutation before any estimate is trusted (Cells 26–27, 35)." Same section framing; stale cell numbers (shipped causal = 36).
- C44 (kicker, ~:carousel head) — "SIGNAL FACTORY · Live on the production runtime." Verifiable.
index.html
- C45 :538 — "Native connectors 12 · Legal domain experts 4 · SRPVDAL stages 7 · Governed MCP tools 650+." No label; machinery counts for the platform auditor to verify.
- C46 #enterprise (~:703–716) — "CMEK provisioned by Terraform across the reasoning substrate" · "Private VPC and isolated model environments. Reasoning never leaves your perimeter" · "Every proposal, simulation, and authorization is written to a tamper-evident ledger."
demo.html
- C47 (intro) — "Every number below is produced on request by the MIZ OKI runtime — the same MCP tool registry, decision traces, and governance gates the platform ships with" · "the same runtime that powers production." Verifiable claims about the demo layer itself.
Orchestrator note: C1–C18 assert a full house-attribution + server-side-conversion + incrementality stack as operating machinery. Whether each rail (Enhanced Conversions, Meta CAPI w/ 48h dedup, AEM schema, GA4 MP, offline upload, nightly recompute, drift monitor, bid-system writeback) exists in the shipped codebase is exactly what C17's blanket "operating machinery" sentence stakes; recommend cross-checking against the platform/code auditor's inventory (connector governance rules require provider status in proof-level language; .claude/rules/marketing-commerce-connectors.md: "When work touches a provider not yet live-verified, do not describe it as complete").
8. Per-file inventory verdicts
| File | Truth | § | Links | Mobile | Notes |
|---|---|---|---|---|---|
| index.html | T2, T3; C45–C46 | §01–06 PASS | anchors OK | viewport ✓, no nav-mobile.js | hero graph + control sandbox labeled ILLUSTRATIVE; #pipeline unlabeled in-section |
| signal.html | clean; C19–C21 | §01–09 PASS | all OK | viewport ✓, wrap-nav | preview framing exemplary (§06 two "Stated plainly" notes) |
| signal-thresholds.html | clean; C22–C26 | §01–06 PASS | all OK (blog link OK) | ✓ | operating-default labels present |
| signal-budget.html | clean; C27–C31 | §01–06 PASS | all OK | ✓ tables wrapped | |
| signal-creative.html | clean; C32–C35 | §01–04 PASS | all OK | ✓ | "regret guarantees" is math-term, legal |
| signal-audiences.html | clean; C36–C38 | §01–05 PASS | all OK | ✓ | §04 preview-framed |
| signal-measurement.html | C1–C18 (claims dense) | §01–04 PASS | all OK | ✓ | §03 note is both softener and blanket claim |
| demo.html | clean; C47 | n/a | all OK | ✓ | 15% covenant labeled illustrative here |
| demo-signal.html | T6, T7; C42–C44 | panels 1–5 | all OK | ✓ | sub-100ms + stale cells |
| demo-capital.html | T8 | n/a | all OK | ✓ | 15% unlabeled here |
| demo-counsel/estate/nexus/risk.html | clean | n/a | all OK | ✓ | brief pass |
| demo-opener.html | dead-routed | n/a | n/a | 1 pre | unreachable |
| executive-briefing/index.html | clean | n/a | contactUrl=/contact ✓ | ✓ | |
| executive-briefing/js/data.js | T4, T5 | n/a | n/a | n/a | gate-scoped, passes gate |
| executive-briefing/js/app.js | clean (labels at :549/:560) | n/a | fallback #contact (latent) | n/a | |
| executive-briefing/js/guide.js | T9 false positive only | n/a | n/a | n/a | |
| blog/index.html | clean | n/a | all OK | ✓ | |
| blog/doorman-problem.html | clean (labeled composite up front) | n/a | all OK | ✓, no nav-mobile.js | |
| blog/posts.json | — | n/a | 2 missing images | n/a | feed.json emits dead URLs |
| blog/adc-decision-framework.html | clean (no numbers) | n/a | all OK | ✓ | zero labels but nothing to label |
| blog/decision-control-plane.html | T1 | n/a | all OK | ✓ | 89%/11% unlabeled |
| blog/relu-lens-meta-algorithm.html | clean (industry mechanics, no Mizoki perf numbers) | n/a | all OK | ✓ | |
| pricing.html | clean copy | n/a | 2 broken anchors (165, 167) | ✓ | no dollar figures, autonomy-mapped tiers |
| privacy.html | clean | n/a | all OK | ✓ | standard policy |
| terms.html | clean | n/a | all OK | ✓ | standard terms |
| shopify.html | clean; C39–C41 | §01–06 PASS | all OK | ✓ | model page for labeling discipline |
9. Top 10 worst violations (ranked)
pricing.html:165— broken nav anchor/#platform(user-visible nav dead-end on a money page).pricing.html:167— broken nav anchor/#governance(same).blog/decision-control-plane.html:519— unlabeled "89% … autonomously / 11%" capability figures on a served post.executive-briefing/js/data.js:331/391/452— "pilot units / pilot lines / pilot book" wording on unlabeled metrics; TRUTH 2.3 pilot-claim exposure.demo-signal.html:405— "served sub-100ms (Cell 28)": design target as present-tense perf + stale cell id; invisible to the CI regex.index.html#pipeline (532–644) — ACT-991 sim figures with no in-section illustrative label (TRUTH 2.5 point-of-use).index.html:488— "REPRESENTATIVE OF A DEPLOYED MIZOKI3 SYSTEM" vs "built, pre-benchmark" ceiling.blog/posts.json— two og images referenced but missing on disk → /blog/feed.json emits 404 image URLs.demo-capital.html:251— 15% covenant floor unlabeled (labeled "illustrative scenario threshold" on demo.html — same number, inconsistent).security.html:93— "Guaranteed Rollbacks" (latent; dead-routed file still in-tree, binds under TRUTH.md Art. 1.2).
Honorable mentions: GA4 missing from homepage connector grid while used in demo + measurement rails; L0 AND L1 both "Default." on index.html:717; pricing "L0–L1 · approval-first" vs L2 rung named "Approval flow"; nav-mobile.js absent from 11 served pages incl. all signal dossiers; app.js:897 fallback #contact anchor doesn't exist.
10. What is demonstrably healthy
- content_qa.py: clean pass, self-test proves the gate fires (11/11 seeds caught).
- Zero banned strings on every served surface; all "mind-reading"/"guaranteed" occurrences are negations.
- Preview framing on ORACLE/anticipatory-intent and net-yield copy is present and correct everywhere it's owed: signal.html §06 (two tags + two "Stated plainly" notes), §04 (:355), §07 (:457); signal-audiences §04; shopify §02/§05 notes + footer restatement; demo-signal §5; data.js signal promise + boardTalkingPoints.
- KL figures appear only with Airbnb attribution, in an unserved strategy doc.
- §-sequences strictly 1..N on all seven sec-mark pages + index folio grammar.
- Story-bank rule compliance on served story copy: composite/illustrative labels, ledger grammar (their question → quiet test → ledger → change) intact on signal.html §04, shopify.html §02–03, doorman post; no invented customer names/logos/quotes found anywhere.
- All og:image/canonical URLs resolve; all tables wrapped; viewport meta universal; no fixed-width overflow.