You are applying an evidence-backed AI discoverability audit to a website.

Target:        https://chrisbrock.io
Audit:         aud_20260901T114635Z_7f382c48
Rubric:        v0.8 (scored by adia/0.1.0)
Score:         44.75 of 77 resolvable rubric points (58.1%), moderate confidence
Fit:           Material discoverability friction

Every item below came from a captured, timestamped observation of the live
site, not from a model's impression of it. The evidence ids in brackets refer
to records in the audit's JSON appendix.

## Rules

1. Work in order. The list is ranked by impact, effort, confidence, and
   dependency; an item that depends on another is listed after it.
2. Keep changes minimal and local. Do not redesign anything the audit did not
   flag, and preserve the site's existing voice, structure, and build setup.
3. NEVER INVENT A FACT. Several fixes below could be "completed" by making
   something up. Where an item says so, leave a clearly marked TODO for the
   site owner rather than filling in a plausible value. A fabricated
   testimonial, credential, statistic, or citation is worse than the gap it
   replaces, and this audit exists to remove unsupported claims, not add them.
4. Do not add any claim about ranking, citation, traffic, or revenue.
5. If a fix is ambiguous, say so and stop rather than guessing.

Every count below describes the **25 page(s) this run read**, which stopped at a configured bound (max_pages=25) with URLs still queued. A later run that reads a different number of pages will report different counts for the same site, so compare these against a run of the same size, not against a bigger one, where finding more of a defect is what a bigger sample does.


## Fixes, in order

### 1. [CRITICAL] CI-02 Claim support

**Observed.** 41 distinct material claim candidate(s) were detected across 17 page(s) in 72 occurrence(s): compliance (16), superlative (9), money (7), percentage (7), count (2). Of those, 1 sit on a page carrying an external link that could serve as a source, 0 carry a first-person attestation in their own context (a stated basis plus at least two of asserting party, period and scope), and 40 carry neither. Links to the organization's own social or code profiles are excluded from the source count: they identify the publisher, not the origin of a number.

**Why it matters.** An unsupported number is a liability in an AI answer: it can be repeated without its caveats, and it cannot be defended when a buyer asks where it came from. What closes that gap is stated provenance, which a hyperlink is only one form of.

**Do this.** For each material claim, put its provenance next to it. An external source is strongest. Where none exists -- which is the normal case for a private operating figure -- a first-person attestation is still a source: name who is asserting it, the period it covers, the scope it covers, and the basis ("our internal figures", "verifiable on reference check"). Removing a true claim is the last resort, not the first.

*Evidence: ev_02acb40138951a1a, ev_37df1c06d90f71ac, ev_5cfea00370e86080, ev_26dae81084395fbd. 3.75 rubric points at stake.*

> **Do not fabricate.** Do not invent a source, statistic, or methodology. A claim may be supported by a first-person attestation instead of an external source, but the attestation is itself a factual assertion: writing "our internal figures, verifiable on reference check" next to a number you were not told the provenance of is fabrication, not formatting. Leave a marked TODO naming the four things the owner must supply -- who is asserting it, the period, the scope, and the basis -- and remove the claim only if the owner says it cannot be stood behind.

> Depends on: CI-04


### 2. [UNRESOLVED] CR-06 Body text is machine-readable prose

**Observed.** No template syntax was found in the visible text of 25 sampled page(s). Rated inconclusive rather than complete: that would say that no page on the site prints template syntax as body text, and this run collection stopped at a configured bound (max_pages=25) with URLs still queued, so it can only speak for the 25 page(s) it read. This is a limit of the collection, not a finding about the site.

**Why it matters.** A passage made of markup cannot be quoted, summarised, or cited. The page looks populated to the CMS and to a word count, and carries nothing an engine can use.

**Do this.** Nothing to act on from this result. Re-run against a sample that covers the site before treating this check as settled.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1 rubric points at stake.*


### 3. [MAJOR] CI-01 Direct answer passages

