# This site's receipt

The checks this site ran on itself, with when each ran, and the ones it didn't run.

Run by `npm run receipt` on commit `27d57de` of this site, built from OODS Foundry `0.10.2`, on 2026-10-09 at 02:24 UTC.

A receipt is made once for each OODS Foundry release. Pages changed by later merges are checked by the build and their own tests, and measured by the next receipt.

## Accessibility (axe)

axe-core `4.13.0` in Chromium 153.0.8010.12, with the rules this site's own tests run, on each key page in light, dark and high contrast, on 2026-10-09 at 02:25 UTC. The bar is no critical or serious violation.

axe results for each key page in each theme

| Page | Light | Dark | High contrast |
| - | - | - | - |
| [/](https://oods-foundry.com/) | No critical or serious; 17 moderate, 4 minor | No critical or serious; 17 moderate, 4 minor | No critical or serious; 17 moderate, 4 minor |
| [/start](https://oods-foundry.com/start) | No critical or serious | No critical or serious | No critical or serious |
| [/faq](https://oods-foundry.com/faq) | No critical or serious | No critical or serious | No critical or serious |
| [/license](https://oods-foundry.com/license) | No critical or serious | No critical or serious | No critical or serious |
| [/about](https://oods-foundry.com/about) | No critical or serious | No critical or serious | No critical or serious |
| [/system](https://oods-foundry.com/system) | No critical or serious; 3 moderate, 0 minor | No critical or serious; 3 moderate, 0 minor | No critical or serious; 3 moderate, 0 minor |
| [/objects/subscription](https://oods-foundry.com/objects/subscription) | No critical or serious; 3 moderate, 1 minor | No critical or serious; 3 moderate, 1 minor | No critical or serious; 3 moderate, 1 minor |
| [/components/button](https://oods-foundry.com/components/button) | No critical or serious | No critical or serious | No critical or serious |
| [/charts/bar](https://oods-foundry.com/charts/bar) | No critical or serious | No critical or serious | No critical or serious |
| [/foundations/tokens](https://oods-foundry.com/foundations/tokens) | No critical or serious | No critical or serious | No critical or serious |
| [/brands](https://oods-foundry.com/brands) | No critical or serious; 4 moderate, 0 minor | No critical or serious; 4 moderate, 0 minor | No critical or serious; 4 moderate, 0 minor |
| [/demos/harbor](https://oods-foundry.com/demos/harbor) | No critical or serious; 3 moderate, 0 minor | No critical or serious; 3 moderate, 0 minor | No critical or serious; 3 moderate, 0 minor |
| [/receipt](https://oods-foundry.com/receipt) | No critical or serious | No critical or serious | No critical or serious |

Every page and every generated screen in its frame, each in every theme, on commit `27d57de`, on 2026-10-09 at 01:56 UTC: 1326 checks passed, 0 failed and 0 were skipped.

## Performance and accessibility (Lighthouse)

Lighthouse `13.5.0`, its phone run with simulated throttling, against the site served on the machine that ran it, on 2026-10-09 at 02:29 UTC. The bar for performance and accessibility is 0.90.

The local server sent the home page without compression, even when the request accepted it. These scores include that cost.

The machine's load average was 12.6 on 8 cores as Lighthouse began.

Performance was below the bar on 11 of the 13 key pages.

Lighthouse scores for each key page

| Page | Performance | Accessibility | Best practices | SEO |
| - | - | - | - | - |
| [/](https://oods-foundry.com/) | 0.71, under the bar | 1.00 | 1.00 | 1.00 |
| [/start](https://oods-foundry.com/start) | 0.80, under the bar | 1.00 | 1.00 | 1.00 |
| [/faq](https://oods-foundry.com/faq) | 0.89, under the bar | 1.00 | 1.00 | 1.00 |
| [/license](https://oods-foundry.com/license) | 0.79, under the bar | 1.00 | 1.00 | 1.00 |
| [/about](https://oods-foundry.com/about) | 0.93 | 1.00 | 1.00 | 1.00 |
| [/system](https://oods-foundry.com/system) | 0.73, under the bar | 0.96 | 1.00 | 1.00 |
| [/objects/subscription](https://oods-foundry.com/objects/subscription) | 0.76, under the bar | 0.96 | 1.00 | 1.00 |
| [/components/button](https://oods-foundry.com/components/button) | 0.76, under the bar | 1.00 | 1.00 | 1.00 |
| [/charts/bar](https://oods-foundry.com/charts/bar) | 0.65, under the bar | 1.00 | 1.00 | 1.00 |
| [/foundations/tokens](https://oods-foundry.com/foundations/tokens) | 0.59, under the bar | 1.00 | 1.00 | 1.00 |
| [/brands](https://oods-foundry.com/brands) | 0.75, under the bar | 1.00 | 1.00 | 1.00 |
| [/demos/harbor](https://oods-foundry.com/demos/harbor) | 0.62, under the bar | 1.00 | 1.00 | 1.00 |
| [/receipt](https://oods-foundry.com/receipt) | 0.90 | 1.00 | 1.00 | 1.00 |

## Copy check

It runs in every build, and the build stops on a problem. On 2026-10-09 at 02:24 UTC it read every page in the site's shell, 248 of them, as a visitor gets them, and found 0 problems. These were the rules for that run:

- an em dash or an en dash, anywhere, titles and alt text included
- `Foundry` without OODS before it
- the product's old internal name, anywhere on a page, in quotes and in identifiers too, except where the changelog the pinned package ships names the identifiers its code generation used to emit
- the phrases the positioning brief rules out, such as `local-first` and `AI-powered`
- `certif` in a sentence that names a screen, page, app, component or HTML
- `telemetry` in a sentence that isn't about trace export
- `System Systems` outside the footer and the License page
- `not yet` and `coming soon`
- `the first` and `the only`
- the claims product truth rules out that it has words for: N1, N2, N3, N4, N5, N6, N7, N8, N10, N11, N12, N13, N14, N15, N16, N17, N18, N19, N20, N21, N23, N24, N25, N26, N27, N28, N29, N32, N33, N36, N38, N39, N40, N41, N50, N51, N52, N56, N60

It leaves OODS Foundry's own output to OODS Foundry: what the site shows as written, marked by where it comes from, and code. These are the sources, with how many elements each marks:

- BRANDS.md: 10
- CHANGELOG.md: 25
- COMPONENTS.md, as the shadcn run ran it: 1
- COMPONENTS.md: 7
- Claude plan names: https\://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp: 1
- GENERATED-APPS.md: 5
- IMPORTING-OBJECTS.md: 11
- OBJECTS-AND-TRAITS.md: 9
- QUICKSTART.md: 5
- README.md: 1
- README.md: Settings, Where things go: 3
- artifact_certify: 30
- brand_create validate: 10
- brand_create's template: 1355
- catalog_list: 2806
- code_generate's receipt: 38
- code_generate: 244
- design_compose, counted: 11
- design_compose: 93
- fidelity_preview: 11
- object_import report: 3
- object_import show: 12
- pipeline/inputs/chart-samples.json, the input the charts run recorded by its hash: 8
- the component contract: 658
- the contract report: 4
- the documented example, rendered: 228
- the object file, counted: 11
- the object file: 836
- the recorded call, its size: 21
- the recorded calls, counted: 122
- the shadcn run's commands: 1
- the shadcn run's hand edit: 1
- the tool's description: 105
- the tool's schema: 449
- the trait file: 941
- this site's components.json: 1
- this site's privacy measurements: 1
- this site's receipt run: 144
- viz_render: 221

Quoted as written, where the shipped words give the product's name without OODS: [/guides/components](https://oods-foundry.com/guides/components) (COMPONENTS.md).

## Numbers check

It runs in every build too. Every number in the site's copy comes from one data file, `site-facts.json`, and must show its fact's value there. On 2026-10-09 at 02:24 UTC the same 248 pages showed 116 numbers from it, and 0 numbers it doesn't hold. Versions, dates, hashes and codes aren't counts, and aren't read.

## Not checked

- Screen-reader use by a person, and keyboard use by a person.
- Widths other than the one each check ran at: axe at Playwright's desktop size, Lighthouse at its phone size.
- Browsers other than Chromium.
- Lighthouse on a real network or a real phone: it ran on this machine, against the site served locally, with simulated throttling.
- Meaning: the copy check reads words. A claim worded in a way none of its patterns names passes it.
- Claims in product truth §8 that no word list catches: N9, N22, N30, N31, N35, N37, N42, N53, N54, N55, N57, N58, N59, N61, N62, N63, N64, N65, N66.
- OODS Foundry's own words, shown as written (its replies, descriptions, guides, warnings and generated screens), against the voice rules: the copy check reads them only for the product's old internal name.
- Numbers inside OODS Foundry's output, charts and images: the numbers check reads the site's own copy.
- The Markdown twins and llms.txt: they are made from the checked pages and the data file, and not read again.

## How it was made

This site's repository is private. On a clean checkout of it, these commands made this receipt: the full sweep first, then the receipt, which reads the sweep's report.

```
npm ci
npm run --silent test:a11y -- --reporter=json > sweep.json
npm run receipt -- --a11y-report sweep.json
```

The tools it ran with:

- Node.js `v24.6.0`
- Chromium 153.0.8010.12
- Playwright `1.63.0`
