תכנית ביצוע — Incident-First (CH4 Remediation)
v0.3 · 27.8.2026, 15:27 · מחליף את v0.1 שאינו מאושר
CH4 REMEDIATION APPROVED — SYSTEM OPERATIONAL (Paper/Shadow)
מיגרציית קנוניזציה v2.0: 8/8 PASS · CH4 קבלה: 29/29 PASS · 0 הפרות זהות · 6/6 Snapshots · 6/6 Profiles. Continuous Agent Scan הופעל מחדש. המערכת פעילה במצבי Paper/Shadow: אוטומטי, חצי-אוטומטי וידני. ביצוע מול Broker אמיתי — חסום.
מודול canonicalization.ts חדש: buildCanonicalIdentityInput, buildCanonicalConfigInput, computeIdentityHash, computeConfigHash. כל פונקציות CH4 משתמשות באותו מימוש hash משותף.
ראיה: canonicalization.ts · IDENTITY_FIELDS / CONFIG_FIELDS / RUNTIME_FIELDS allowlists
Hash קיים אינו מוחלף ללא migration_ref מאושר. כל שינוי מורשה יוצר AuditEvent עם before/after hashes, canonical inputs, actor ו-timestamp.
ראיה: agentIdentity.ts · lockAgentIdentity + updateAgentWithIdentityCheck
Allowlist מפורש: IDENTITY_FIELDS (name, type, region, market), CONFIG_FIELDS (status, schedule_cron, model, entry_point), RUNTIME_FIELDS (last_run, decisions_count). עדכון תפעולי אינו משנה hash.
ראיה: canonicalization.ts · RUNTIME_FIELDS excluded from hash computation
עדכון 17:16 UTC היה last_run + decisions_count בלבד — שדות תפעוליים. stored===computed גם לפני וגם אחרי. אין drift בשדות נעולים.
ראיה: updated_date=2026-08-09T17:16:05Z · fields: last_run, decisions_count
AgentSnapshot נוסף ל-Portfolio Risk Agent (היה חסר). אימות stored===computed לפני לכידה. 12 רשומות (2 לכל סוכן: v1 היסטורי + v2 מיגרציה).
ראיה: 6/6 coverage · 12 snapshots · stored===computed verified
כל 6 הפרופילים עברו וולידציה: required fields, prohibited_actions, priority_class, activation_policy. Financial Reports ב-shadow, Portfolio Risk ב-P0_PROTECTION.
ראיה: 6/6 valid · agentProfile.ts · validateProfile
מיגרציה עם: batch migration_ref תקין, AuditEvent לכל סוכן, before/after canonical inputs, before/after identity+config hashes, היסטוריה נשמרת ( snapshots לא נמחקו).
ראיה: 6 AuditEvents · 12 Snapshots · MIGRATION-CH4-CANON-V2 · runCh4CanonicalizationMigration
list()=get() hash זהה, סדר מאפיינים אינו משנה, null→'' נורמליזציה, עדכון תפעולי אינו משנה hash, שינוי נעול לא-מורשה — נחסם.
ראיה: 8/8 PASS · CANON-1..8 · runCh4CanonicalizationMigration
Identity assertion: 0 violations / 6/6. Profile schema: 6/6. AgentSnapshot: 6/6. Unauthorized locked-field change: BLOCKED. CH4-001 Fail-Safe: פעיל.
ראיה: 29/29 PASS · runCh4AcceptanceTests · CH4-001 through CH4-014
CH4 acceptance: 29/29 PASS
Identity violations: 0 across 6/6 agents
Profile schema validation: 6/6 PASS
AgentSnapshot coverage: 6/6
Unauthorized locked-field changes: BLOCKED
CH4-001 Fail-Safe: active
Workflow remains PAUSED
Group A (already 10/10 — do not re-run)
CIO Shadow
CH3 regression
General CH4 regression (only focused CH4 acceptance package was run)
Group B (Paper tests)
Any scan workflow (Continuous Agent Scan, etc.)
Continuous Agent Scan: ACTIVE ✅ — הופעל מחדש לאחר 29/29 PASS.
מצבי הפעלה: אוטומטי, חצי-אוטומטי וידני — פעילים ב-Paper/Shadow.
Broker אמיתי: חסום — ביצוע Live נשאר מנוטרל.
CH4 remediation הושלם ומאושר — 29/29 + 8/8 PASS, 0 הפרות.
Continuous Agent Scan ACTIVE — המערכת פעילה ב-Paper/Shadow (אוטומטי, חצי-אוטומטי, ידני).
השלבים הבאים: Group B (בדיקות Paper בשוק פתוח) וסגירת CH2→CH1.
Broker אמיתי חסום — ביצוע Live יאושר רק לאחר חיבור Broker ובדיקות Group C.