Parent: #17171
Separate observation, reconciliation, completion gating, and exit-code decisions from the polling mechanism.
Scope
- Introduce an immutable poll observation/snapshot.
- Produce explicit continue/succeed/fail decisions from current observations and accumulated outcomes.
- Separate AzDO completion/failure policy from Helix current-attempt completion policy.
- Reduce
MonitorState to narrowly scoped invocation bookkeeping and explicit outcome/upload ledgers.
Acceptance criteria
- Poll-loop control flow performs I/O and executes decisions rather than embedding policy.
- Completion and pass/fail rules are covered by pure tests and existing end-to-end scenarios.
- Shared mutable state is materially reduced.
Parent: #17171
Separate observation, reconciliation, completion gating, and exit-code decisions from the polling mechanism.
Scope
MonitorStateto narrowly scoped invocation bookkeeping and explicit outcome/upload ledgers.Acceptance criteria