Commit graph

6 commits

Author SHA1 Message Date
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