**Observed.** 1 heading(s) across the sample are phrased as questions. 3 of 25 pages open with a definitional sentence in the first 400 characters. Of 8 operator-supplied priority questions, 6 have a page matching 60% or more of their key terms. Weakly covered questions: 'What does a fractional CIO actually do for a small company?' (best match 0% at https://chrisbrock.io/); 'How much does a fractional or interim CIO cost?' (best match 33% at https://chrisbrock.io/).

**Why it matters.** An answer engine reuses passages that stand on their own. Copy that requires the surrounding page to make sense is rarely quotable.

**Do this.** Give each priority question its own heading and a self-contained two-to-four sentence answer directly beneath it.

*Evidence: ev_5cfea00370e86080, ev_37df1c06d90f71ac, ev_26dae81084395fbd, ev_181923593d69d1ad. 2.5 rubric points at stake.*

> Depends on: CI-03


### 4. [MAJOR] CI-04 Source attribution

**Observed.** 2 of 25 sampled pages link to an external destination that could serve as a source (8.0%). 53 external link(s) were found in total, but own social and code profiles are excluded from the source count. 0 link(s) point at a standards body, government, academic, or research host. 9 page(s) exceed 600 words while citing no external source.

**Why it matters.** Attribution is how a claim survives being repeated. A page that cites its sources gives an engine a reason to trust the passage it is about to reuse.

**Do this.** Cite the standard, study, or filing next to the claim it supports, with the source name and date visible in the text rather than only in a link.

*Evidence: ev_02acb40138951a1a, ev_37df1c06d90f71ac, ev_26dae81084395fbd, ev_181923593d69d1ad. 2.25 rubric points at stake.*

> **Do not fabricate.** Do not invent citations. Link only sources you can verify exist and actually support the nearby claim.


### 5. [MAJOR] MR-01 Baseline question set

**Observed.** 8 priority question(s) were recorded at intake.

**Why it matters.** Without a question set fixed before results are known, any later movement can be explained after the fact.

**Do this.** Agree and version a question set covering buying questions, brand variations, comparison questions, and geography, dated before the first measurement.

*Evidence: ev_1a94ac29449f2fa0. 1.5 rubric points at stake.*


### 6. [MAJOR] TA-01 Priority-question coverage

**Observed.** Of 8 priority questions, 6 have at least one page covering half or more of their key terms, and 6 have a substantive page of 400 words or more. Questions with no matching page: 'What does a fractional CIO actually do for a small company?'; 'How much does a fractional or interim CIO cost?'. 4 question(s) have three or more substantive pages competing to answer them.

**Why it matters.** Coverage decides whether the site is a candidate answer at all. A question with no owned page cannot be answered from this site by any engine.

**Do this.** Write one substantive owning page for each uncovered priority question, and consolidate pages that compete for the same question.

*Evidence: ev_1a94ac29449f2fa0, ev_2414ab046b888d58, ev_26dae81084395fbd, ev_181923593d69d1ad. 2 rubric points at stake.*

> Depends on: CI-01


### 7. [MINOR] CR-04 Canonical and duplicate control

**Observed.** 25 of 25 sampled indexable pages declare a canonical URL. Host and protocol variants: http://chrisbrock.io/ -> HTTP 200 at http://chrisbrock.io/; https://www.chrisbrock.io/ -> HTTP 200 at https://www.chrisbrock.io/. 2 variant origin(s) served a 2xx response without redirecting to the canonical origin, so the same content is reachable at more than one address: http://chrisbrock.io/, https://www.chrisbrock.io/.

**Why it matters.** When one page answers at several addresses, retrieval systems must guess which address to hold and cite. Consolidating on one origin removes that guess.

**Do this.** Redirect every non-canonical host and protocol variant to the canonical origin with a 301, and declare a self-referencing canonical on every page.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1 rubric points at stake.*

> Depends on: CR-01


### 8. [MINOR] EN-02 Product and service identity

**Observed.** Of 5 operator-supplied offerings, 2 are named in the title or a heading of at least one sampled page, and 0 have exactly one such owning page. 1 offering(s) have a page whose URL names them but whose title and headings do not: 'Fractional and interim CIO leadership' at https://chrisbrock.io/situations/fractional-cio. Offerings with no matching sampled page: 'AI adoption with measured return on investment'; 'Ecommerce platform consolidation'. No Product, Service, or SoftwareApplication entity is declared in structured data on any sampled page.

**Why it matters.** An engine can only recommend an offering it can name, locate at a stable URL, and define. Offerings that live only in prose are hard to recommend specifically.

**Do this.** Give each offering one page with a stable URL, a one-sentence definition, a named audience, and structured data that ties it to the organization.

*Evidence: ev_5cfea00370e86080, ev_2414ab046b888d58, ev_26dae81084395fbd, ev_181923593d69d1ad. 2 rubric points at stake.*

> Depends on: EN-01


### 9. [UNRESOLVED] CR-02 Robots and crawler directives

**Observed.** robots.txt was retrieved and parsed: 1 group(s) covering user-agents *, 1 declared sitemap(s). The group matching this crawler allows 1 and disallows 0 path pattern(s). No sampled page declared a noindex directive in markup or headers. Rated inconclusive rather than complete: that would say that no page on the site is blocked or carries a conflicting noindex, and this run collection stopped at a configured bound (max_pages=25) with URLs still queued, so it can only speak for the 25 page(s) it read. This is a limit of the collection, not a finding about the site.

**Why it matters.** Crawl directives decide what any retrieval system is permitted to hold. A directive that blocks content the owner wants cited removes that content from every engine at once.

**Do this.** Nothing to act on from this result. Re-run against a sample that covers the site before treating this check as settled.

*Evidence: ev_631ef8e431bf6b57. 1.5 rubric points at stake.*


### 10. [MINOR] TA-03 Comparative and decision content

**Observed.** 11 of 25 sampled pages contain comparison language, 6 state a limitation or fit boundary, and 0 use a table. No competitors were supplied at intake.

**Why it matters.** Buyers ask comparison questions, and so do the people prompting answer engines. A site that never states who it is not for cannot be matched to who it is for.

**Do this.** Publish one honest comparison or decision page with a criteria table, and state explicitly where the offering is not the right fit.

*Evidence: ev_2414ab046b888d58, ev_37df1c06d90f71ac, ev_26dae81084395fbd, ev_181923593d69d1ad. 2 rubric points at stake.*


### 11. [MINOR] TE-03 Customer and outcome evidence

**Observed.** 10 of 25 sampled pages reference customers, clients, or engagements in their own text rather than in a block repeated across the sample; 10 state an outcome-shaped result; 8 long quotation(s) that could be testimonials were found; and 3 page(s) mention a baseline or measurement period.

**Why it matters.** Outcome claims without a baseline and a scope cannot be checked, and an engine that repeats them exposes the business to a claim it cannot defend.

**Do this.** Publish at least one case example with the situation, the intervention, the measurement window, the baseline, and the result, with the customer's permission recorded.

*Evidence: ev_2414ab046b888d58, ev_37df1c06d90f71ac, ev_26dae81084395fbd, ev_181923593d69d1ad. 2 rubric points at stake.*

> **Do not fabricate.** Do not invent customers, testimonials, names, logos, or outcomes. Leave a marked TODO for the site owner. A fabricated testimonial is fraud, not a fix.

> Depends on: TE-01


### 12. [MAJOR] MR-03 Recheck discipline

**Observed.** No recheck schedule for the rubric, crawl sample, question set, competitors, and evidence was recorded at intake.

**Why it matters.** Changing method between reports without disclosure makes movement uninterpretable.

**Do this.** Fix a recheck cadence and record the rubric version, crawl sample, and question set used for each run so score movement can be attributed to the site rather than the method.

*Evidence: ev_1a94ac29449f2fa0. 1 rubric points at stake.*

> Depends on: MR-01


### 13. [MINOR] AC-01 Intentional crawler treatment

**Observed.** No named AI crawler has an explicit robots.txt group; all are covered by the wildcard group. The wildcard group allows 1 and disallows 0 path pattern(s). Stated owner intent at intake: 'Chris wants the site retrievable and citable by mainstream search and AI answer engines. No crawler exclusion is intended for public content.'.

**Why it matters.** Crawler treatment should be a decision, not an accident. Defaults that nobody chose are the common case, and they are the easiest thing to get wrong in either direction.

**Do this.** Decide explicitly which AI crawlers may retrieve the site, record the decision, and express it in robots.txt so a future deploy cannot silently change it.

*Evidence: ev_fac7362013e17212, ev_631ef8e431bf6b57. 0.5 rubric points at stake.*


### 14. [MINOR] TA-02 First-hand experience

**Observed.** 10 of 25 sampled pages carry 600 or more words. First-hand markers were detected on 4 page(s): first person operator on 1, measurement on 3, artifact on 0. 1 link(s) to public code or dataset repositories were found.

**Why it matters.** First-hand detail is the part of a page a competitor cannot copy and a summariser cannot generate. It is the strongest reason for an engine to prefer this source.

**Do this.** Publish the method, the numbers, and the artifact behind at least one claim per topic: a repository, a dataset, a template, or a documented before-and-after measurement.

*Evidence: ev_5cfea00370e86080, ev_37df1c06d90f71ac, ev_26dae81084395fbd, ev_181923593d69d1ad. 1 rubric points at stake.*

> **Do not fabricate.** Do not invent research, case evidence, or first-hand experience. Only restructure experience the site already describes.

> Depends on: TA-01


### 15. [MINOR] TE-02 Expertise and credential support

**Observed.** 16 distinct credential-shaped claim(s) were detected across 7 page(s) in 37 occurrence(s); 2 appear within 120 characters of a date. No unexplained logo-wall pattern was detected.

**Why it matters.** A credential without a scope, a date, and a responsible entity cannot be verified, and an unverifiable claim is a risk rather than an asset when repeated by a machine.

**Do this.** State the issuing body, the scope, the date, and the entity the credential belongs to next to every credential claim.

*Evidence: ev_37df1c06d90f71ac, ev_02acb40138951a1a, ev_26dae81084395fbd, ev_181923593d69d1ad. 2 rubric points at stake.*

> **Do not fabricate.** Do not invent or upgrade a credential, certification, audit, or partnership. These are verifiable facts about a real organization and getting one wrong is a legal problem.


### 16. [UNRESOLVED] CR-01 Stable successful retrieval

**Observed.** 25 of 25 sampled URLs returned a successful response (100.0%). Median response time was 1106 ms. Rated inconclusive rather than complete: that would say that no page on the site returns an error or comes back empty, and this run collection stopped at a configured bound (max_pages=25) with URLs still queued, so it can only speak for the 25 page(s) it read. This is a limit of the collection, not a finding about the site.

**Why it matters.** Answer engines can only use content they can retrieve reliably. Intermittent errors and empty successful responses both reduce the amount of a site that any retrieval system will hold.

**Do this.** Nothing to act on from this result. Re-run against a sample that covers the site before treating this check as settled.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1.5 rubric points at stake.*


### 17. [UNRESOLVED] SD-01 Valid core entities

**Observed.** 25 of 25 sampled pages carry JSON-LD (100.0%), producing 67 entit(ies). Declared types: Person (25), WebSite (25), Article (6), Review (6), BreadcrumbList (5). Core identity types present: Person, WebSite. Rated inconclusive rather than complete: that would say that every page on the site carries valid structured data, and this run collection stopped at a configured bound (max_pages=25) with URLs still queued, so it can only speak for the 25 page(s) it read. This is a limit of the collection, not a finding about the site.

**Why it matters.** Structured data is the one place a site states its identity in a form a machine does not have to infer from prose.

**Do this.** Nothing to act on from this result. Re-run against a sample that covers the site before treating this check as settled.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1.5 rubric points at stake.*


### 18. [MINOR] CI-03 Stable passage structure

**Observed.** Across 25 sampled pages the median page carries 2 heading(s). 25 declare exactly one H1, 5 give at least one heading an id that can be linked directly, and 8 use a table or list. 2 page(s) exceed 400 words with fewer than three headings: https://chrisbrock.io/about, https://chrisbrock.io/blog/shadow-it-and-your-data. 3 page(s) skip a heading level: https://chrisbrock.io/blog: h1 followed by h3; https://chrisbrock.io/reading: h1 followed by h3; https://chrisbrock.io/blog/fostering-innovation-within-it-teams: h1 followed by h3.

**Why it matters.** Headings and anchors are the unit an engine extracts. A page with no internal structure can only be cited whole, which usually means it is not cited at all.

**Do this.** Give every page one H1, a descriptive H2 for each distinct answer, and a stable id on each H2 so a passage can be linked directly.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1 rubric points at stake.*


### 19. [MINOR] EN-01 Organization identity consistency

**Observed.** Structured-data identity names: 'Chris Brock' on 25 page(s). Declared og:site_name values: 'Chris Brock'. 2 contact value(s) appear in structured data: email=mailto:cb@chrisbrock.io, address(structured). 25 distinct meta description(s) were served across 25 pages.

**Why it matters.** An engine has to decide which entity a page is about before it can recommend that entity. Conflicting names and missing contact facts force it to guess.

**Do this.** State one organization or person name, one description, and one contact path consistently in visible content and in structured data on every page.

*Evidence: ev_02acb40138951a1a, ev_37df1c06d90f71ac, ev_26dae81084395fbd, ev_181923593d69d1ad. 1 rubric points at stake.*

> **Do not fabricate.** Do not invent a legal entity name, address, or contact detail.


### 20. [UNRESOLVED] SD-03 Page-specific markup

**Observed.** 6 of 6 sampled article-style pages declare an Article type in structured data (100.0%). 5 of 25 sampled pages declare BreadcrumbList markup. Rated inconclusive rather than complete: that would say that every article on the site carries article markup, and this run collection stopped at a configured bound (max_pages=25) with URLs still queued, so it can only speak for the 25 page(s) it read. This is a limit of the collection, not a finding about the site.

**Why it matters.** Page-type markup tells a retrieval system what a page is, which is what lets an article be treated as dated, authored evidence rather than undated site copy.

**Do this.** Nothing to act on from this result. Re-run against a sample that covers the site before treating this check as settled.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1 rubric points at stake.*

> Depends on: SD-01


### 21. [UNRESOLVED] SD-04 Metadata consistency

**Observed.** Across 25 sampled pages: 25 declare a title, 25 a meta description, 25 an html lang attribute, and 25 Open Graph titles. No metadata inconsistency was found in the sample. Rated inconclusive rather than complete: that would say that no page on the site has inconsistent metadata, and this run collection stopped at a configured bound (max_pages=25) with URLs still queued, so it can only speak for the 25 page(s) it read. This is a limit of the collection, not a finding about the site.

**Why it matters.** When a page describes itself differently in its title, its social metadata, and its structured data, an engine has to choose one description and may choose the wrong one.

**Do this.** Nothing to act on from this result. Re-run against a sample that covers the site before treating this check as settled.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1 rubric points at stake.*

> Depends on: SD-01


### 22. [MINOR] TE-01 Ownership and accountability

**Observed.** About-style page(s) found: 1. Contact path(s) found: 1. 1 distinct mailto destination(s) and 1 form(s) appear in the sample. 25 organization or person entit(ies) are declared in structured data.

**Why it matters.** Accountability is a precondition for being recommended. An engine asked to suggest a provider has little reason to name one whose operator and contact path are unclear.

**Do this.** Name the operating entity, the responsible people, and a working contact path on a linked page, and mirror those facts in structured data.

*Evidence: ev_37df1c06d90f71ac, ev_d76db615ec2be435, ev_05b6bc243d937501, ev_26dae81084395fbd. 1 rubric points at stake.*


### 23. [MINOR] CI-05 Content freshness signals

**Observed.** 15 of 25 sampled pages expose a date in visible text, structured data, or a time element (60.0%). 6 of 6 article-style pages carry a date. No contradiction was found between visible and structured dates in the sample.

**Why it matters.** A dated page can be judged current. An undated page has to be treated as possibly stale, which is a reason not to cite it.

**Do this.** Show a visible published and updated date on every article, and emit the same values as datePublished and dateModified in structured data.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 0.75 rubric points at stake.*


### 24. [MINOR] SD-02 Entity relationships

**Observed.** 50 of 67 entit(ies) declare an @id (74.6%), producing 2 distinct identifier(s). 43 relationship reference(s) were found across 3 relationship type(s). 25 entit(ies) declare sameAs links to external profiles.

**Why it matters.** Stable identifiers let an engine merge the same organization or person across pages instead of treating each mention as a new entity.

**Do this.** Give every entity a stable @id, reference the same identifiers across pages, and add sameAs links to owned external profiles.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 0.75 rubric points at stake.*

> Depends on: SD-01


### 25. [MINOR] TE-04 Policy and limitation clarity

**Observed.** Privacy policy reference(s): 2. Terms reference(s): 0. 1 form(s) appear in the sample. 25 page(s) show evidence of third-party analytics being loaded. No terms or service-boundary page was found in the sample.

**Why it matters.** Policies set the boundaries a buyer and an agent both need before acting. Their absence is a friction point at exactly the moment a recommendation would convert.

**Do this.** Publish a dated privacy policy covering analytics and form data, and a terms or engagement-scope page that matches what is actually sold.

*Evidence: ev_05b6bc243d937501, ev_d76db615ec2be435, ev_26dae81084395fbd, ev_181923593d69d1ad. 0.75 rubric points at stake.*


### 26. [MINOR] CR-03 Sitemap quality

**Observed.** 3 sitemap document(s) were retrieved; 3 parsed cleanly and 0 did not. 68 unique URL(s) are listed. 0 of 68 entries carry a lastmod value (0.0%). 25 listed URL(s) were sampled and returned a successful response.

**Why it matters.** A sitemap is the cheapest way to tell every retrieval system which URLs are canonical and when they last changed.

**Do this.** Correct the entries identified in the evidence and ensure lastmod reflects real content changes.

*Evidence: ev_631ef8e431bf6b57, ev_7319da06a1333440, ev_01466bf10e8fce8d, ev_123930a05a4a98e9. 0.5 rubric points at stake.*

> Depends on: CR-02


### 27. [MINOR] TA-04 Internal topic relationships

**Observed.** Across 25 sampled pages the median page links to 8 other sampled page(s). 0 sampled page(s) received no internal link from any other sampled page, and 12 received exactly one.

**Why it matters.** Internal links are how evidence pages get discovered and how a crawler learns which pages a site treats as important. An orphaned page carries its authority nowhere.

**Do this.** Link every evidence and educational page from the commercial page it supports, and from a topic index.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 0.75 rubric points at stake.*

> Depends on: TA-01


### 28. [MINOR] EN-03 People and authorship identity

**Observed.** 25 Person entit(ies) and 12 structured author reference(s) were found. Meta author values: 'Chris Brock'. 6 of 6 article-style pages carry an author attribution. 25 Person entit(ies) link to external profiles via sameAs.

**Why it matters.** Expertise content that no identified person stands behind is difficult to weigh, and difficult to defend when a buyer asks who wrote it.

**Do this.** Attribute every substantive page to a named person with a linked biography, role, and credentials, and connect that person to the organization in structured data.

*Evidence: ev_37df1c06d90f71ac, ev_02acb40138951a1a, ev_26dae81084395fbd, ev_181923593d69d1ad. 1 rubric points at stake.*

> **Do not fabricate.** Do not invent an author, biography, role, or credential.

> Depends on: EN-01


### 29. [UNRESOLVED] EN-04 External identity reconciliation

**Observed.** The site links out to 4 distinct external host(s); 2 sameAs URL(s) are declared in structured data. No owned profiles were declared at intake, so nothing could be reconciled.

**Why it matters.** Owned profiles that the site never links, and profiles carrying an old brand, split one identity into several that an engine must reconcile on its own.

**Do this.** Link every owned profile from the site and declare it in sameAs, and retire or update profiles carrying a former brand.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1.5 rubric points at stake.*

> **Do not fabricate.** Do not invent external profiles or links to them.

> Depends on: EN-01


### 30. [UNRESOLVED] CR-05 Rendered content availability

**Observed.** Raw HTML (no JavaScript execution) already carries a median of 396 words and a median of 3 script element(s) per sampled page. 24 of 25 pages carry 150 or more words before rendering, and 25 expose an H1 in raw HTML. 0 page(s) include noscript content.

**Why it matters.** Content that exists only after client-side execution is unavailable to any retrieval path that does not render, and unreliable for those that do.

**Do this.** Serve primary claims, headings, navigation, and supporting evidence in the initial HTML response.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1.5 rubric points at stake.*

> Depends on: CR-01


### 31. [UNRESOLVED] MR-02 Referral and conversion attribution

**Observed.** Public markup and response headers indicate 2 analytics or measurement provider(s): google-analytics.com, googletagmanager.com. Whether referrals from AI answer surfaces can be isolated and tied to qualified outcomes cannot be determined from public pages.

**Why it matters.** Reporting mentions or impressions without connecting them to qualified behaviour cannot justify continued spend.

**Do this.** Configure a referral segment for AI answer surfaces and connect it to a defined qualified-outcome event, or record the implementation backlog to do so.

*Evidence: ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666, ev_184a171e0dda1ab0. 1 rubric points at stake.*

> Depends on: MR-01


### 32. [MINOR] AC-02 Machine-readable guidance quality

**Observed.** 2 machine-readable guidance file(s) are served: /llms.txt (1925 bytes, 11 link(s)), /.well-known/security.txt (187 bytes, 2 link(s)). 1 link(s) inside the link-index files point off the audited domain. /.well-known/security.txt is not a link index, so outbound links in it are not counted: prose quotes URLs, and a site publishing work it did for somebody else has to name that site. These conventions are voluntary. Serving them is not a ranking or citation guarantee, and no engine is known to require them.

**Why it matters.** A machine-readable index is cheap to publish and cheap to get wrong: a stale one misleads, and an overstated one invites claims the site cannot support.

**Do this.** Keep the guidance file generated from the same source as the sitemap so it cannot go stale.

*Evidence: ev_cd0267b89a631aa6, ev_de23964c65dfad3f, ev_5a2b08d3801bceba, ev_bbb2e4646545eeb3. 1 rubric points at stake.*


### 33. [MINOR] AC-03 Agent-facing transaction boundaries

**Observed.** 1 page(s) expose a form and 3 mention a purchase surface. The collector never submits a form or performs any state-changing request, so interaction boundaries were not exercised.

**Why it matters.** An agent acting on a customer's behalf needs to know what commits the customer and what does not. Ambiguity here creates unintended commitments.

**Do this.** Document what each form or endpoint commits the visitor to, require authentication for anything that creates an obligation, and state the approval step in public documentation.

*Evidence: ev_d76db615ec2be435, ev_26dae81084395fbd, ev_181923593d69d1ad, ev_b43822a0840b8666. 0.25 rubric points at stake.*


## Pages that do not exist yet

Each question below had no substantive owning page in the sample. Draft these from the site owner's own knowledge. Do not invent facts, figures, or experience to fill them.

- **What does a fractional CIO actually do for a small company?** No sampled page covers half or more of this question's key terms. Create one owning page. Open with a two-to-four sentence answer under an H2 that repeats the question, then support it with the method, the constraint, and one worked example.
- **How much does a fractional or interim CIO cost?** No sampled page covers half or more of this question's key terms. Create one owning page. Open with a two-to-four sentence answer under an H2 that repeats the question, then support it with the method, the constraint, and one worked example.

## What this audit could not determine

- This audit sampled 25 page(s) against a configured limit of 25 at a maximum depth of 2. Findings describe the sample, not every page on the site.
- Scored against rubric version 0.8 using tool version adia/0.1.0. Score movement between runs can come from a rubric change as easily as a site change.
- Collection used plain HTTP retrieval with no JavaScript execution. Content that appears only after client-side rendering was not observed.
- Off-domain properties were not retrieved. The run was restricted to the authorized registrable domain.
- No form was submitted, no authenticated content was accessed, and no state-changing request was made.
- 9 check(s) are inconclusive and contribute no points in either direction: CR-01, CR-02, CR-05, CR-06, EN-04, SD-01, SD-03, SD-04, MR-02. Their 23 points were removed from the denominator rather than scored as zeroes.
- Collection stopped at a configured bound (max_pages=25). A larger sample may change coverage-dependent findings.
- 6 check(s) reached their top rating only because pages were left unread, and are recorded as inconclusive rather than as passes: CR-01, CR-02, CR-06, SD-01, SD-03, SD-04. Raising the page limit and re-running is what settles them; nothing about the site needs to change first.
- This audit measures conditions a site can control against rubric version 0.8. It does not guarantee placement, ranking, citation, recommendation, traffic, leads, or revenue in any search engine or AI answer product, and a low score does not prove a site is absent from AI-generated answers.
- Unresolved checks: CR-01, CR-02, CR-05, CR-06, EN-04, SD-01, SD-03, SD-04, MR-02. These contributed no points in either direction.

Do not "fix" any of the above. They were not measured, so a change there
cannot be verified by a re-audit.

## When you are done

Tell the site owner the work is done. If their audit came with rechecks, they
reply to the delivery email and ask for one: the site is read again against the
same rubric version, and the reply says what moved and what did not. That is
the proof the work landed, and it is the only thing that settles it. Do not
report a score yourself, because you cannot run the rubric.
