Skip to content

fix(www): replace stale benchmark route/sitemap counts with durable build-truth claim (#1312) - #1313

Merged
SisyphusZheng merged 2 commits into
devfrom
fix/1312-benchmark-durable-claim
Sep 4, 2026
Merged

fix(www): replace stale benchmark route/sitemap counts with durable build-truth claim (#1312)#1313
SisyphusZheng merged 2 commits into
devfrom
fix/1312-benchmark-durable-claim

Conversation

@SisyphusZheng

Copy link
Copy Markdown
Member

Problem

Verifier NO-GO finding F1 (Beta.2 closure, docs/evidence/2026-09-04-v044-beta2-closure-verification.md): www/content/architecture/benchmark.md:11 and benchmark.zh.md:11 claimed "30 route modules, 205 sitemap URLs". The claim was handwritten, stale since PR #1106, and shipped verbatim in built en+zh HTML — a fresh build at candidate aa3dd70 emits 146 sitemap URLs / 150 pages from 34 route files. No gate covered it.

Closes #1312. Part of #1155. Stage #1288.

Owner

www content truth (www/content/architecture/), gated by www:check-truth / content-graph:check.

Before

| SSG build (www) | 30 route modules, 205 sitemap URLs | (en) / 30 个路由模块,205 条 sitemap URL (zh) — both false at candidate; verified RED: grep -c '<loc>' www/dist/sitemap.xml = 146; grep '205 sitemap URLs' www/dist/architecture/benchmark/index.html matched (stale claim shipped in built output, both locales).

After

| SSG build (www) | Every route prerendered; sitemap built from routes | (en) / 每个路由都静态预渲染;sitemap 由路由生成 (zh). Verified GREEN in built output: new claim present in dist/architecture/benchmark/index.html and dist/zh/architecture/benchmark/index.html; stale strings absent (0 matches). Committed content-graph fingerprints regenerated (only the two benchmark entries changed).

Chosen approach per claim (adjudication)

  • "30 route modules, 205 sitemap URLs" (both locales)reworded to durable truth (packet option 1, cheapest honest). The counts carry no benchmark value — the page measures properties, not site scale — and deriving numbers into Markdown would need new injection machinery (forbidden parallel machinery). Gating hand-written counts would require re-deriving sitemap semantics outside the build (fragile duplicate of packages/adapter-vite/src/internal/content/sitemap/). With no volatile numbers left, there is nothing to drift; existing en/zh parity and locale gates (www:check-truth, content-graph:check) keep the two locales consistent.
  • Other quantitative strings scanned in both files: "Zero JS parse cost" (durable architectural property of DSD), "Budgeted island chunks; no mandatory page runtime" (durable, enforced by the build's island budget check), "Measured by CI performance evidence" rows (durable pointers, no numbers). No timings or other counts present. Nothing else to adjudicate.

Why-not-second-owner

No second owner: the fix is confined to the two content files plus their committed content-graph fingerprints. No tool, gate, or CI policy change was needed — www:check-truth, content-graph:check, www:check-current-truth, and the build-composed www:check-artifact-truth / www:check-links already cover these surfaces (ci+release tiers via AutoFlow policy), so no new CI wiring was introduced.

Evidence

  • RED (pre-fix, mechanically demonstrated): claimed 205 vs grep -c '<loc>' www/dist/sitemap.xml → 146; claimed 30 route modules vs 34 route files in www/app/routes; stale claim present in built en+zh HTML.
  • deno task content-graph:check → passed (byte-identical regeneration)
  • deno task www:check-truth → passed (nav + locale availability + route locale honesty + blog language + roadmap)
  • deno task www:check-current-truth → passed
  • markdownlint-cli2 on both edited files → 0 issues
  • deno task build → exit 0 (SSG 150 pages, sitemap 146 URLs, www:check-artifact-truth passed, www:check-links passed); built benchmark pages carry the new claim in both locales, stale numbers gone
  • deno task test → exit 0 (full suite incl. examples)

Scope

3 files: www/content/architecture/benchmark.md, www/content/architecture/benchmark.zh.md, www/app/data/_generated-content-graph.json (fingerprint regeneration only). No general content rewrite.

Risk

Low. Content-only change; the reworded claim states a build invariant (full prerender + sitemap emission) that the SSG build itself proves on every run. No gate or CI changes.

…uild-truth claim (#1312)

The benchmark page (en+zh) asserted '30 route modules, 205 sitemap URLs',
handwritten and stale since PR #1106 — the candidate build emits 146 sitemap
URLs across 150 pages from 34 route files, and the false claim shipped
verbatim in built HTML (verifier NO-GO F1).

Adjudication per derive-from-owned-truth: the counts add no benchmark value
(the page measures properties, not site scale) and cannot be derived into
Markdown without new injection machinery, so the volatile numbers are removed
in favor of a durable architectural property — every route prerendered, the
sitemap built from routes. No numeric claim remains to silently rot; en/zh
parity and locale availability stay under the existing www:check-truth and
content-graph gates, and the content-graph fingerprints are regenerated.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 4, 2026

Copy link
Copy Markdown

Deploying openelement with  Cloudflare Pages  Cloudflare Pages

Latest commit: bb767f8
Status: ✅  Deploy successful!
Preview URL: https://6d8a9e86.lessjs.pages.dev
Branch Preview URL: https://fix-1312-benchmark-durable-c.lessjs.pages.dev

View logs

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

APIError: Insufficient Balance

opencode session  |  github run

Root deno fmt re-pads markdown tables to cell width; my edited cells
changed the column widths. Content-graph fingerprints regenerated to
match the formatted sources.
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

APIError: Insufficient Balance

opencode session  |  github run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant