I Audited My Own Site With AVR v1.1.0. Here Is What I Found.
The first comprehensive 8-section AVR v1.1.0 audit of chudi.dev produced AGENT-READY 3/3 on §2.7 but only 40/100 on Fact-Block Density. Here is the full audit, plus the 2026-06-03 update where remediation lifted the root and framework pages to a verified 100/100 EXTRACTABLE.
Why this matters
chudi.dev passed every infrastructure check (Sections 1+2+6) but failed Fact-Block Density (40/100). The framework page scored 51/100. The gap was content shape, not infrastructure. Update 2026-06-03: the three-rule remediation shipped and both pages now score a verified 100/100 EXTRACTABLE.
The AI Visibility Readiness Framework moved to v1.1.0 last week. The new spec adds three audit sections nobody else tracks: WebMCP Agent Readiness (§2.7), Fact-Block Density (§3.7), and Citation Decay Rate (§7). I ran the full audit against chudi.dev on 2026-05-23 at 07:00 UTC. Here is the report.
The headline numbers
chudi.dev passed SEO Foundation (Section 1), AI Infrastructure (Section 2), and Agent Readiness (Section 6). It landed AGENT-READY 3/3 because the WebMCP manifest at /.well-known/webmcp resolves, the A2A AgentCard at /.well-known/agent.json resolves, and the five API endpoints those manifests declare (/api/webmcp/list-posts, /api/webmcp/read-post, /api/webmcp/avr-self-audit, /api/webmcp/author-profile, /api/agent/dispatch) all return real handlers with valid CORS preflights. Citation Decay Rate came back GROWING with retention 1.65 across 89 days of Bing AI Performance data and the post-tune half-life algorithm correctly returned no half-life crossing.
Fact-Block Density failed. chudi.dev root scored 40 out of 100 (NOT-EXTRACTABLE). The framework page scored 51 out of 100 (PARTIALLY-EXTRACTABLE).
Why Fact-Block Density failed even though the rest passed
The infrastructure checks ask whether AI engines CAN reach the content. The Fact-Block Density checks ask whether the content they reach is shaped for citation. Those are different questions.
On chudi.dev/framework the audit found that 100% of H2 sections open with sentences that stand alone as answers, but 0% of those H2 paragraphs land in the 40-60 word direct-answer band. The opening sentence is right; the supporting paragraph is the wrong length. Only 8.3% of H2 and H3 headings are phrased as questions a user would actually type. There is no FAQ section at the bottom of the page.
Three failures, three remediation targets. The first-sentence rule already passes. The path from 51 to 75+ is not a content rewrite, it is a paragraph-length tune and a heading rewrite and an FAQ addition.
The remediation plan
Read the full plan at ai-visibility-readiness/AVR-V1-1-0-FACT-BLOCK-REMEDIATION-PLAN.md in the repo. The headline targets:
| Page | Current score | Top failing check | Fastest remediation |
|---|---|---|---|
| chudi.dev root | 40/100 | direct-answer band + question headings + FAQ | Add FAQ section; rewrite H2 openings to 40-60 words; convert top 3 H2 headings to questions |
| chudi.dev/framework | 51/100 | direct-answer band + question headings + FAQ | Same three remediations applied to the methodology bento sections |
| /blog (index) | not yet audited | TBD | Run section_fact_block_density.py on this URL |
| /work (index) | not yet audited | TBD | Same |
| /about | not yet audited | TBD | Same |
Each rewrite is a 5 to 15 minute edit per H2 section. The framework page has 4 main H2 sections, so the lift is 20 to 60 minutes total. The score should move from 51 to 75+ once the band check passes and the FAQ lands.
Why this is a defensible deliverable
Most AI visibility tools return a score and nothing else. The AVR v1.1.0 audit returns five things you can act on: the verdict for each of 8 sections, the per-check pass/fail with compliance percentages, the specific recommendation each failing check generates, the canonical evidence the recommendation cites, and the reproducible command you can re-run to verify the fix landed.
For Fact-Block Density that means I know exactly which 92% of headings on chudi.dev/framework are not in question format, exactly which 100% of H2 paragraphs miss the 40-60 word band, and I have a runnable command (python3 run_audit.py chudi.dev/framework --skip-lighthouse --full-v11) that will confirm when remediation lands the score above 75.
For Citation Decay Rate that means I know the algorithm correctly suppressed the previous false-positive (21-day half-life reading on overall-growing data) because the 12-case pytest regression suite validates the suppression. The retention rate of 1.65 across 89 days is computed from real Bing CSV data, not estimated.
The case-study hypothesis ratifies
chudi.dev is supposed to DEMONSTRATE AVR. citability.dev is supposed to IMPLEMENT AVR. Until this week both claims were aspirational. As of 2026-05-23 both sites land AGENT-READY 3/3 on production with meaningful endpoint resolution. Both produce real JSON responses on the declared WebMCP tools. Both pair with the same audit script that produces the same shape of report.
The piece left is Fact-Block Density remediation on chudi.dev pages. That is a content-editing arc, not an infrastructure arc. It is the next thing I will ship.
Update, 2026-06-03: the remediation landed
The remediation shipped, and it overshot the prediction. The numbers in the audit above are the documented starting point. These are the after.
I re-ran the same section_fact_block_density.py against the live pages, through the automated post-deploy audit that now runs on every chudi.dev deploy. The results:
| Page | Before (2026-05-23) | After (2026-06-03) |
|---|---|---|
| chudi.dev root | 40/100 NOT-EXTRACTABLE | 100/100 EXTRACTABLE (5/5) |
| chudi.dev/framework | 51/100 PARTIALLY-EXTRACTABLE | 100/100 EXTRACTABLE (5/5) |
| chudi.dev/blog | not yet audited | 100/100 EXTRACTABLE (5/5) |
| chudi.dev/about | not yet audited | 85/100 EXTRACTABLE (4/5) |
| chudi.dev/topics | not yet audited | 80/100 EXTRACTABLE (4/5) |
The fix was exactly the three rules the plan named, nothing more: rewrite each H2 opening paragraph into the 40-60 word direct-answer band, phrase the headings as questions, and add an FAQ section. No re-architecture. The predicted path was 51 to 75+. The real result was a perfect 100/100. The two pages still short of it, /about at 85 and /topics at 80, already clear the EXTRACTABLE bar and have one check each left to tune.
One honest footnote, because it is the real lesson. When I went to verify the framework page, it was still publicly displaying its old 40/100 score in the results card, flagged “remediation queued,” even though the content had already been remediated to pass. The score is not a trophy you win once. It drifts the moment you stop re-measuring. That stale number is corrected now too, which is the only reason this update exists.
Run the audit yourself
git clone https://github.com/ChudiNnorukam/ai-visibility-readiness.git
cd ai-visibility-readiness
pip install -r scripts/requirements.txt
python3 scripts/run_audit.py YOUR_URL --skip-lighthouse --full-v11 The free audit gives you Sections 1+2+6+7+8 at $0 cost. Add --live-test --brand "..." --owner "..." --topics "..." for Sections 3+4+5 (live AI engine polling, ~$2 per audit).
The report drops into sample-audits/audit_<domain>_<timestamp>.md. The per-section JSON files drop alongside for programmatic analysis. The pytest suite at tests/test_section_citation_decay.py runs in 0.04 seconds.
If your site comes back NOT-EXTRACTABLE on Fact-Block Density and you do not know where to start, the recommendations in the audit JSON tell you which H2 sections fail which checks and in what order to fix them. That is the deliverable.
FAQ
What does AGENT-READY 3/3 mean?
The AVR v1.1.0 §2.7 audit checks three things on a site, the WebMCP manifest at /.well-known/webmcp, the A2A AgentCard at /.well-known/agent.json, and whether the endpoints those manifests declare actually resolve to non-404 responses. 3/3 means all three pass. chudi.dev and citability.dev both land here after their manifest files plus backing API routes deployed.
Why did chudi.dev score 40/100 on Fact-Block Density when its infrastructure passes?
The infrastructure checks measure whether AI engines CAN reach the content. The Fact-Block Density checks measure whether the content they reach is shaped for citation. chudi.dev's root H2 sections do not open with paragraphs in the 40-60 word direct-answer band, do not use question-shaped headings, and the root page has no FAQ section. Those three failures cost 60 points.
Can other people run this audit on their own sites?
Yes. The ai-visibility-readiness repository at github.com/ChudiNnorukam/ai-visibility-readiness ships the run_audit.py script and section_*.py modules that produce every number in this post. Clone the repo, install requirements.txt, and run python3 run_audit.py YOUR_URL --skip-lighthouse --full-v11 for the free seven-section audit (Section 5 calibration plus Sections 3+4 live AI testing add ~$2 in API costs).
Is Citation Decay Rate a real metric or marketing language?
Citation Decay Rate is a measurement extracted from the Bing AI Performance Report CSV that Microsoft Webmaster Tools exports. The raw substrate is real Bing AI Copilot citation counts over a 30 to 90 day window. The derived metrics (half-life, decay slope, displacement events, retention rate) are computed by section_citation_decay.py and tested by a 12-case pytest regression suite. They are not marketing language.
Sources & Further Reading
Sources
Further Reading
- How I Lifted Five chudi.dev Pages to EXTRACTABLE on AVR v1.1.0. All 5 audited chudi.dev URLs now score EXTRACTABLE on AVR v1.1.0 Fact-Block Density. Two HTML traps (dt/dd Q/A pairs and icons before heading text) cost a follow-up commit each. The CI workflow now hard-fails any regression.
- AVR v1.1.0 Full 13-Section Audit: Cloudflare Radar Data Meets AI Visibility The first complete AVR v1.1.0 audit with all 13 sections, including 5 new Cloudflare Radar-derived checks. chudi.dev passes every Cloudflare-backed check. Here are the numbers.
- Content Intent Signaling: The robots.txt Directive That Controls How AI Uses Your Content robots.txt controls access. Content Intent Signaling controls usage. Three new directives separate training from citation permission.
What do you think?
I post about this stuff on LinkedIn every day and the conversations there are great. If this post sparked a thought, I'd love to hear it.
Discuss on LinkedIn