This repo is built to be published deterministically: every page and data claim is checked by scripts a stranger can run (node crosswalk-gate.js), so the
transfer's accuracy does not depend on trusting the transfer. Provenance lives in the tree (sourced data files, custody gates), not in git archaeology — which is
what makes the clean-genesis step below cost nothing scientifically.
- The custody gate (
node crosswalk-gate.js) — every page and data-file check plus the publication-hygiene sweep (no absolute machine paths, no user-directory strings, no e-mail addresses anywhere in the tracked tree). - The local publication privacy gate (wired into this repo's pre-push hook; it lives outside the repo on purpose — its word list names private things, so it must never sit in a publishable tree). It sweeps the tree, the file names, and every blob in the full git history, and prints the author/committer identity surface for review. A clean tree over a leaking history still leaks; the gate blocks the push until the history is clean.
Both gates fail closed. The push simply will not leave the machine while either is red.
The development history of this repo predates the hygiene sweep and contains local machine paths in early commits. History rewriting is error-prone; the honest, deterministic alternative is a clean genesis: publish the verified tree as a single initial commit. Nothing is lost — every page, dataset, and gate is a file in the tree.
# from the repo root, with all gates green:
git checkout --orphan public-main
git add -A
git commit -m "The Crosswalk — public genesis (verified tree; gate 209/209)"
git branch -M public-main main-public # keep local main untouched
git remote add origin <your-new-github-repo-url>
git push origin main-public:main # pre-push hooks run both gates hereKeep the private development branch local. From the genesis forward, publish with normal incremental commits — and commit pre-registrations before their experiments run, so the registration's commit hash predates the data (adopted practice; see the Stable repo).
- Commits carry the author identity configured in git. If you prefer not to expose a
personal e-mail, set GitHub's noreply address before the genesis commit:
git config user.email "<id>+<username>@users.noreply.github.com". - First-name design credits in the docs are intentional (open-source-with-credit).
- Model co-authorship lines are intentional credit, not tooling leakage.
A green push proves the source left correctly; it does not prove the transfer carried it. From a fresh clone on any machine:
git clone <url> && cd <repo>
node crosswalk-gate.js # must print GREEN with all checks holding
node verify-live-crosswalk.js <live-url> # after any deployIf the fresh clone's gates are green, the published repo carries the full verified state — custody, claims, and verdicts included — with no reference to any private system.
This is the human pole: the front door is public/index.html — the decision ladder, the
exhibits, and the reading room. The agent pole (the Stable) lives in its own repo; the two
share a method, never a codebase.