Session wrap-up 2026-08-20: testimonial canon rule + estimation lesson - #483
Merged
Merged
Conversation
W2's scroll gate flagged this in August and the fix was frozen 'until this wave'. Reproduced before fixing, and it was worse than recorded: on fractional-cto-sow-reference a table rendered 507px wide inside a 354px column (recorded as 25px), with overflow-x visible on the parent - no scroll container anywhere. first-paying-customer-operating-kit overflowed 51px, pre-existing since W1 #428. Mobile-only media query in single-post.css, which both single.html and course/single.html already load, so one rule covers blog and course and every sibling reference table at once. display:block is what makes a table scrollable; scoping it under 767px keeps the desktop auto-layout the wide reference tables depend on. Verified at a true 390x844 device render: all four tables now cap at the 354px column and scroll internally, document scrollWidth == viewport on both named pages (was overflowing). Desktop re-checked at 1280: display:table, overflow-x:visible, full 684px column - untouched. bin/qtest --changed green (34 runs, 53 screenshots, 0 failures). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…se studies
Found by following C0.1's ratchet output: 25 of its 40 violations traced to
client copy syndicated across every services page. Pulling that thread
surfaced something much worse than a banned adjective.
**data/testimonials.yaml carried four synthetic testimonials** - Sarah Chen
/ TechStart Solutions, David Rodriguez / EcomMega, Maria Gonzalez /
HealthTech Innovations, Alex Thompson / EduPlatform - with
placeholder-shaped company names and unsourced round metrics ('Secured $2M
Series A', '300% improvement in page load speeds', '99.8% uptime'). They
rendered on the LIVE homepage, /clients, /about-us and /use-cases, because
this data file overrides the curated single testimonial in hugo.toml.
Someone had already curated hugo.toml down to the one real testimonial
(Bruno Wozniak / PubNative, corroborated by a live LinkedIn profile and the
Review schema). The data file quietly overrode that curation in the visible
render. Same defect class the schema purges of 2026-08-14 and #475 removed
from structured data - this was the visible-copy half nobody had swept.
Removed all four. Kept Bruno's verbatim quote and attribution, dropped his
block: three round percentages that appear nowhere in his quote
and trace to no source. Restore path is in the file header.
Also: fractional-cto-roi-calculator presented five full-name founders with
direct quotes under 'Real Founder Stories ... from JetThoughts clients',
with no anonymisation disclaimer - and said 'three stories' while showing
five. Its sibling infrastructure-spending post already carries the honest
form ('names changed, numbers accurate'). Relabelled as composites with the
count fixed. NOTE: 'Sarah Chen' appears both here and in the synthetic
testimonials, which is why I did not simply assert these are real
engagements - see the handback.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… coverage gaps Four durable captures from the 2026-08-20 session that were not already logged as they happened: - claims-canon gains a testimonial rule. The finding worth keeping is not 'four fake testimonials existed' but the MECHANISM: hugo.toml had been curated to the one real testimonial, and data/testimonials.yaml silently outranked it because the partial reads the data file first. Cleaning a config is not cleaning the page - check which source wins. - Query before estimating. A panel guessed a click rate GA could answer, and a kill-criterion override shipped on the guess at ~5x off, which would have made the campaign unkillable. Records the GA-vs-LinkedIn division of labour so it stops drifting back onto Paul. - The visual suite does not cover the testimonial carousel: four live pages changed, zero of 53 screenshots moved. - Fresh agent worktrees need bun install v1.3.13 (bf2e2cec) + cssnano@8.0.6 + postcss@8.5.26 + postcss-import@17.0.0 + postcss-nested@8.0.1 + surge@0.43.1 + caniuse-lite@1.0.30001809 51 packages installed [518.00ms] before bin/dev. Not re-logged: the exhibit two-layer trap, the fallback-font em correction, the ratchet-reads-built-HTML change and the analytics read were all written to .okf/log.md as they happened. The 4-eyes rule another session added to CLAUDE.md (#482) already covers 'self-review is not the second pair of eyes', so this session's identical finding is corroboration, not a new rule. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Durable captures from the 2026-08-20 session that weren't already logged as they happened. Docs only.
What's here
claims-canon.mdgains a testimonial rule. The durable finding isn't "four fabricated testimonials existed" — it's the mechanism.hugo.tomlhad already been curated down to the single real testimonial, anddata/testimonials.yamlsilently outranked it because the partial reads the data file first and only falls back to site params. Structured data was clean; four live pages were not. Cleaning a config is not cleaning the page — check which source wins. Plus the case-study framing rule, and the open "Sarah Chen" question for Paul.Query before estimating. A 3-lens panel sized the LinkedIn click rate at "3-6 clicks over 8 posts, a genuine stretch," and a kill-criterion override shipped on that estimate. One GA query showed the single published post had already hit the threshold — ~5× the estimate — so the override would have fired off one post and made the campaign unkillable, the exact bug it existed to prevent. Records the GA-vs-LinkedIn division of labour so it stops drifting back onto Paul.
Two coverage gaps: the visual suite doesn't cover the testimonial carousel (four live pages changed, zero of 53 screenshots moved), and fresh agent worktrees need
bun installbeforebin/dev.Deliberately not re-logged
The exhibit two-layer trap, the fallback-font correction, the built-HTML ratchet and the analytics read were all written to
.okf/log.mdas they happened. And the 4-eyes rule another session added in #482 already covers "self-review is not the second pair of eyes" — this session reached the identical conclusion independently, which is corroboration rather than a new rule.Test plan
/okf:validate .okf— conformant. Docs-only change, no build or visual gates apply.🤖 Generated with Claude Code