v3.0.3 — pyinfra-smoke heredoc fix

Single-fix patch release. Carmine pipeline failed to lint at v3.0.2
because pyinfra-smoke's heredoc-in-script form lints clean inside the
catalog (which doesn't self-test pyinfra-smoke) but breaks downstream
consumer lint.

Replace storage.conf heredoc with single printf line.

Self-test gap noted in CHANGELOG: v3.1 should extend consumer-test
to exercise pyinfra-smoke, image-verify, bootc-boot-smoke against
realistic targets so the catalog catches these in isolation.