Append-only

Changelog

Append-only. Scoring-logic or weight changes must land with an entry here (rule 10).

seed v0.3: Stage A skeleton + harvest layer (2026-06-29)

Sprint 1 + CAN-07: method package & seed import

weights in `scenarios.yaml` (3 placeholder weightings).

250 descriptions; 573 categorized_as + 172 authored_by edges; Trap conflict-flagged.

Sprint 2: harvest layer (CAN-09 / CAN-10 / CAN-12)

cached snapshot (offline-deterministic); no match / offline => declared gap, never imputed.

into `data/resolved/metrics.json` with a `coverage.json` report.

without evidence are an honestly-declared coverage gap, not a fabricated zero.

Sprint 3: release builder, audit package, adversarial review (CAN-15/16/17)

(domain, scenario), full per-work breakdowns, divergence summary, a `Release`

governance record with a deterministic `corpus_hash` (date is metadata, not hashed),

coverage.json, and REPRODUCE.md. `--verify` rebuilds and asserts bit-identical (rule 3).

domain isolation, no-imputation, conflict-flag surfacing, declared coverage, ranking

sanity, divergence honesty → `reports/red_team_findings.md` + a GATE-A verdict.

`sustained_readership` = citations in 2023-2025 (recent momentum), distinct from all-time

`citation_count`. Assembled 174 metrics (88 citation_count + 86 sustained_readership).

(`scenario_divergence: observed`). The method's central claim is demonstrated, not merely asserted.

`ranking_sanity` check (false positive); fixed to assert composite-score monotonicity; iteration 2 clean.

drops; ~74 papers await the next OpenAlex daily-budget window.

Stage C: public site (CAN-21..25)

`site/` from the release JSON + seeds: Canon-50 (3 scenario views), per-work breakdown

pages (the trust surface: every metric + provenance + missing-data penalty), papers shelf,

method, challenges, changelog, and a downloadable audit package under `site/audit/`.

is GENERATED (top-3 injected by the builder, idempotent) so the manifesto never carries

hand-typed ranking data that can drift.

`apparens.nl/ai-canon/` (Cloudflare Pages, static).

Design pass: align to apparens.nl + house style

the white Apparens logo + serif wordmark, white body, orange `#B8430A`, DM Serif + DM Sans.

visually consistent and rebuilds from one place. Its Canon-50 teaser is the live top-3.

Acceptance audit response (decisions 1 to 6)

provenance, descriptions where written and "Description pending" otherwise, conflict-of-interest flag

shown inline, labelled candidacy not canonical. Books are curated and browsable but not yet scored.

grouped by category, alphabetical within category, labelled "described, never ranked" (no score).

page; significance lines added to the papers shelf.

(rule 5) activates only when more than one ecosystem enters a scored domain, so the site makes no

worldwide / present-tense multilingual claim and the Chinese spine (28 works) is a declared gap; a fuller

longevity proxy (holdings over time, editions, availability); and book scoring. The pilot ranks papers

only, behind honest framing, and that scored view passed GATE A.

the build on any em-dash in generated HTML.

byte-deterministic archive carrying the pipeline code, weights, pinned data snapshot, release outputs,

and a one-command `reproduce.sh`. Verified: extracted into a clean directory with no repo, it rebuilds

the release and reports corpus_hash MATCH. This is what makes the package archival and time-invariant.

Security hardening to the app's bar (v1.2, the [S##] guardrails)

Derived from the AI Control Index app's posture and adapted for a static site.

plus X-Content-Type-Options, Referrer-Policy, X-Frame-Options DENY, COOP, CORP,

Permissions-Policy, HSTS. [S5]

style remains in any page. [S6]

no Google Fonts. [S7]

(javascript:/data: collapse to `#`); adversarial XSS fixtures prove hostile titles,

descriptions, and URLs cannot become markup or script. [S8]

build if ARCHITECTURE.md and the checks drift. ARCHITECTURE.md added with the [S##] system.

Fixed body links to be underlined (distinguishable without color) and footer text contrast

(a global `p` rule was rendering footer text dark-on-dark); promoted a heading to fix order.

A static a11y lint (lang, single h1, img alt, heading order) keeps it from regressing in CI.

Published

**10.5281/zenodo.21042034**. The method note, README badge, CITATION.cff, and the site Method

page all cite it.

Not yet

Book metric harvesting (title collisions: deferred), CN verification toward 60-90,

more harvested metrics (next OpenAlex daily window + WorldCat/Open Syllabus drops),

deploy the site to Cloudflare Pages.