Coverage gates:
- renderer and bridges/renderer gain JaCoCo (prepare-agent, report, check at
verify) with a bundle rule at the measured baseline, rounded down: renderer
94% instructions and 91% lines, bridge 85% instructions and 82% lines.
- New code is held to 100% line coverage from its first commit: packages
com.kingsrook.qbits.renderer.scene2 and below, AssetInspector, ZplRaster,
and the new foundation classes the label layout design names. The rules
match nothing until those exist, so later packages do not edit these poms.
- The foundation's 85% instruction and 90% class rule is unchanged.
Fuzz scaffolding:
- MutationCampaign in each module's test tree: a seeded, bounded mutation
harness with no clock and no unseeded randomness; a finding replays from
its seed and iteration.
- One campaign per module in the normal test phase: what the version 1 scene
parser accepts is a version 1 scene (checked by a second parser), and what
the host printer gate accepts holds only the renderer's command set.
- docs/security/fuzzing.md: targets, properties, limits, seeds and replay.
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>