diff --git a/frontend/src/pages/MissionTestPage.tsx b/frontend/src/pages/MissionTestPage.tsx index 595d087..b8d3368 100644 --- a/frontend/src/pages/MissionTestPage.tsx +++ b/frontend/src/pages/MissionTestPage.tsx @@ -246,6 +246,66 @@ function RedZone({ test, missionId, canWriteRed }: RedZoneProps) { {apiErr && {apiErr.message}} + + {/* The execution timestamp is the anchor the blue team correlates their + logs against, so it lives at the very top of the form (cf. user + feedback 2026-05-15). */} +
+
+ + Executed at + + {test.executed_at ? ( + + {test.executed_at} + {test.executed_at_overridden && ( + ยท overridden + )} + + ) : ( + + Not yet executed โ€” use the "โ†’ Executed" transition above to stamp. + + )} +
+ + {override && ( +
+ setExecutedAtLocal(e.target.value)} + disabled={!canOverride} + className="rounded-md border border-border bg-bg-card px-2 py-1 font-mono text-xs text-text" + data-testid="red-executed-at" + /> + + Browser local time โ€” server stores the UTC equivalent. + +
+ )} +
+ -
- - {override && ( - setExecutedAtLocal(e.target.value)} - disabled={!canOverride} - className="rounded-md border border-border bg-bg-card px-2 py-1 font-mono text-2xs text-text" - data-testid="red-executed-at" - /> - )} - {!override && test.executed_at && ( - - auto-stamped at{' '} - {test.executed_at} - - )} -