mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 19:01:54 +00:00
Both renderers build their output as a list of lines seeded with the "networks:" header and append one line per attachment. With no attachment to append they still returned the bare header, and a mapping key with no children parses as null, not as an empty mapping. Compose then rejects the whole file instead of ignoring an empty section. The two functions do not share their non-empty paths and disagree on where the newline goes -- render_compose_networks terminates with one, render_container_networks leads with one -- so the guard is written out in each rather than factored into a helper that would have to know both shapes. Both callers already treat an empty string as "insert nothing", so returning it needs no change on their side. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>