Files
republic-os/Makefile
T
Fabio 7764501bcf Legislation axis: Bill schema, OpenStates ingest, validator + provenance
The legislative-process corpus, parallel to the U.S. Code statute corpus.
schemas/bill.schema.json + scripts/ingest_legislation.py (deterministic,
stdlib-only, reads per-state JSONL from the depot); validate.py gains
legislation/ as a third tree; Makefile 'legislation' target. Raw JSONL stays
off-repo on the depot (gitignored); the per-state SHA-256 manifest is the
committed provenance anchor. Vintage 2026-07-01.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 17:24:31 -04:00

37 lines
1.8 KiB
Makefile

# Republic OS — repeatable pipeline commands.
# The build is deterministic: `make build` twice yields a byte-identical tree.
.PHONY: build validate board legal-us-code authority legislation check
build: ## Regenerate the entity tree from raw exports in data/
python3 scripts/build.py
validate: ## Check every entity file: OKF, schema, and link integrity
python3 scripts/validate.py
board: ## Rebuild the Board (inlines fresh data into viz/board.html)
python3 scripts/build_viz.py
@echo
@echo "board.html regenerated. To update the LIVE Artifact you must REPUBLISH"
@echo "viz/board.html to its existing URL — editing the repo file does not"
@echo "update a deployed Artifact. See docs/board.md."
changelog: ## What changed in the government since the last commit (BASE/HEAD overridable)
python3 scripts/generate_changelog.py $(BASE) $(HEAD)
TITLES ?= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54
legal-us-code: ## Ingest the pinned U.S. Code titles (override with TITLES="…")
@for t in $(TITLES); do python3 scripts/ingest_us_code.py --title $$t; done
authority: ## Extract the § -> executive-office authority edges (a committed input)
python3 scripts/extract_authority.py
LEG_VINTAGE ?= 2026-07-01
LEG_STATES ?= ak al ar az ca co ct de fl ga hi ia id il in ks ky la ma md me mi mn mo ms mt nc nd ne nh nj nm nv ny oh ok or pa ri sc sd tn tx ut va vt wa wi wv wy
legislation: ## Ingest enacted state legislation from the depot export (override LEG_STATES="fl ca")
@for s in $(LEG_STATES); do python3 scripts/ingest_legislation.py --state $$s --vintage $(LEG_VINTAGE); done
check: build validate ## Build, then validate — the full gate