The readiness audit on 2 July scored 7 of 8 green against Google’s inventory-value policy. The one red item: “diverse and engaging content in a variety of formats (articles, images and videos).” Score across 38 pillar pages: zero with an image.
That number was the trigger for the last fix before submission. But three others had already gone in.
By 2 July, thin surfaces were resolved, a telemetry skill was built, and the AdSense account had its first live status read. Six SVG diagrams went in that afternoon, distributed across the pillar estate. Submission followed the same day.
Eight days later, at 17:42 BST on 10 July, AdSense rejected the site. “Needs attention — Low value content.” The ads.txt was already authorised; that part belongs to the previous piece in this series. This is about the four fixes that followed, and why all four were necessary.
The assumption that doesn’t hold
Going in, the assumption was that AdSense approval works like a threshold: hit a sufficient content bar and it passes. A 7/8 audit score felt like it should be enough. It isn’t, because Google doesn’t score the weakest page. It scores the estate.
The “Low value content” verdict is a portfolio judgement. The reviewer is asking whether the site, taken as a whole, is worth showing ads on. Each gap in the inventory-value policy criteria pulls that composite score down independently: content depth, format diversity, navigation quality, indexation. A green score on seven out of eight criteria doesn’t mean the eighth doesn’t matter. It means there are eight gaps to close, not one, and all eight have to be closed before the composite answer changes.
Fix 1: Telemetry
The first question on 2 July was “are we ready for AdSense?” There was no live signal to answer it with. No account status, no confirmation Auto Ads had activated, no policy-strike visibility.
B-078 built that. The adsense-telemetry skill queries the AdSense Management API v2, read-only, with credentials in Keychain. The first OAuth attempt failed silently on a blank paste at the client-id prompt. That was a one-time setup failure, not a code problem. The second attempt, after fetching credentials directly from Keychain, was clean. First live read: account READY, site GETTING_READY (review in progress), no policy strikes, Auto Ads enabled.
That read happened the same day as the submission. Without it, the review would have been a black box: one signal in from the AdSense verdict email, nothing observable in between. With it, GETTING_READY was visible in real time. When the rejection came, there was a baseline to work from.
The skill’s primary use is monitoring, but the more useful application turned out to be a readiness pre-check. Approval status, policy strikes, Auto Ads state: all readable before submission. Those questions shouldn’t have to wait for the verdict email.
Fix 2: Thin surfaces
June’s readiness check found five thin surfaces: four calculator landing pages and the gilts explainer. Google’s inventory-value policy treats thin pages as a drag on the whole estate rather than as isolated failures, and five in a 38-page estate isn’t a rounding error.
All five were expanded before the July submission. The submission-time picture: 78.6% indexation, 8 pillar publishes across 4 weekdays, thin surfaces resolved. On content depth, the site was ready before it went in.
This fix predated the submission by several weeks. It was the one piece that was unambiguously done before the question of submission arose.
Fix 3: Verified SVG diagrams
Seven of 8 green is easy to read as a pass. The one red, zero pages with images across 38 pages, is easy to read as a cosmetic gap.
Neither reading is correct. Google’s inventory-value policy names format diversity explicitly: articles, images and videos. Zero images across a 38-page estate isn’t a near-miss; it’s a clean failure of that criterion, and the audit caught it. The fix was an ArticleFigure component plus six verified SVG diagrams across the pillar pages. “Verified” here means rendered and reviewed, not generated and committed without checking. Each diagram gives a second representation of a calculation the page already explains in prose. The images carry content; they aren’t decoration.
The SVGs went in the same afternoon as the audit result. Format diversity was green before the submission.
Fix 4: Real hub listings
Improving on what the previous piece covered about the rejection: the root cause of “Low value content” wasn’t a pillar page. It was the hub pages.
After the 10 July rejection, I traced the cause against Google’s inventory-value policy and found a literal match: /resources/blog and /resources/guides had no real listings. Both pages were navigational structure with no entries. The fix was real hub listings. Actual content, not placeholder architecture. Remediation #1 post-rejection.
This was the fix the readiness audit missed, even though hub page content is in the same inventory-value policy the audit ran against. It caught the pillar-page criteria and missed the hub-page criteria. The reviewer didn’t.
Why all four were necessary
None of the four fixes would have been sufficient in isolation.
The telemetry skill doesn’t improve content quality. Thin-surface expansion doesn’t add images. SVGs don’t fix hub-page listings, and hub listings don’t affect media diversity. Each closed a distinct gap; the gaps don’t overlap.
Submit before fix 3 and the media diversity criterion fails, regardless of how strong the pillar content is. Submit before fix 4 and the hub pages fail, regardless of the SVGs. The sequence mattered, and the sequence was partly determined by what the readiness audit caught versus what the rejection revealed. The audit caught media diversity. The rejection revealed the hub pages.
That’s the practical implication of the portfolio framing. The review doesn’t ask “does this page pass?” It asks “does this site pass?” Any gap in the criteria set present at submission time is a rejection risk, regardless of how many other criteria are green. The right readiness model is exhaustive, not threshold-based.
Out of scope: this piece covers the four fixes through remediation #1. Whether the hub listing fix plus the pre-submission work constitutes a passing estate depends on the next review result.
What the readiness checklist needs
The 7/8 audit used Google’s inventory-value policy as the scoring rubric. It caught media diversity and missed hub page content quality. Both are in the same policy document. The checklist wasn’t wrong; it was incomplete.
Two additions. First: hub page content quality as an explicit criterion. Navigation pages with no real listings fail the same “low value content” bar as thin pillar pages, and the policy doesn’t distinguish between page types on that criterion. Neither should the checklist.
Second: run the telemetry skill as part of the pre-submission check, not as post-submission monitoring. Account READY, no policy strikes, Auto Ads enabled: all confirmable before submission. Confirming them before reduces the number of unknowns when the verdict comes in.



