Parent: #17171
Tighten external contracts while preserving the pipeline-emulating harness as the final regression layer.
Scope
- Separate Azure DevOps timeline observation, durable upload ledger, and result publishing responsibilities.
- Separate Helix observation from cancellation/resubmission responsibilities.
- Avoid leaking generated service models into core reconciliation logic.
- Split the monolithic runner scenario suite by behavior area.
- Keep scripted temporal scenarios, simplify smart fakes, and add adapter-level HTTP/protocol contract tests.
Acceptance criteria
- External adapters have coherent, focused contracts.
- Core domain/planning code has no dependency on generated Helix or AzDO transport models.
- Scenario coverage remains intact and is easier to locate and extend.
- Crash/durability behavior is covered at both planner and protocol-adapter levels.
Parent: #17171
Tighten external contracts while preserving the pipeline-emulating harness as the final regression layer.
Scope
Acceptance criteria