Skip to content
This repository was archived by the owner on Sep 28, 2026. It is now read-only.

fix: handle transient clean-room convergence states - #71

Merged
bxvtr merged 3 commits into
mainfrom
fix/clean-room-convergence-waiting
Aug 18, 2026
Merged

bxvtr merged 3 commits into
mainfrom
fix/clean-room-convergence-waiting

Conversation

@bxvtr

@bxvtr bxvtr commented Aug 18, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • A fresh clean-room acceptance exposed two automation defects: FORMAT-authorized Ansible was running but its output was buffered until exit, and a transient Argo OutOfSync / Missing state was treated as immediate fatal failure.
  • Ansible stdout/stderr is now streamed live through tee while the complete log is retained and the real ansible-playbook exit code is preserved via PIPESTATUS[0].
  • Transient first-reconcile Argo states, including the live-proven OutOfSync / Missing pair, now use the existing bounded wait. Synced / Healthy remains the only success condition; Degraded remains fail-fast. Timeouts, FORMAT/APPLY/REBOOT gates, and desired infrastructure state are unchanged. No manual live repair was encoded.

Test plan

  • ./tests/unit/test_clean_room_automation_contract.sh
  • Independent PRE-COMMIT review: BLOCKER/HIGH/MEDIUM = 0
  • Required PR CI on the exact head SHA

Stream Ansible output live after FORMAT and wait on first-reconcile
Argo OutOfSync/Missing instead of failing immediately.
@bxvtr bxvtr self-assigned this Aug 18, 2026
@bxvtr
bxvtr merged commit 3041796 into main Aug 18, 2026
5 checks passed
@bxvtr
bxvtr deleted the fix/clean-room-convergence-waiting branch August 18, 2026 12:06
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant