Raw JSONL to structured tree: 11,285 entity files
One record, one file. The jurisdiction tree is now real: us/people/ 542 federal us/states/<xx>/people/ 7,561 state us/states/fl/counties/<c>/people/ 1,058 county .../municipalities/<m>/people/ 2,124 municipal (67 FL counties) Each file is OKF markdown + YAML frontmatter: fixed key order, field-level source provenance, Atlas UUIDs for round-tripping, deterministic paths and slugs. Converter passes the determinism test: two runs, byte-identical tree. Generated by scripts/convert_officeholders.py from data/officeholders-v2.jsonl (unchanged). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
---
|
||||
type: Person
|
||||
title: "Sam Singh"
|
||||
description: "MI Senate District 28 — MI State Senate District 28"
|
||||
role: "MI Senate District 28"
|
||||
party: "D"
|
||||
level: "state"
|
||||
branch: "legislative"
|
||||
state: "MI"
|
||||
district: "MI State Senate District 28"
|
||||
tenure:
|
||||
start: "2023-01-01"
|
||||
current: true
|
||||
election:
|
||||
term_length: 2
|
||||
term_limit: "varies"
|
||||
ids:
|
||||
person: "04b4e5c7-03ae-41f4-8c3a-509bc4aa0f83"
|
||||
office: "68f9be30-c6a2-4161-bc15-6fd482bd946e"
|
||||
tenure: "2e0f172c-4e3d-4f11-8931-2ff14286d557"
|
||||
jurisdiction: "e3e8ddb6-90dc-4354-b964-8e791b77825d"
|
||||
sources:
|
||||
- field: tenure
|
||||
source: "OpenStates YAML via GitHub 2026-06-20"
|
||||
- field: jurisdiction
|
||||
source: "SLDU (Census 2025)"
|
||||
confidence: official
|
||||
tags: [officeholder, state, legislative, mi]
|
||||
timestamp: "2026-06-20"
|
||||
---
|
||||
|
||||
# Sam Singh
|
||||
|
||||
Current MI Senate District 28 (MI State Senate District 28).
|
||||
|
||||
## Sources
|
||||
|
||||
- tenure: OpenStates YAML via GitHub 2026-06-20
|
||||
- jurisdiction: SLDU (Census 2025)
|
||||
|
||||
Generated from the Atlas officeholders v2 export (2026-06-20).
|
||||
Reference in New Issue
Block a user