# site.fact.ngo agent contract

The website repo: page chrome, the build pipeline (scripts/build.js), and dist/
deployed to Cloudflare Pages (project `fact`). The spec is docs/site-spec.md.

## Build and deploy

- `node scripts/build.js` resolves the engine (`../xray`) and datasets (`../`)
  from the mono-folder; override with XRAY_ROOT and XRAY_DATASETS.
- dist/BUILD_MANIFEST.json is the cohort lock: the website, engine, and dataset
  commits that produced the build. Deployed dist must always match it.
- Never edit dist/ by hand; it is generated.
- Deploy: `npx wrangler pages deploy dist --project-name=fact`. Credentials come
  from the environment; they are never committed.

## Verification

- No page may scroll sideways at any viewport. Test at 320, 375, and 1280
  before shipping any layout or copy-length change.

## Pushing

Push main to origin (the the self-hosted remote bare remote) after every finished work unit.
