From the v1 whole-branch review (epic #1); ledger-triaged follow-ups. The config-parsing layer lacks the isolation driver.py gives analyzers — malformed configs can abort a whole map: compose services: as YAML list crashes .items() (wiring.py); _render catches OSError but not TimeoutExpired/SubprocessError; non-dict k8s env entries can AttributeError. Also: decode bytes stderr in skip reasons (TimeoutExpired leaks b'..' repr); log a line on unsupported-language skips, not just crash skips.
From the v1 whole-branch review (epic #1); ledger-triaged follow-ups. The config-parsing layer lacks the isolation driver.py gives analyzers — malformed configs can abort a whole map: compose
services:as YAML list crashes .items() (wiring.py);_rendercatches OSError but not TimeoutExpired/SubprocessError; non-dict k8s env entries can AttributeError. Also: decode bytes stderr in skip reasons (TimeoutExpired leaks b'..' repr); log a line on unsupported-language skips, not just crash skips.