**Parent:** #51 ## Requirements - Global idle duration config, default **5 seconds** (FR-1.5). - Idle teardown only when no pending work and no Advanced app hold. - Advanced: `connect(autoReconnect:)` sets hold; `disconnect()` clears hold and intentionally cancels. - Logging for idle and hold connect/disconnect (FR-9.2). - DocC: primary vs Advanced. ## Acceptance criteria - [ ] Idle fires after default 5s quiet (configurable) - [ ] Hold suppresses idle; disconnect clears hold - [ ] Intentional disconnect does not look like unexpected drop for reconnect policy - [ ] Tests + Advanced docs
Parent: #51
Requirements
connect(autoReconnect:)sets hold;disconnect()clears hold and intentionally cancels.Acceptance criteria