imaging: renumber stages to be time-monotonic (1=WinPE, 7=Intune ID)
Previously the stage indices reflected logical milestones but not the order they fire in. Run-ShopfloorSetup posted idx=1 (start) and idx=4 (PPKG) - but 09-Setup-Keyence (inside per-type loop) ran BETWEEN them and posted idx=5/6. The dashboard then "regressed" from 6 back to 4 when PPKG fired, making it look stuck at the per-type-complete card. New numbering matches actual execution order: 1 - WinPE: PESetup / WIM apply (startnet.cmd) 2 - Run-ShopfloorSetup: starting (Run-ShopfloorSetup.ps1) 3 - 09-Setup-<Type>: starting (per-type) 4 - 09-Setup-<Type>: complete (per-type) 5 - Run-ShopfloorSetup: PPKG enrollment (Run-ShopfloorSetup.ps1) 6 - Run-ShopfloorSetup: handoff to Monitor (Run-ShopfloorSetup.ps1) 7 - Monitor-IntuneProgress: Intune Device ID captured services/imaging_status.py rewind threshold reverts to stage_index <= 1 now that WinPE startnet posts idx=1. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -85,9 +85,9 @@ def update_session(payload: dict) -> dict:
|
||||
new_idx = int(payload.get("stage_index") or 0)
|
||||
except (TypeError, ValueError):
|
||||
old_idx, new_idx = 0, 0
|
||||
rewind = new_idx > 0 and new_idx < old_idx and new_idx <= 2
|
||||
rewind = new_idx > 0 and new_idx < old_idx and new_idx <= 1
|
||||
prev_done = state.get("status") in ("succeeded", "failed")
|
||||
if rewind or (prev_done and new_idx > 0 and new_idx <= 2):
|
||||
if rewind or (prev_done and new_idx > 0 and new_idx <= 1):
|
||||
state = {"serial": serial, "previous_run_at": state.get("last_updated"), "log_tail": []}
|
||||
|
||||
if not state:
|
||||
|
||||
Reference in New Issue
Block a user