What's missing
`specs/architecture.md` and `specs/behaviors/storage.md` both reference a public scrubbed snapshot of the data repo — `codeforphilly-data-snapshot` — that contributors can clone without needing access to the live production data. The snapshot is supposed to be produced by `apps/api/scripts/scrub-data.ts` and pushed periodically.
The scrubber script exists. The public snapshot repo does not.
Fix shape
Two pieces:
- One-time: create the `CodeForPhilly/codeforphilly-data-snapshot` public repo on GitHub; do the first `scrub-data` run; push the result.
- Recurring: add a scheduled CI workflow (GitHub Action on a weekly cron, say) that runs the scrub + force-pushes a fresh snapshot tag. Probably lives in `.github/workflows/` in this repo since the script lives here.
Why now
Pre-cutover-onboarding stories assume new contributors can clone the snapshot. If we leave the spec asserting the repo exists without it existing, new contributors hit a dead link.
Identified during the 2026-05-30 post-cutover-blog spec-drift audit.
What's missing
`specs/architecture.md` and `specs/behaviors/storage.md` both reference a public scrubbed snapshot of the data repo — `codeforphilly-data-snapshot` — that contributors can clone without needing access to the live production data. The snapshot is supposed to be produced by `apps/api/scripts/scrub-data.ts` and pushed periodically.
The scrubber script exists. The public snapshot repo does not.
Fix shape
Two pieces:
Why now
Pre-cutover-onboarding stories assume new contributors can clone the snapshot. If we leave the spec asserting the repo exists without it existing, new contributors hit a dead link.
Identified during the 2026-05-30 post-cutover-blog spec-drift audit.