Commit graph

5 commits

Author SHA1 Message Date
6db0f6afc3 feat: MVP webinterface
Server-rendered HTML via Jinja2 templates in FastAPI:
- Homepage: zoekbalk, statistieken, inhoudsopgave Grondwet
- /grondwet: volledige tekst als leesbare pagina
- /grondwet/samenvatting: AI-samenvatting (B1-niveau)
- /zoeken: keyword (Meilisearch) + semantisch (Qdrant)
- /historie: tijdlijn van versies
- /diff: visuele vergelijking tussen twee versies
- Sober, responsive CSS (overheidsstijl)
- Disclaimer op elke pagina

flake.nix: jinja2 + markdown packages toegevoegd

Sluit #39
2026-03-30 10:48:36 +02:00
a7e4a4bc16 feat: MVP index.json generator + CLI tool
- indexer.py: genereert index.json met metadata per regeling
- CLI: show, search, diff, log commando's met Rich formatting
- flake.nix: shellHook echo naar stderr (stdout schoon voor tools)

wetgit show BWBR0001840 --artikel 1  → toont artikel 1 Grondwet
wetgit search "godsdienst"           → vindt art. 1, 6, 23

Sluit #32, #33
2026-03-30 10:23:20 +02:00
0de70d6be0 fix: flake.nix venv verwijderd, alleen nix Python
- .venv verwijderd — veroorzaakte path conflicts met nix packages
- PYTHONPATH=$PWD/src in shellHook zodat 'import wetgit' werkt
- Oude venv deactivatie in shellHook voor het geval
- agentmail via pip --user (enige PyPI-only package)
- setuptools/wheel/build verwijderd (niet nodig zonder venv)
2026-03-30 10:12:40 +02:00
40c36d612a feat: historie-reconstructie pipeline
- history.py: reconstrueert volledige versiehistorie per regeling
- sru_client.py: fetch_all_toestanden() voor alle versies per BWB-ID
- Git commits met correcte author date (inwerkingtredings-datum)
- flake.nix: venv vervangen door PYTHONPATH + pip --user

Pilot: Grondwet (BWBR0001840) — 11 toestanden, 11 commits, 0 failures.
git diff toont exacte wetswijzigingen (bijv. art. 131 Grondwet).

Sluit #28, #29, #30, #31
2026-03-30 07:37:47 +02:00
1dc93b0f89 feat: project scaffold + BWB XML parser
- pyproject.toml met wetgit package, pytest/ruff/black/mypy config
- BWB XML → Markdown parser (src/wetgit/pipeline/bwb_parser.py)
- Getest op ~400 regelingen over alle BWB-types
- 20 edge cases gevonden en opgelost:
  - <boek>, <deel>, <kop> structuren
  - <regeling-tekst>, <circulaire-tekst> containers
  - <bijlage>, <enig-artikel>, <sub-paragraaf>, <divisie>
  - CALS <table> → Markdown tabellen
  - <nadruk>, <sup>, <sub> inline formatting
  - <redactie>, <tussenkop>, <gereserveerd>, <vervallen>
- Nix flake devshell met alle dependencies
- CLI entrypoint (wetgit)
- Domain models (Regeling, Artikel)

Sluit #4, sluit #5
2026-03-29 21:24:32 +02:00