Files
republic-os/Makefile
T
Fabio 2e5197d1a3 The changelog engine: turn git diffs into a civic changelog
The diff is the product — now literally. generate_changelog.py reads a
git diff of the entity tree between any two refs and says, in plain
language, what changed in the government: entities added / modified /
removed, grouped by type and by jurisdiction, dated from the commit.

CHANGELOG.md is seeded from the real history so far:
  - initial load: +11,285 people across 51 states
  - institutional gap: +233 bodies, ~532 people enriched
  - elections + demographics: +2,494 candidates, +3,494 jurisdictions
    (TX +541, FL +396, CA +341 ...)

On an initial load every entity is an addition; on a re-sync of the same
source, only real government changes will surface — which is the whole
point. When nothing changed, it says so.

make changelog [BASE=.. HEAD=..]. No third-party deps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 08:28:50 -04:00

16 lines
574 B
Makefile

# Republic OS — repeatable pipeline commands.
# The build is deterministic: `make build` twice yields a byte-identical tree.
.PHONY: build validate 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
changelog: ## What changed in the government since the last commit (BASE/HEAD overridable)
python3 scripts/generate_changelog.py $(BASE) $(HEAD)
check: build validate ## Build, then validate — the full gate