Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
1.1 KiB
1.1 KiB
Fleet-polish bundle — boot-survival symmetry (#611)
- Issue: #611 · Branch:
feat/fleet-polish-bundle· From the Lead's Codex symmetry-gap finding.
Three fixes
- disable-on-remove (BUG, TDD).
fleet removestopped + deleted roster/env/heartbeat but neversystemctl --user disable mosaic-agent@NAME.service→ a removed-but-enabled unit could resurrect on reboot pointing at deleted config. Fix:buildSystemdDisableCommand+ disable inremove(best-effort, gated on !--keep-files). - add-enable.
fleet addnow enables the new agent's unit for boot-survival (best-effort, independent of --start) — symmetry with disable-on-remove. - init-R5 guarantee.
fleet init --writenow FAILS HARD when a non-minimal profile doesn't yield exactly one orchestrator (was a soft warning).minimal(sanctioned no-orchestrator) still allowed.
Verification
- 4 new tests (disable builder; remove-invokes-disable; add-invokes-enable; init general → exactly 1 orchestrator) + 147 existing fleet tests green (151 total). tsc/eslint/prettier clean.
- TDD on the disable bug per contract.