From b63f9d11a1ddfaa4cfea4590b510bb4fa71c87b5 Mon Sep 17 00:00:00 2001 From: type-two Date: Wed, 29 Jul 2026 12:54:15 +1000 Subject: [PATCH] [orchestrator] v9.3: notice.pos? and repaired/mirrored by? (RENDER's last derived cues) Co-Authored-By: Claude Fable 5 --- fktry/src/contracts.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fktry/src/contracts.ts b/fktry/src/contracts.ts index 3602c0e..0fb015f 100644 --- a/fktry/src/contracts.ts +++ b/fktry/src/contracts.ts @@ -233,12 +233,13 @@ export type SimEvent = | { kind: 'wildlife'; on: 'spawned' | 'cleared'; wildlife: 'dust-pile' | 'mosquito-swarm' | 'parity-mite'; id: number; pos: Vec2; tick: number } // v5: hazard lifecycle | { kind: 'relicFound'; relic: 'optical-fossil'; id: number; tick: number } // v6 - | { kind: 'repaired'; item: string; pos: Vec2; tick: number } // v8: a mite corrected your work + | { kind: 'repaired'; item: string; pos: Vec2; by?: number; tick: number } // v8 (+v9.3 by: unit id) // v9 — THE CORRECTION, rungs 2-4. 'notice' always precedes action (fax first, never // silent); auditor stasis ALWAYS auto-releases (safety is contractual, not tunable). - | { kind: 'notice'; unit: 'checksum-warden' | 'redundancy-gunship' | 'hash-auditor'; tick: number } + | { kind: 'notice'; unit: 'checksum-warden' | 'redundancy-gunship' | 'hash-auditor'; + pos?: Vec2; tick: number } // v9.3: where the unit will materialise (retires RENDER's DOM bridge) | { kind: 'sealed'; entity: number; on: boolean; tick: number } - | { kind: 'mirrored'; item: string; pos: Vec2; tick: number } // subtracts from the sky ledger + | { kind: 'mirrored'; item: string; pos: Vec2; by?: number; tick: number } // subtracts from the sky ledger | { kind: 'stasis'; rect: { x: number; y: number; w: number; h: number }; on: boolean; lockHash: string; tick: number } | { kind: 'debtBand'; band: 0 | 1 | 2 | 3 | 4; tick: number };