Files
AutopilotMonitor/src
Oliver Kieselbach 9a107a1929 fix(decision-core): stop failing live enrollments via the esp-exit advisory window (session 1924092e)
The 1ec8f4c6 dead-end window (guard-blocked post-AccountSetup esp_exiting arms a
30-min advisory_completion resolution deadline) misfired on the Device->Account
handoff exit whenever the IME logged an AccountSetup phase line pre-sign-in
(defaultuser0/AutoLogon frame). The recovered deadline then failed sessions
mid-AccountSetup while apps were actively installing:
enrollment_failed: esp_exit_without_completion_evidence on a live enrollment.
41 of the 65 affected sessions since 2026-06-15 show reboots or app activity
after the arming exit - false positives.

Two guards, esp-exit variant only (the advisory variant keeps its real-failure
un-defang semantics):

- Reboot cancel: SystemRebootObserved / EspResumed cancel the armed window -
  an arming exit that predates a reboot was a pre-reboot page close, not the
  "page closed, nothing happens" dead-end. A later genuine guard-blocked exit
  re-arms a fresh window.
- Enforcement-progress re-arm: arming baselines (armSignalOrdinal,
  armAppTerminalCount) ride on the deadline's FiresPayload (replay-deterministic,
  snapshot-round-trips, no DecisionState schema change). At fire time, apps
  reaching terminal states or an ESP user-phase re-assert since arming re-arms
  the window instead of failing. Convergent: each re-arm demands new progress;
  legacy deadlines without baselines resolve with pre-fix semantics.

11 new tests incl. a full session-1924092e replay (handoff exit -> reboot ->
active installs -> stray recovered-timer fire dead-ends -> Completed) and pins
for the true dead-end verdict, the advisory variant, and baseline serialization.
DecisionCore 435/435, Agent.V2.Core 1725/1725.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 15:40:16 +02:00
..