
    4jF                     z   d Z ddlZddlmc mZ ddlZddlZ	ddl
Z
ddlZddlmZ  ee      j                         j                   d   Z ee      e
j&                  vr"e
j&                  j)                  d ee             dedefdZ edd	      Z G d
 dej.                        Zedk(  r ej4                          yy)u  Regression — task-2553+51 TRACK 2 runtime structure SMOKE PILOT.

회장 §7 성공 기준을 코드로 고정한다:

  * 회장이 gate/HOLD/allowed/forbidden 세부 미지정 → ANU default
    low-risk read-only profile 자동 산출 (selected-policy-profile).
  * 실 entrypoint 직접 호출 (mock-only FAIL): registry / owner
    validator / authoritative selector 4 checks 전부 PASS.
  * executor self-collector 0 · normal callback ANU key ·
    authoritative verdict independent ANU · self-chain 영구 비권위.
  * READ-ONLY: +44 영구 ledger byte-0 (append/mark_completed 0).
  * §6 allowlist 외 write 0 — _write REFUSE 보장.
    N)Path   modnamerelpathc                 (   t         j                  j                  | t        |z        }g }d }||u}|}|r|j                  }d }||u}	|	}|slt        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dz  }
dd|
iz  }|j                  |       |rt        j                  d	fdf      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      dz  }d	d
|iz  }|j                  |       t        j                  |d      i z  }dd|iz  }t        t        j                  |            d x}x}x}x}x}x}	}t         j                  j                  |      }|t         j"                  | <   |j                  j%                  |       |S )N)is not)z%(py2)s is not %(py5)sspec)py2py5z%(py7)spy7)z5%(py11)s
{%(py11)s = %(py9)s.loader
} is not %(py14)s)py9py11py14z%(py16)spy16r   zassert %(py19)spy19)	importlibutilspec_from_file_location_ROOTloader
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprappend_format_boolopAssertionError_format_explanationmodule_from_specsysmodulesexec_module)r   r   r	   @py_assert1@py_assert4@py_assert3@py_assert0@py_assert10@py_assert13@py_assert12@py_format6@py_format8@py_format15@py_format17@py_format18@py_format20mods                    K/home/jay/workspace/tests/regression/test_runtime_smoke_pilot_2553plus51.py_loadr4      s.   >>11'57?KD7t74t77474 777774t77777747774777t77777774777777777777777477777777777777
..
)
)$
/CCKKKKC J    
_p51_pilotz)scripts/runtime_smoke_pilot_2553plus51.pyc                   H    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)TestRuntimeSmokePilot2553p51c                     t         j                         | _        | j                  d   D ci c]  }|d   d d | c}| _        y c c}w )Nchecksname   )_pilot	run_pilotresultr:   selfcs     r3   setUpz"TestRuntimeSmokePilot2553p51.setUp)   s?    &&(15X1FGAqy!}a'GGs   Ac                 |    | j                  | j                  d          | j                  | j                  d          y )N	mock_onlyreal_entrypoints_called)assertFalser?   
assertTruerA   s    r3   test_real_entrypoints_not_mockz;TestRuntimeSmokePilot2553p51.test_real_entrypoints_not_mock.   s/    [12$=>?r5   c                     | j                  t        | j                  d         d       | j                  d   D ]   }| j                  |d   d|d    d|        " y )Nr:      passedzcheck FAILED: r;   z :: )assertEquallenr?   rH   r@   s     r3   test_all_four_checks_passz6TestRuntimeSmokePilot2553p51.test_all_four_checks_pass2   s]    T[[23Q7X& 	NAOOAhK>!F)D)LM	Nr5   c                     | j                  | j                  d          | j                  | j                  d   d   d          y )Nledger_mutatedAdetail)rG   r?   r:   rI   s    r3   test_ledger_not_mutatedz4TestRuntimeSmokePilot2553p51.test_ledger_not_mutated8   s<    %567S)(34DEFr5   c                 (   t         dz  }t        j                  |j                               j	                         }t
        j                          t        j                  |j                               j	                         }| j                  ||d       y )Nz)memory/events/callback_4tuple_index.jsonlz!ledger mutated by read-only pilot)r   hashlibsha256
