fix(package): begrens pakket-export op de herimportgrens en stat vooraf (#1046) #1089

Merged
brenno merged 4 commits from fix/export-package-budget-1046 into main 2026-08-01 19:49:10 +00:00
Owner

Sluit #1046.

Pakket-export had geen cumulatief budget: elke asset ging volledig het archief in en de hele ZIP werd gematerialiseerd, zodat één groot mediabestand een pakket kon opleveren dat OciDeck zelf weigert te heropenen (512 MiB-importgrens) en gigabytes geheugen vroeg. De bouw stat't nu elke asset vóór het lezen en dwingt een cumulatief budget af dat op de importgrens aansluit, met een duidelijke melding (PackageBudgetExceeded, 31 talen). Budget injecteerbaar voor tests.

Tests: grote losse asset, cumulatieve grens op de byte, export-herimport-contract. Docs (FILE_FORMAT/USER_GUIDE/SOURCE_MAP/API) bijgewerkt. make check groen (incl. l10n; klasse- en methodegrens hersteld via top-level helpers).

Bewaker: raakt de pakket-export maar niet het .md-formaat, geen nieuwe afhankelijkheid of uitgaand verkeer; de grens sluit juist aan op een bestaande belofte (herimporteerbaarheid).

🤖 Generated with Claude Code

Sluit #1046. Pakket-export had geen cumulatief budget: elke asset ging volledig het archief in en de hele ZIP werd gematerialiseerd, zodat één groot mediabestand een pakket kon opleveren dat OciDeck zelf weigert te heropenen (512 MiB-importgrens) en gigabytes geheugen vroeg. De bouw stat't nu elke asset vóór het lezen en dwingt een cumulatief budget af dat op de importgrens aansluit, met een duidelijke melding (PackageBudgetExceeded, 31 talen). Budget injecteerbaar voor tests. Tests: grote losse asset, cumulatieve grens op de byte, export-herimport-contract. Docs (FILE_FORMAT/USER_GUIDE/SOURCE_MAP/API) bijgewerkt. make check groen (incl. l10n; klasse- en methodegrens hersteld via top-level helpers). Bewaker: raakt de pakket-export maar niet het .md-formaat, geen nieuwe afhankelijkheid of uitgaand verkeer; de grens sluit juist aan op een bestaande belofte (herimporteerbaarheid). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Pakket-export had geen cumulatief budget: elke asset ging volledig het
archief in en de hele ZIP werd gematerialiseerd, zodat één groot mediabestand
een pakket kon opleveren dat OciDeck zelf weigert te heropenen (512 MiB-
importgrens) en gigabytes geheugen vroeg. De bouw stat't nu elke asset vóór
het lezen en dwingt een cumulatief budget af dat op de importgrens aansluit,
met een duidelijke gebruikersmelding (PackageBudgetExceeded). Het budget is
injecteerbaar voor tests. Tests: grote losse asset, cumulatieve grens op de
byte, en het export-herimport-contract.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
refactor(export): houd FileService en _buildPackageArchive onder hun plafond (#1046)
All checks were successful
scans / scans (pull_request) Successful in 3m36s
d61911263f
Het pakketbudget duwde de FileService-klasse over de 2800-regel-ratchet en
_buildPackageArchive over de 150-regelmethodegrens. Verplaats pure helpers
(_safeName, _safeThemeName, _addChartDataTo, _packSlides, _freeArchivePath)
naar top-level functies in dezelfde library en trek het budget in een
_PackageBudget-klasse plus _assertArchiveWithinBudget/_addThemeCssMember.
Gedrag ongewijzigd; alleen de plaatsing verandert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 03cd9dd515 into main 2026-08-01 19:49:10 +00:00
Sign in to join this conversation.
No description provided.