Task · TSO-0177

Make the documented API spec refresh failure-atomic

Description

CodeRabbit found that the new YAML-to-JSON refresh example redirects yq output directly into the vendored JSON baseline. A conversion failure can truncate a previously valid baseline. The completed vendor refresh itself is byte-identical to the successful upstream conversion; this is a future operator-command safety issue, not a schema defect.

Acceptance Criteria

Definition of Done

Implementation Plan

loop27: isolated staged documentation candidate with local success/failure fixtures; root review, landing and exact-SHA gates.

Implementation Notes

loop27: 1 implementation attempt; two no-charge infrastructure retries for unrelated golangci-lint lock contention. Independent reviewer OK, CodeRabbit skipped docs. Landed b9544f82b1b479d96c3064703e48a3eff31c8257; exact composed setup + just check exit0 (561.888s, 71 passed 0 failed, clean tree). Required ci-success success in run38152648367. No generated inputs changed; generation DoD not applicable.

Final Summary

Refresh now downloads/converts in temporary files and atomically renames successful JSON. Old snippet negative fixture corrupts baseline; fixed download/conversion failures preserve bytes and success matches conversion with no temps. Source SHA b9544f82b1b479d96c3064703e48a3eff31c8257, exact composed gate and ci-success run38152648367 green. helm-success absent, not a pass.

References

View the source file on GitHub