|
|
21be1367d1
|
feat: MVP FastAPI REST API
Endpoints:
- GET /health — health check
- GET /api/v1/regelingen — lijst (met type/status filter)
- GET /api/v1/regelingen/{bwb_id} — metadata
- GET /api/v1/regelingen/{bwb_id}/tekst — volledige Markdown
- GET /api/v1/regelingen/{bwb_id}/artikelen — artikellijst
- GET /api/v1/regelingen/{bwb_id}/artikelen/{nr} — specifiek artikel
- GET /api/v1/regelingen/{bwb_id}/versies — beschikbare toestanden
- GET /api/v1/regelingen/{bwb_id}/diff?van=...&tot=... — versievergelijking
- GET /api/v1/zoeken?q=... — full-text zoeken
- Swagger docs op /api/docs
Getest: zoek "godsdienst" → vindt art. 1, 6, 23 Grondwet.
Sluit #34
|
2026-03-30 10:27:12 +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 |
|
|
|
03402cdfa0
|
feat: dagelijkse sync pipeline + cron job
- sync.py: vergelijkt SRU catalogus met lokale staat, verwerkt delta's
- daily-sync.sh: wrapper script voor cron (lock, clone, pull, sync, push)
- Cron job: dagelijks om 03:00 op dt-prod-01
- Forgejo API token in group_vars voor git push authenticatie
Refs #9
|
2026-03-30 06:42:04 +02:00 |
|
|
|
188f41c7ee
|
docs: README herschrijven, data/ toevoegen aan gitignore
- Volledige projectbeschrijving, quick start, architectuur
- Pipeline documentatie en development instructies
- Disclaimer en licentie-informatie
- data/ directory (XML cache) gitignored
|
2026-03-30 06:40:06 +02:00 |
|
|
|
da7d11deb9
|
feat: BWB pipeline — SRU crawler, downloader, runner
- SRU client: crawlt zoekservice.overheid.nl voor alle BWB regelingen
- Downloader: haalt XML op van repository.officiele-overheidspublicaties.nl
- Pipeline runner: orchestreert crawl → download → parse → schrijf Markdown
- Deduplicatie: meerdere SRU toestanden → meest recente per BWB-ID
- Mappenstructuur conform PRD: wet/{slug}/{BWB_ID}/README.md
- CLI: python -m wetgit.pipeline.runner --output /path --type wet --limit N
Getest: 28 wetten succesvol gedownload en geparsed, 0 failures.
Refs #6
|
2026-03-29 21:27:47 +02:00 |
|
|
|
c481ebf9e7
|
feat: ansible deployment setup voor dt-prod-01
- Forgejo + Redis Docker stack (wetgit-forgejo role)
- FastAPI + Celery systemd services (wetgit-app role)
- Nginx vhosts voor git.wetgit.nl en api.wetgit.nl (wetgit-nginx role)
- SSL via Let's Encrypt (certbot webroot)
- Backup script (forgejo dump, geen downtime)
- Codeberg mirror script
- Cron jobs voor backup/mirror/log cleanup
- Ansible vault voor secrets (encrypted)
Geïsoleerd van dt-platform: eigen poorten, users, directories.
|
2026-03-29 21:24: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 |
|
|
|
bed91e891e
|
Initial commit
|
2026-03-29 08:15:21 +02:00 |
|