read_bytes	hexdigestr=   r>   rN   )rA   ledgerbeforeafters       r3   test_ledger_byte0_after_pilotz:TestRuntimeSmokePilot2553p51.test_ledger_byte0_after_pilot<   sl    DD 1 1 34>>@v0023==?(KLr5   c                     | j                   d   d   }| j                  |d   d   d       | j                  |d   d          | j                  |d   d   d       | j                  |d   d	          y )
NBrT   anu_key_resultverdictPASSowner_is_independent_anuexecutor_self_key_resultFAILregistration_allowed)r:   rN   rH   rG   )rA   bs     r3   *test_owner_validator_anu_pass_self_blockedzGTestRuntimeSmokePilot2553p51.test_owner_validator_anu_pass_self_blockedD   s    KKX&+,Y7@*+,FGH56yA6J()*@A	
r5   c                     | j                   d   d   }| j                  |d   d       | j                  d|d          | j                  d|d          y )NDrT   mandated_callback_keyc119085addb0f8b7registered_anu_keysa999e2ea4c06d2fb)r:   rN   assertInassertNotIn)rA   ds     r3   -test_mandated_callback_key_is_independent_anuzJTestRuntimeSmokePilot2553p51.test_mandated_callback_key_is_independent_anuM   sX    KKX&235GH(!,A*BC+Q/D-EFr5   c                 `   | j                  | j                  d          | j                  | j                  d   d       | j                  d   d   }| j                  |d   d   d       | j	                  |d   d	          | j                  |d
   d   d       | j                  |d
   d   d       y )Nself_chain_authoritativeauthoritative_selection%DEFERRED_TO_INDEPENDENT_ANU_COLLECTORCrT   self_chain_onlyrb   rf   authoritative_verdictwith_independent_anuclassificationAUTHORITATIVE_PASSindependent_anu_countr<   )rG   r?   rN   r:   assertIsNoner@   s     r3   #test_self_chain_never_authoritativez@TestRuntimeSmokePilot2553p51.test_self_chain_never_authoritativeT   s    %?@AKK123	
 KKX&,-i8&A!-./FGH$%&67 	
 	$%&=>	
r5   c                     | j                  t              5  t        j                  dd       d d d        y # 1 sw Y   y xY w)Nzmemory/events/NOT-ALLOWED.jsonz{})assertRaises
SystemExitr=   _writerI   s    r3   $test_write_refuses_outside_allowlistzATestRuntimeSmokePilot2553p51.test_write_refuses_outside_allowlistf   s8    z* 	BMM:DA	B 	B 	Bs   6?c                     | j                  t        j                  d       | j                  t        j                  d       | j	                  t        j                  t        j                         y )Nro   rm   )rN   r=   EXECUTOR_SELF_KEYANU_CALLBACK_KEYassertNotEqualrI   s    r3   ,test_executor_self_key_is_not_callback_ownerzITestRuntimeSmokePilot2553p51.test_executor_self_key_is_not_callback_ownerj   sO    113EF002DE$$f&=&=	
r5   N)__name__
__module____qualname__rC   rJ   rP   rU   r^   ri   rs   r   r   r    r5   r3   r8   r8   (   s;    H
@NGM
G
$B
r5   r8   __main__)__doc__builtinsr   _pytest.assertion.rewrite	assertionrewriter   rW   importlib.utilr   r"   unittestpathlibr   __file__resolveparentsr   strpathinsertr4   r=   TestCaser8   r   mainr   r5   r3   <module>r      s       
  X ((+u:SXXHHOOAs5z"3   
=

H
8#4#4 H
V zHMMO r5   