[orchestrator] v9.1: pin CorrectionUnit.phase as a union (SCREEN's mid-round request)

SCREEN string-matches the phase vocabulary for the warden-arrival compliance tone
and the stasis save-load fallback; with phase as a documented-by-example free
string, SIM landing 'auditing' instead of 'audit' would silently kill the tone
with no red test. Pinned to the six documented phases; additions go through NOTES.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
type-two 2026-07-29 12:40:16 +10:00
parent 5500949d83
commit 074ba17ab4

View File

@ -166,8 +166,9 @@ export interface CorrectionUnit {
id: number; id: number;
kind: 'checksum-warden' | 'redundancy-gunship' | 'hash-auditor'; kind: 'checksum-warden' | 'redundancy-gunship' | 'hash-auditor';
pos: Vec2; pos: Vec2;
/** sim-defined phase, e.g. 'approach' | 'audit' | 'tether' | 'prescan' | 'stasis' | 'leaving' */ /** v9.1 PINNED (SCREEN string-matches this; a free string was a silent-miss trap):
phase: string; * the full lifecycle vocabulary. SIM: request additions via NOTES, never invent. */
phase: 'approach' | 'audit' | 'tether' | 'prescan' | 'stasis' | 'leaving';
progress: number; // 0..1 of current phase progress: number; // 0..1 of current phase
target?: number; // warden: audited entity; gunship: the PARITY ANCHOR target?: number; // warden: audited entity; gunship: the PARITY ANCHOR
rect?: { x: number; y: number; w: number; h: number }; // gunship sector / auditor stasis rect?: { x: number; y: number; w: number; h: number }; // gunship sector / auditor stasis