§
    d.¯jz$  ã                  ód  — U d Z ddlmZ ddlZddlmZmZ ddlmZ ddlm	Z	  G d„ de
ej        ¦  «        Ze G d	„ d
¦  «        ¦   «         Ze G d„ d¦  «        ¦   «         Ze G d„ d¦  «        ¦   «         Z eddddd¬¦  «         eddddd¬¦  «         eddddd¬¦  «         eddd d!d¬¦  «         ed"d#d$d%d¬¦  «         ed&d'd(d)d¬¦  «         ed*d+d,d-d¬¦  «         ed.d/d0d1d¬¦  «         ed2d3d4d5d¬¦  «         ed6d7d8d9d¬¦  «         ed:d;d<d=d>¬¦  «         ed?d@dAdBdC¬¦  «         edDdEdFdGdC¬¦  «         edHdIdJdKd¬¦  «         edLdMdNdOd¬¦  «         edPdQdRdSd¬¦  «         edTdUdVdWdC¬¦  «         edXdYdZd[d¬¦  «         ed\d]d^d_d`¬¦  «         edadbdcdddCde¬f¦  «        gZdgedh<   eZdgedi<   dS )juG  AutoPOE2 - Master Invariants Specifications & SSoT Matrix (2026).
==================================================================
Domain: SÆ° Ä‘oÃ n 4: lead_qa_governance (Quáº£n trá»‹ cháº¥t lÆ°á»£ng & Báº¥t biáº¿n).
Ä�áº·c táº£ Ä‘á»‹nh lÆ°á»£ng Single Source of Truth cho 19 Báº¥t biáº¿n Kiáº¿n trÃºc (AGENTS.md Má»¥c 8).
é    )ÚannotationsN)Ú	dataclassÚfield)Údatetime)ÚListc                  ó   — e Zd ZdZdZdZdZdS )ÚInvariantStatusuD   Tráº¡ng thÃ¡i kiá»ƒm Ä‘á»‹nh cá»§a tá»«ng báº¥t biáº¿n kiáº¿n trÃºc.ÚPASSEDÚWARNINGÚBLOCKEDN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   r   r   © ó    úBC:\Projects\AutoPOE2\src\agentic_engine\master_invariants_specs.pyr	   r	      s#   € € € € € ØNÐNØ€FØ€GØ€G€G€Gr   r	   c                  óT   — e Zd ZU dZded<   ded<   ded<   ded<   ded<   d	Zd
ed<   dS )ÚInvariantSpecu?   Ä�áº·c táº£ Ä‘á»‹nh lÆ°á»£ng cá»§a 1 Báº¥t biáº¿n Kiáº¿n trÃºc.ÚstrÚcodeÚnameÚmonitored_moduleÚrule_summaryÚfloatÚweightTÚboolÚis_criticalN)r   r   r   r   Ú__annotations__r   r   r   r   r   r      s\   € € € € € € àIÐIØ€I€I�IØ€I€I�IØÐÐÑØÐÐÑØ€M€M�MØ€KÐÐÐÑÐÐr   r   c                  ó~   — e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded	<   d
ed<    ed„ ¬¦  «        Zded<   dS )ÚInvariantAuditResultuA   Káº¿t quáº£ kiá»ƒm Ä‘á»‹nh Ä‘á»‹nh lÆ°á»£ng cá»§a 1 Báº¥t biáº¿n.r   r   r   r	   Ústatusr   ÚevidenceÚmetric_valuer   Úduration_msc                 óL   — t          j        ¦   «                              ¦   «         S ©N©r   ÚnowÚ	isoformatr   r   r   ú<lambda>zInvariantAuditResult.<lambda>+   ó   € µ8´<±>´>×3KÒ3KÑ3MÔ3M€ r   ©Údefault_factoryÚ	timestampN)r   r   r   r   r   r   r/   r   r   r   r!   r!   !   s…   € € € € € € àKÐKØ€I€I�IØ€I€I�IØÐÐÑØÐÐÑØ€M€M�MØÐÐÑØÐÐÑØ�UÐ+MÐ+MÐNÑNÔN€IÐNÐNÐNÑNÐNÐNr   r!   c                  ó®   — e Zd ZU dZded<   ded<   ded<   ded<   ded<   d	ed
<   d	ed<    ee¬¦  «        Zded<    ed„ ¬¦  «        Zded<   dZ	ded<   dS )ÚMasterInvariantsAuditReportuC   BÃ¡o cÃ¡o kiá»ƒm Ä‘á»‹nh toÃ n diá»‡n 19 Báº¥t biáº¿n Kiáº¿n trÃºc.r   Úis_cleared_for_autonomousÚintÚtotal_invariantsÚpassed_countÚwarning_countÚblocked_countr   Úautonomy_readiness_scoreÚtotal_duration_msr-   zList[InvariantAuditResult]Úresultsc                 óL   — t          j        ¦   «                              ¦   «         S r'   r(   r   r   r   r+   z$MasterInvariantsAuditReport.<lambda>9   r,   r   r   r/   Ú ÚsummaryN)
r   r   r   r   r   r   Úlistr:   r/   r=   r   r   r   r1   r1   .   s½   € € € € € € àMÐMØ#Ð#Ð#Ñ#ØÐÐÑØÐÐÑØÐÐÑØÐÐÑØ#Ð#Ð#Ñ#ØÐÐÑØ*/¨%ÀÐ*EÑ*EÔ*E€GÐEÐEÐEÑEØ�UÐ+MÐ+MÐNÑNÔN€IÐNÐNÐNÑNØ€GÐÐÐÑÐÐr   r1   zINV-INPUT-ABS-MOUSEz#Absolute Mouse UI & Target Movementz7MapDeviceHandler, NpcInteractionHandler, LootControlleruv   Má»�i click UI/target dÃ¹ng tá»�a Ä‘á»™ tuyá»‡t Ä‘á»‘i (MoveMouseSmooth). MoveMouse(rx,ry) chá»‰ nháº­n delta BÃ©zier.g      @)r   r   r   r   r   zINV-WASD-NO-BLIND-LMBz"WASD Proximity Before Entity Clickz'OpenDevice, EnterPortal, LootControlleru•   Cháº¿ Ä‘á»™ WASD: LMB lÃ  skill khi click Ä‘áº¥t. Cáº¥m click mÃ¹ xuá»‘ng Ä‘áº¥t/chÃ¢n nhÃ¢n váº­t. Ã�p sÃ¡t <= 18u rá»“i Click LMB cÃ³ chá»§ Ä‘Ã­ch.g      @zINV-KEY-NO-F-FOR-INTERACTzF Key Reserved For Skill 8zDQuestNavigator, NpcInteractionHandler, MapDeviceHandler, coordinatoru•   TUYá»†T Ä�á»�I Cáº¤M gá»­i phÃ­m F Ä‘á»ƒ tÆ°Æ¡ng tÃ¡c. PhÃ­m F lÃ  Skill 8 cá»§a ngÆ°á»�i chÆ¡i; tÆ°Æ¡ng tÃ¡c 100% báº±ng Click LMB cÃ³ chá»§ Ä‘Ã­ch.zINV-KEY-NO-U-FOR-MAP-DEVICEzNo U Key At Hideout Map Devicez2autonomous_mapping_coordinator.py, TownQuestEngineuš   Cáº¥m phÃ­m U táº¡i Hideout Map Device. PhÃ­m U chá»‰ má»Ÿ World Map xem-only cá»§a campaign; má»Ÿ Map Device pháº£i tÆ°Æ¡ng tÃ¡c váº­t lÃ½ trá»±c tiáº¿p.zINV-WASD-MIN-DWELLzWASD Key Minimum Dwell Timez8QuestNavigator::SendDirection, MapDeviceHandler approachuU   Dwell di chuyá»ƒn WASD >= 300ms (ngáº¯n) / >= 1000ms (dÃ i). Cáº¥m micro-tap < 150ms.zINV-F8-MUTES-BRAINz#F8 Movement Safety Lock Mutes Brainzmain.cpp, BotBrainuj   allowPhysicalMove == false (F8 PAUSE) -> táº¯t botBrain.Process, tá»± Ä‘á»™ng nháº£ toÃ n bá»™ phÃ­m WASD.zINV-MAPDEVICE-VERIFY-UIz%Map Device UI OCR & Tray Verificationz3MapDeviceHandler, autonomous_mapping_coordinator.pyuu   Cáº¥m advance FSM náº¿u chÆ°a cÃ³ tÃ­n hiá»‡u UI má»Ÿ (OCR TRAVERSE / khay Waystone). Timeout -> Failed + backoff 3s.zINV-MAPDEVICE-RETRY-POLLz Map Device Portal Polling 8000msÚMapDeviceHandleruU   WaitForPortals retry polling trong 8000ms, cáº¥m fail-closed vá»™i sau 1 tick 2500ms.zINV-BRAIN-CONFLICT-GATEKEEPERz%Brain Conflict Gatekeeper (Opcode 96)zmain.cpp, town_quest_engine.cppuz   C++ Core vÃ  TownQuestEngine tá»« chá»‘i Opcode 96 (TRIGGER_WORLD_MAP_TRAVEL) khi á»Ÿ Hideout hoáº·c khi MapDevice active.zINV-TERRAIN-ORIGINz)Authentic Terrain Origin & JPS Calibratorz,TerrainReader, TerrainGrid, MapDeviceHandleru]   worldOrigin calibrate tá»« struct Ä‘á»‹a hÃ¬nh tháº­t. Cáº¥m slide JPS vá»›i grid == nullptr.zINV-FSM-SINGLE-OWNERzSingle FSM Lifecycle Ownerz CharacterFSM, core_shm_bridge.pyul   Má»™t chá»§ vÃ²ng Ä‘á»�i duy nháº¥t: C++ CharacterFSM ghi SHM. Python khÃ´ng click song song khi C++ active.g      @z	INV-CI-01z"Chaos Inoculation ES Reflex GatingÚReflexManageru[   NhÃ¢n váº­t CI (HP 1/1): KhÃ´ng dÃ¹ng Life Flask; trigger dodge/chicken theo Energy Shield.g      @zINV-MEM-DYNAMIC-XYZzDynamic XYZ 16MB ScannerÚPlayerFinderue   Tá»�a Ä‘á»™ XYZ Ä‘á»�c tá»« con trá»� Ä‘á»™ng PlayerFinder 16MB, tá»« chá»‘i neo tÄ©nh 0x290 / 0x540.zINV-KEY-PORTALzTown Portal Uses Period Key '.'zQuestNavigator, UnstuckHandleruW   Má»Ÿ Town Portal dÃ¹ng phÃ­m '.' (VK_OEM_PERIOD 0xBE), khÃ´ng dÃ¹ng phÃ­m T hay Warcry.zINV-KEY-E-PULSEz(Pulse E With Forward Disabled By DefaultÚQuestNavConfiguY   Cá»� pulseEWithForward máº·c Ä‘á»‹nh false, cáº¥m nháº¥p phÃ­m E tá»± do khi di chuyá»ƒn.zINV-OCR-MOCK-NO-CALLz(Headless Mock Harness Zero Real OCR Leakzvision_ocr.py, ScreenCaptureruž   Headless Mock Harness cáº¥m gá»�i OCR tháº­t / ScreenCapture desktop gÃ¢y blocking hoáº·c rÃ² rá»‰ cá»­a sá»•. Sá»­ dá»¥ng synthetic perception an toÃ n 100%.z#INV-FOCUS-INTERLOCK-HARDWARE-SAFETYz#Two-Factor Hardware Focus Interlockz+KMBoxNet, NonBlockingActuator, win32_windowu˜   Chá»‰ cháº·n KeyDown/MouseDown khi máº¥t focus. Cáº¤M cháº·n KeyUp/MouseUp. Tá»± Ä‘á»™ng ReleaseAllKeys() khi unfocused. Two-factor class & image check.zINV-ATLAS-FARM-NODEzSpecial Arena Blacklist GatingzHvision_ocr.py, autonomous_mapping_coordinator.py, atlas_node_selector.pyu—   Tuyá»‡t Ä‘á»‘i Cáº¤M chá»�n The Well of Souls, Precursor Tower, The Burning Monolith, hoáº·c Pinnacle Arenas cho chu trÃ¬nh cÃ y Waystone tá»± Ä‘á»™ng.zINV-WAYSTONE-ROW1-ONLYz#Waystone Bag Row 1 Slot ReservationzGoptical_inventory_scanner.py, MapDeviceHandler, autonomous_lifecycle.pyu”   Chá»‰ láº¥y Waystone tá»« HÃ ng 1 (Row 1) cá»§a tÃºi Ä‘á»“/Stash Ä‘á»ƒ cháº¡y map nháº±m chá»‘ng nháº·t nháº§m Currency quÃ½ hoáº·c Gear trang bá»‹.g      @zINV-MOTION-INTEGRITYz<Closed-Loop Physical Motion Verification & Hardware FallbackzNsend_wasd_direction, AutonomousMappingCoordinator, UnstuckHandler, win32_inputuñ   Báº¯t buá»™c xÃ¡c nháº­n Delta XYZ > 0 (RAM) HOáº¶C Delta Optical > 15px (Vision) sau má»—i nhá»‹p di chuyá»ƒn WASD >= 300ms. Náº¿u Delta = 0, phÃ¡t hiá»‡n nhÃ¢n váº­t tÃª liá»‡t: láº­p tá»©c raise Anomaly vÃ  kÃ­ch hoáº¡t Hardware Fallback.T)r   r   r   r   r   r   zList[InvariantSpec]ÚMASTER_20_INVARIANTS_SPECSÚMASTER_19_INVARIANTS_SPECS)r   Ú
__future__r   ÚenumÚdataclassesr   r   r   Útypingr   r   ÚEnumr	   r   r!   r1   rC   r   rD   r   r   r   ú<module>rJ      s‹  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð �c˜4œ9ñ ô ð ð ðð ð ð ð ñ ô ñ „ðð ð	Oð 	Oð 	Oð 	Oð 	Oñ 	Oô 	Oñ „ð	Oð ðð ð ð ð ñ ô ñ „ðð$ €MØ"Ø2ØRð NØðñ ô ð €MØ$Ø1ØBð mØðñ ô ð €MØ(Ø)Ø_ð mØðñ ô ð €MØ*Ø-ØMð rØðñ ô ð €MØ!Ø*ØSØlØðñ ô ð €MØ!Ø2Ø-ð BØðñ ô ð €MØ&Ø4ØNð MØðñ ô ð €MØ'Ø/Ø+ØlØðñ ô ð €MØ,Ø4Ø:ð RØðñ ô ð €MØ!Ø8ØGØtØðñ ô ð €MØ#Ø)Ø;ð DØðñ ô ð €MØØ1Ø(ØrØðñ ô ð €MØ"Ø'Ø'Ø|Øðñ ô ð €MØØ.Ø9ØnØðñ ô ð €MØØ7Ø)ØpØðñ ô ð €MØ#Ø7Ø8ð vØðñ ô ð €MØ2Ø2ØFð pØðñ ô ð €MØ"Ø-Øcð oØðñ ô ð €MØ%Ø2Øbð lØðñ ô ð €MØ#ØKØið IØØðñ ô ðMN3Ð ð Nð Nð Nñ Nðb 3MÐ Ð LÐ LÐ LÑ LÐ LÐ Lr   