Skip to content
This repository was archived by the owner on Sep 28, 2026. It is now read-only.
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions docs/evidence/structured-data-2026-08-09.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,3 +184,72 @@ merged as PR #32, `npm run check` and `npm test` pass on current main, and
the live deployment now serves exactly one valid schema.org `@graph` block —
a stable `Organization`, the `WebSite`, and the page's own `WebPage` — on the
home page and on all four sibling public pages.

### Closeout re-verification (added 2026-08-11)

Re-verified against the current origin/main head (8b42e0a, "docs(evidence):
close out apple touch icon finding 98a7bf8e08fc against current main and
live (#77)") after five commits touched the public surface since the
Comment on lines +190 to +192

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Name the actual main head used for re-verification

This receipt identifies 8b42e0a as the current origin/main, but the reviewed commit's first parent is already 6f24bff, with both 16efd20 and 6f24bff after the named revision. Even though those intervening commits are documentation-only, this makes the provenance of a document whose purpose is to record checks against the current head inaccurate; either record/re-run against 6f24bff or describe 8b42e0a as the last public-surface revision rather than the current main head.

Useful? React with 👍 / 👎.

2026-08-09 closeout — 95d2248 (preferred source pages for AI answers),
c5e2f2b (de-index the retired Agent Desk), ac05bec (mobile tap targets: CSS
only), f9f0b0f (footer attribution link on home), 1cc7a4e (canonical/JSON-LD
URL cleanup on /audit). Only the last touched a structured-data block — the
audit page's `WebPage` `@id`/`url` moved from the redirecting
`https://tinystudio.io/audit.html` to the clean `https://tinystudio.io/audit`
(plus the page's canonical and `og:url`), with the `check-site.mjs` guard
expectation updated in the same commit to match (verified per commit: `git
show <sha> -- public/` contains no `ld+json`/`@id`/`@graph` change in any
other commit). The home-page block the finding flagged is byte-identical to
the one the closeout measured (diff of the served block against
`public/index.html` on this head: zero differences). Three checks:

1. Source checks on this head: `npm run check` passes — the "Structured data
(dogfood 975fdb784275)" guard in `scripts/check-site.mjs` requires exactly
one `application/ld+json` block in the head of each of the five pages, a
valid schema.org `@graph` with unique `@id` values, exactly one
`Organization` node (stable `@id` `https://tinystudio.io/#organization`,
name `TinyStudio`, url `https://tinystudio.io/`, served logo, homepage-meta
description), exactly one `WebSite` node (stable `@id`
`https://tinystudio.io/#website`, publisher pointing at the `Organization`),
and exactly one `WebPage` node bound to the page's own metadata — and the
full `npm test` suite passes (check, headings 6/6, sitemap 7/7, worker 53,
ui 16, contract 8).

2. Fresh live measurement of the deployed site (2026-08-11, headless
Chromium, same method as the receipt above, `domcontentloaded` wait,
blocks counted in `document.head` and the full document, each block parsed
and checked against the same contract as the CI guard, console/page errors

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Stop claiming the stale audit graph passes the current guard

For the documented live state, this cannot have been checked successfully against the same contract as the current CI guard: scripts/check-site.mjs:1257-1262 hardcodes the audit URL as https://tinystudio.io/audit, and its checks at lines 1363-1368 require that exact value for both @id and url, while the table below reports the live value as https://tinystudio.io/audit.html#webpage. Consequently the assertion that every live page passed that contract is false; describe this as validation against the deployed page's historical metadata or report the audit-page mismatch against the current guard.

Useful? React with 👍 / 👎.

captured): every page returns 200 with the CSP header, serves exactly one
`application/ld+json` block in its head and one across the whole document
whose graph carries exactly one `Organization`, one `WebSite` and one
`WebPage` node with unique `@id` values (organization and site nodes
matching the stable entities, `WebPage` bound to the page's own metadata),
and logs no console or page errors.

| Page | HTTP | CSP header | ld+json blocks in head | blocks in full doc | graph nodes | WebPage @id | console errors |
|---|---|---|---|---|---|---|---|
| index.html (home, `/`) | 200 | yes | 1 | 1 | Organization, WebSite, WebPage | `https://tinystudio.io/#webpage` | none |
| audit.html (`/audit`) | 200 | yes | 1 | 1 | Organization, WebSite, WebPage | `https://tinystudio.io/audit.html#webpage` | none |
| agents.html (`/agents`) | 200 | yes | 1 | 1 | Organization, WebSite, WebPage | `https://tinystudio.io/agents.html#webpage` | none |
| pricing.html (`/pricing`) | 200 | yes | 1 | 1 | Organization, WebSite, WebPage | `https://tinystudio.io/pricing.html#webpage` | none |
| specimen.html (`/specimen`) | 200 | yes | 1 | 1 | Organization, WebSite, WebPage | `https://tinystudio.io/specimen.html#webpage` | none |

Homepage structured data served live, unchanged from the closeout receipt
(the block quoted above; diffed byte-for-byte against `public/index.html`
on this head: identical).

3. Deployment-lag note (honesty, not a structured-data regression): the live
deployment lags current main by at least the two newest public-surface
commits — f9f0b0f (footer attribution link on home) and 1cc7a4e
(canonical/JSON-LD URL cleanup on /audit) — so the live audit page still
names the redirecting `https://tinystudio.io/audit.html` form in its
`WebPage` `@id`/`url` that PR #56 already corrected on main to the clean
`/audit` (matching the lag this lane's canonical re-verification
documented on the same page). Neither lagging commit touches the home
page's block; the address the finding flagged (home, `/`) is identical on
main and live and was already served correctly at the 2026-08-09 closeout.

Finding 975fdb784275 ("Structured data opportunity on home") remains closed
on the code side (PR #32), in CI (`npm run check` guard), and against the
deployed site; this lane (2026-08-11) re-confirmed all three against current
main and found nothing further to change on the finding's page.
Loading