Az első valós CI-futás megmutatta: v4 újabb artifact-storage protokollt
használ, amit ez a Gitea-verzió (1.26.4) még nem támogat
("GHESNotSupportedError"). v3-mal a render+manifest lépés már bizonyítottan
lefut (pandoc HTML + WeasyPrint PDF mind a 4 dokumentumra), csak a feltöltés
bukott — ez javítja.
scripts/build-manifest.py: minden projekt-almappa .md dokumentumát
HTML+PDF-re renderel (pandoc → HTML, WeasyPrint → PDF, full_fonts=True —
lásd HRF-34, ugyanaz a determinizmus-óvintézkedés), és dist/legal-manifest.json-t
ír soronként: version (utolsó, a fájlt ténylegesen érintő commit rövid
hashe, NEM repo HEAD — HT-15), effective_from (a dokumentum saját
"Hatálybalépés napja" sorából parse-olva, null ha még [dátum] placeholder),
content_hash (a forrás git blob hashe, átmeneti megoldás, lásd a script
docstringjét).
.gitea/workflows/legal-manifest.yml: push/manual trigger, teljes (nem
sekély) checkout, pandoc+WeasyPrint telepítve explicit lépésként (nem
egyedi runner-image — így a CI-környezet a workflow fájlból látható és
reprodukálható).
Helyileg tesztelve: effective_from-parse, git_blob_hash, last_commit_hash,
pandoc HTML-render mind helyesen működik. A WeasyPrint-lépés Windows-on
nem tesztelhető (natív libek, lásd HRF-34) — a CI-futtatás bizonyítja.