site
The fact.ngo website and xray archive: chrome, the build pipeline, deployed to Cloudflare Pages.
README
site.fact.ngo
The fact.ngo nonprofit fact-checking website, with xray as its AI-perspective archive. A coherence.ngo project.
The xray pages are built from the corpus in ../xray
and the per-model dataset repos (~/Documents/fact.ngo/<model-slug>). Static output in dist/
is fully self-contained: one page per model, each with its own design language, plus dataset
zips for download.
Build
node scripts/build.js
Zero dependencies. The build:
- loads each active model's records, highlights, manifest, plan, and session transcripts
- computes stats and the integrity profile (protocol observations, not evals)
- machine-matches every quote against its transcript (abridgment-legal segment match) —
unmatched records are listed in the mechanism repo's docs/corpus/verbatim-audit.json
- emits
dist/index.html+dist/xray/index.html+dist/xray/cases.html+dist/xray/<slug>.html+dist/xray/downloads/<slug>.zip(git archive of
each dataset repo)
Configure
Constants at the top of scripts/build.js:
DONATE_URL— the Ko-fi donation page
Distribution is self-hosted only (decision 2026-09-19): datasets download from fact.ngo;
transcripts are served from dist/xray/transcripts/. No third-party code hosts.
Deploy
dist/ is the deployable artifact — any static host. Natural home: Cloudflare Pages
project bound to the fact.ngo domain (direct upload of dist/, or connect this repo with
build command node scripts/build.js, output dir dist).
Data contract
This repo contains no data of its own; it renders the dataset repos. Never edit records here.
Curated presentation layer lives in each dataset's highlights.json; corrections to quotes
happen in the datasets, never in the site.
Visual system
Dark by default, with an optional warm paper mode saved in the visitor's browser. The
xray landing page and cohort use four portrait cards; each case file shares the same archive
structure but has its own material and typography: jade precision (GLM), a brass ledger
(gpt-oss), terracotta structure (Gemma), and lavender tension (Qwen).
assets/site.css: shared responsive styles and the four case-file themes.assets/site.js: optional theme toggle, search, combined filters, result paging, and
direct-position links. Without JavaScript, all archive records remain readable.
assets/*.jpg: optimized local portraits; generation prompts and provenance are in
assets/README.md. These are artistic interpretations, not empirical model attributes.
scripts/build.js: page content, dataset rendering, transcript links, and build.
All assets are served locally. No third-party fonts, trackers, runtime dependencies,
new model calls, or dataset edits are required. The build copies assets into dist/assets.
Preview with python3 -m http.server 4173 --bind 127.0.0.1 --directory dist.
Code and curation remain AGPL-3.0; model outputs retain their existing license terms.
The approximate transcript check currently reports 35 unmatched records (3 GLM, 9 GPT,
21 Gemma, 2 Qwen). This design update preserves those records and reports match counts
without presenting the check as certification. Source-data corrections belong upstream.
Product and routes
The parent fact.ngo site is a nonprofit fact-checking journal in development.
Its planned human-and-AI system will publish evidence-supported findings, with
free reading, free personal/small submissions, and a $5 fee for larger claims
supporting reviewers and the nonprofit. The homepage describes the planned system;
submission, review, and payment services are not implemented by this static site.
/: the fact.ngo mission, planned process, and access/funding model; features xray./xray/: the existing AI-perspective showcase, relocated from the root./xray/cases.html: the detailed cohort page, relocated from/xray/index.html./xray/<slug>.html: model pages; URLs, data, downloads and transcripts remain stable.
The fact.ngo wordmark returns to the parent homepage. The / xray link returns to
the xray showcase; Case Files and Method lead to the detailed archive. Xray model
perspectives are not represented as verified fact-checking results.
The product contract is in docs/site-spec.md. Build from committed sources before
publishing so dist/BUILD_MANIFEST.json identifies the source revision used.