
    4jh                       d Z ddlm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ZddlmZ ddlZddlZ ee      j'                         j(                  j(                  j(                  Z ee      ej.                  v r!ej.                  j1                   ee             ej.                  j3                  d ee             ddlmZmZmZmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z)m*Z*m+Z+ ed	z  d
z  Z, ejZ                  edz  dz  j]                  d            Z/ ejZ                  edz  dz  j]                  d            Z0dZ1ddddddddddd
Z2dIdZ3dJdZ4 ejj                  d      d         Z6d! Z7 ejj                  d      d"        Z8 ejj                  d      d#        Z9dKd$Z:dLd%Z;e*jx                  d&dMd(Z=dd)d*dd+d,d-d.Z>d/ Z?d0 Z@ej                  j                  d1d2d3id4fd5d6id7fd'd8id9fg      d:        ZCej                  j                  d;d'd<id5d=id2d3id>dig      d?        ZDd@ ZEdA ZFdB ZGdC ZHdD ZIdE ZJdF ZKeLdGk(  r eM ej                  edHg            y)Nu  tests/regression/test_cancel_on_success_live_e2e_2553plus48.py

task-2553+48 — cancel-on-success live remove END-TO-END regression (§7 1~10).

9-R.1 / 회장 §5: 전 케이스 전용 격리 FakeCronWorld(in-memory) + WorldSpyRemover
주입. 실 cron-list·실 cron-remove·실 schedule_history·실 durable
ledger(canonical) 무접촉. "cron-remove called" = 주입 WorldSpyRemover 호출
spy assert (실 운영 cron 강제삭제 0 — 회장 §5 준수, Layer A). 실 subprocess
즉시 FAIL 차단. durable 4-tuple ledger 는 tmp JSONL 격리. live
/home/jay/workspace git tracked HEAD/branch/ref 전후 assertEqual (§4).
bound·verified single cancel 1건만 (Layer B).

§7 매핑:
  1  properly-bound 4-tuple(live==ledger·role=fallback)+5조건 AND PASS →
     cron-remove 실제 호출·cancel-audit 생성
  2  normal success 후 fallback 발화 0 end-to-end 재현
  3  ROLE/TRACK/CHAT mismatch → 보존(무회귀)
  4  5조건 1개 fail → 보존
  5  cron-remove 실패 → normal success decouple 유지
  6  DUPLICATE_CALLBACK_IGNORED safety 무회귀
  7  실 운영 cron 무접촉(Fake/Spy 격리)
  8  +37/+25/+23/+44/+45/+46/+47 byte-0·regression 무회귀
  9  +32 callback mandatory 무회귀
  10 raw token/credential exposure 0
    )annotationsN)Path)	E2E_DECOUPLEDE2E_PASSE2E_PRESERVEDFakeCronWorldProperlyBound4TupleWorldSpyRemoverbuild_properly_bound_4tuplerun_cancel_on_success_live_e2everify_4tuple_binding_integrity)LOOKUP_VERIFIED)Callback4TupleRegistry)CallbackInputCallbackTypeClassificationmemoryfixturesschemasz'cancel_on_success_e2e_audit.schema.jsonutf-8encodingz#cancel_on_success_audit.schema.jsonc119085addb0f8b7@ea33514d2289f0097a5344d2d5bbc0735b6385c3bbfe03aa5c6d9f24f970bf0a@774d550628410d36962c23a7663c4b6dbf72789de7c7fd940871e9ad8280e5ab@352ad0f570e55040e7c1e4a32cbfe0f076cbd53529b4db6222a8da1a4bee9cc5@0c5e10e616fe8919492f6c774045e8ff12f3ebfd203ecd25f35ad9ebd58c14d9@0f1900f46f60fe504ec89b5c84967506e15250d71d6f413b31d805c783a613fb@41af1b601f42f337301ca7a45c185349385dc625ca02df43810541baa9953db9@0636b99cf5d7e69d880c426bd03c0ff77e97987d1780912c05cc23899b832c6f@6bba56bd0dfc97e9155244251e00cdf3dcef2981a75dc5e2b966aa0b746d8d13@83b3e307c8207c76a3e311c408aab4951373bd317896e51687d3007907b0c3d4@364caa11904285657abd716d78c5493b1f8b519318387d0f864fb6a136dca0b4)
z'anu_v3/cancel_on_success_live_wiring.pyz"anu_v3/callback_4tuple_registry.pyz anu_v3/callback_event_trigger.pyzanu_v3/cancel_audit_writer.pyz anu_v3/artifact_root_resolver.pyz8utils/normal_completion_callback_collector_entrypoint.pyz%utils/operational_collector_wiring.pyz!utils/live_cron_state_verifier.pyz+utils/anu_delegation_completion_callback.pyz(dispatch/executor_completion_contract.pyc                `    t        j                  t        |  dz  j                  d            S )N.jsonr   r   )jsonloadsFIXDIR	read_text)names    R/home/jay/workspace/tests/regression/test_cancel_on_success_live_e2e_2553plus48.py_fxr,   s   s*    ::v4&.9979KLL    c                r    t        j                  t        | z  j                               j	                         S N)hashlibsha256	WORKSPACE
read_bytes	hexdigest)rels    r+   _shar6   w   s*    >>	S$$&ikr-   T)autousec                8    d }| j                  t        d|       y )Nc                     t        d      )Nu   실 subprocess 호출 금지 (회장 §5 / 9-R.1 Layer A) — 전용 격리 FakeCronWorld/WorldSpyRemover 만, 실 운영 cron 무접촉)AssertionError)aks     r+   _boomz%_block_real_subprocess.<locals>._boom   s    K
 	
r-   run)setattr
subprocess)monkeypatchr=   s     r+   _block_real_subprocessrB   }   s    
 
E51r-   c                 R   t         dz  } | dz  j                  d      j                         }|j                  d      r|j	                  dd      d   n|}|j                  d      r| |z  nd }|r3|j                         r#| |z  j                  d      j                         n|}|||fS )Nz.gitHEADr   r   zref:zref:    )r2   r)   strip
startswithsplitexists)git_dirhead_txtbranchref_pathshas        r+   _git_refrO      s    & G& ++W+=CCEH v& 	w"1% 
 $,#6#6v#>wDH ) 
6	$$g$6<<> 
 fc""r-   c               #  B  K   t               } d  t               }|| k(  }|st        j                  d|fd|| f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      dt        j                         v st        j
                  |       rt        j                  |       nddz  }t        j                  d      dz   d|iz  }t        t        j                  |            d x}}y w)	N==)z)%(py2)s
{%(py2)s = %(py0)s()
} == %(py4)srO   beforepy0py2py4u.   git HEAD/branch/ref 변경 감지 (§4 위반)z
>assert %(py6)spy6)
rO   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_saferepr_format_assertmsgr:   _format_explanation)rS   @py_assert1@py_assert3@py_format5@py_format7s        r+   _git_ref_invariantre      s     ZF	:Q:QQQ:QQQQQQ8QQQ8QQQ:QQQQQQQQQQQQQ!QQQQQQQs   DDc               #    K   t         D  ci c]  } | t        |        }} d t         j                         D ]  \  } }||    }||k(  }|st        j                  d|fd||f      t        j
                  |      dt        j                         v st        j                  |      rt        j
                  |      nddz  }t        j                  |  d      dz   d|iz  }t        t        j                  |            dx}}t        |       }||k(  }|s<t        j                  d|fd	||f      d
t        j                         v st        j                  t              rt        j
                  t              nd
dt        j                         v st        j                  |       rt        j
                  |       ndt        j
                  |      dt        j                         v st        j                  |      rt        j
                  |      nddz  }t        j                  |  d      dz   d|iz  }t        t        j                  |            dx}} yc c} w w)uF   모든 케이스 실행 전후 frozen 모듈 byte-0 (§7.8 무회귀).NrQ   )z%(py1)s == %(py3)spinnedpy1py3z baseline drift (pre)z
>assert %(py5)spy5z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py5)sr6   r5   rU   ri   rj   rk   u    byte-0 위반 (post, §7.8)
>assert %(py7)spy7)FROZEN_SHA256r6   itemsrY   rZ   r^   r[   r\   r]   r_   r:   r`   )	r5   rS   rg   @py_assert0@py_assert2@py_format4@py_format6@py_assert4@py_format8s	            r+   _frozen_byte0_invariantrx      sj     )66c49n6F6	$**, IVc{C{f$CCC{fCCC{CCCCCCfCCCfCCCC-B&CCCCCCCCyHyF"HHHyFHHHHHHtHHHtHHHHHHCHHHCHHHyHHHHHHFHHHFHHHHse+G$HHHHHHHHI 7s   	IIH?Ic                @   |j                  dd       i }|| d    dz  }|j                  t        j                  | d         d       ||d<   || d    d	z  }|j                  t        j                  | d
         d       ||d<   || d    dz  }|j                  | j	                  dd      d       ||d<   || d    dz  }|j                  t        j                  | d         d       ||d<   || d    dz  |d<   || d    dz  |d<   || d    dz  |d<   |S )NT)parentsexist_oktask_idz.dispatch-fired.jsondispatch_fired_markerr   r   dispatch_fired_marker_pathz.result.jsonresult_jsonresult_json_pathz
.report.mdreport_text report_pathz.collector-result.jsoncollector_result_markercollector_result_marker_pathz.fallback-cancelled.jsonfallback_cancelled_marker_pathz.cancel.lockcancel_lock_pathz.plus23-cancel-audit.jsonseam_audit_path)mkdir
write_textr&   dumpsget)fxtmppdfmrjrepcrms          r+   _materializer      sl   IIdTI*A
2i=/!56
6CNN4::b!89:WNM&)A"#	"Y--	-BMM$**R./'MBA
2i=/,
,CNN266-,wN?Am
2i=/!78
8CNN4::b!:;<wNO(+A$%I788 &'  R	]O<"@@AByM?2K!LLAHr-   c                b    | d   }t        |d   |d   |d   |d   |d   |d   |d   |d	   
      S )Nproperly_bound_4tupler|   dispatch_iddispatch_cron_idexecutorchat_idnormal_collector_cron_idfallback_callback_cron_idroler|   r   r   r   r   r   r   r   )r	   )r   ts     r+   _tupr      sY    
"#A)m$-.:)!"#=!>"#$?"@vY	 	r-   callback_typer|   c               6    t        | dd|dddddddd	id

      S )Ndev-simDISP4800NORM4800ok	completedT)r   reportfrozen_anchormatch)
r|   r   r   r   callback_cron_idcron_statustask_statusrequired_closeout_markerspreservation_anchors
dev_sunset)r   )r|   r   s     r+   _inpr      s7    ###26$"G-w7 r-   removedFl   L5: fallback)inpremover_statusskip_bindingworld_entriesexpected_chat_idexpected_rolec               ~   t        | |      }t        ||n| d         }	t        |	|      }
t        |xs t	        | d         |dz  t        |       fi d|d   d|d   d|d   d|d   d	|d
z  d|dz  dz  d| d   d|	d|
d|dz  d|d   d|d   d|d   d| j                  d      d|d|d|}||
|	fS )Nlive_cron_entries)statusr|   ack.jsonr~   r   r   r   	claim_dirclaimsledger_pathledgercallback_4tuple_index.jsonldispatch_markerr}   worldremovere2e_audit_pathze2e-audit.jsonr   r   r   callback_contractr   r   skip_binding_construction)r   r   r
   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   spyress               r+   _run_e2er      sg    	RA&2;N8OE %
7C
("tByM"jR $%%A#B	
 -. m$ &''E%F . (N%BB 23   -- ())I'J -.  +,!" &&!45#$ *%& $'( #/)C, U?r-   c           	     #   t        d      }|d   }t        ||       \  }}}|j                  }|j                  }d}||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j                  }|d
   }||k(  }	|	st	        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  }t        t	        j                  |            d x}x}	}|j                  }d}||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j                  }|j                  }|d   }||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j                   }|d   }||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j"                  }|d   }||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j$                  }|d   }||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j&                  }d}||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j(                  }|j*                  }	|	j,                  }|t.        k(  }|st	        j
                  d|fd|t.        f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |	      t	        j                  |      dt        j                         v st	        j                  t.              rt	        j                  t.              nddz  }dd|iz  }t        t	        j                  |            d x}x}	x}}|j0                  }|d   }||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j2                  }|d    }||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j4                  }|d"   }||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j6                  }|d$   }||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j8                  }|d&   }||u }	|	st	        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  }t        t	        j                  |            d x}x}	}|j(                  j:                  j<                  j>                  }|j@                  }|d(   }||k(  }	|	st	        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  }t        t	        j                  |            d x}x}	}|jB                  d+   }|d,   }d}	||	u }|slt	        j
                  d|fd-||	f      t	        j                  |      t	        j                  |	      d.z  }d/d0|iz  }t        t	        j                  |            d x}x}}	|jD                  }d1d2d3g}||k(  }	|	st	        j
                  d|	fd4||f      d5t        j                         v st	        j                  |      rt	        j                  |      nd5t	        j                  |      t	        j                  |      dz  }
dd	|
iz  }t        t	        j                  |            d x}x}	}|jF                  }d6}||k(  }	|	st	        j
                  d|	fd7||f      d8t        j                         v st	        j                  |      rt	        j                  |      nd8t	        j                  |      t	        j                  |      dz  }
dd	|
iz  }t        t	        j                  |            d x}x}	}|jH                  }|tJ        k(  }	|	st	        j
                  d|	fd9|tJ        f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      d:t        j                         v st	        j                  tJ              rt	        j                  tJ              nd:d;z  }d/d0|iz  }t        t	        j                  |            d x}}	|jL                  }tO        |      }|jP                  } |       }|sd<d=t        j                         v st	        j                  tN              rt	        j                  tN              nd=dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      t	        j                  |      t	        j                  |      d>z  }t        t	        j                  |            d x}x}x}}tS        jT                  |jB                  tV               tS        jT                  |jB                  d?   tX               |jB                  d@   }d}	||	u }|slt	        j
                  d|fd-||	f      t	        j                  |      t	        j                  |	      d.z  }d/d0|iz  }t        t	        j                  |            d x}x}}	y )AN%task-2553plus48.properly-bound-4tupleresolved_via_plus48Tis)zA%(py2)s
{%(py2)s = %(py0)s.guard_registered_appended
} is %(py5)sbcrU   rV   rk   assert %(py7)sro   expected_writeback_statusrQ   z8%(py2)s
{%(py2)s = %(py0)s.writeback_status
} == %(py5)sz:%(py2)s
{%(py2)s = %(py0)s.writeback_appended
} is %(py5)sexpected_binding_integrity_okz*%(py2)s
{%(py2)s = %(py0)s.ok
} is %(py5)sbiexpected_live_eq_ledger)z6%(py2)s
{%(py2)s = %(py0)s.live_eq_ledger
} is %(py5)sexpected_marker_eq_ledger)z8%(py2)s
{%(py2)s = %(py0)s.marker_eq_ledger
} is %(py5)sexpected_role_is_fallbackz8%(py2)s
{%(py2)s = %(py0)s.role_is_fallback
} is %(py5)sz6%(py2)s
{%(py2)s = %(py0)s.properly_bound
} is %(py5)sr   zk%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.live_result
}.lookup
}.status
} == %(py8)sr   rU   rV   rW   rX   py8assert %(py10)spy10expected_durable_successz7%(py2)s
{%(py2)s = %(py0)s.durable_success
} is %(py5)sexpected_seam_invokedz4%(py2)s
{%(py2)s = %(py0)s.seam_invoked
} is %(py5)sexpected_cron_remove_invokedz;%(py2)s
{%(py2)s = %(py0)s.cron_remove_invoked
} is %(py5)sexpected_fallback_cancelledz:%(py2)s
{%(py2)s = %(py0)s.fallback_cancelled
} is %(py5)sexpected_fallback_preservedz:%(py2)s
{%(py2)s = %(py0)s.fallback_preserved
} is %(py5)sexpected_seam_classification)z;%(py2)s
{%(py2)s = %(py0)s.seam_classification
} == %(py5)ssofive_condition_resultsall_satisfiedz%(py1)s is %(py4)sri   rW   assert %(py6)srX   PB48FALLBACKFcron_iddry_runz-%(py2)s
{%(py2)s = %(py0)s.calls
} == %(py5)sr   rE   )z2%(py2)s
{%(py2)s = %(py0)s.list_calls
} == %(py5)sr   z/%(py2)s
{%(py2)s = %(py0)s.verdict
} == %(py4)sr   rT   zassert %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.e2e_audit_path
})
}.exists
}()
}r   )rU   ri   rj   rk   ro   py9cancel_auditnormal_success_unchanged)-r,   r   binding_constructionguard_registered_appendedrY   rZ   r[   r\   r]   r^   r:   r`   writeback_statuswriteback_appendedbinding_integrityr   live_eq_ledgermarker_eq_ledgerrole_is_fallbackproperly_boundlive_resultlookupr   r   durable_successseam_invokedcron_remove_invokedfallback_cancelledfallback_preservedwired_resultwiring_resultseam_outcomeseam_classification	e2e_auditcalls
list_callsverdictr   r   r   rI   
jsonschemavalidate
SCHEMA_E2ESCHEMA_AUDIT)tmp_pathr   expr   r   r   r   ra   rv   rb   ru   rw   r   @py_assert5@py_assert7@py_format9@py_format11r   fiverr   rs   rc   rd   @py_assert6@py_assert8@py_format10s                             r+   0test_01_properly_bound_e2e_pass_remove_and_auditr%    s
   	4	5B
"
#Cr8,OCe 
	!	!B''/4/'4////'4//////2///2///'///4///////B#&A"BB"BBBBB"BBBBBBB2BBB2BBBBBB"BBBBBBBB  (D( D(((( D((((((2(((2((( (((D(((((((			B558C7885888885888888828882888588888888888>$= >> >>>>> >>>>>>>2>>>2>>>>>> >>>>>>>>B#&A"BB"BBBBB"BBBBBBB2BBB2BBBBBB"BBBBBBBBB#&A"BB"BBBBB"BBBBBBB2BBB2BBBBBB"BBBBBBBB %%%%%%%%%%%%3%%%3%%%%%%%%%%%%%??;?!!;!((;(O;;;;(O;;;;;;3;;;3;;;?;;;!;;;(;;;;;;O;;;O;;;;;;;A#&@"AA"AAAAA"AAAAAAA3AAA3AAAAAA"AAAAAAAA;s#:;;;;;;;;;;;;;;3;;;3;;;;;;;;;;;;;;""Ic*H&II"&IIIII"&IIIIIII3III3III"III&IIIIIIII!!GS)F%GG!%GGGGG!%GGGGGGG3GGG3GGG!GGG%GGGGGGGG!!GS)F%GG!%GGGGG!%GGGGGGG3GGG3GGG!GGG%GGGGGGGG		%	%	3	3	@	@B!!HS)G%HH!%HHHHH!%HHHHHHH2HHH2HHH!HHH%HHHHHHHH==12D (D( D(((( D((( (((D(((((((99G^FGG9GGGGG9GGGGGGG3GGG3GGG9GGGGGGGGGGG q q    q      5   5      q        ;;";("""";(""""""3"""3""";""""""("""(""""""""",4"#,#**,*,,,,,,,,4,,,4,,,,,,,,,,,,",,,#,,,*,,,,,,,,,,z2n5|D==34<<4<<<<4<<<4<<<<<<<<<<r-   c                   t        d      }t        ||       \  }}}|j                  }|j                  }d}||u }|st	        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  }
t        t	        j                  |
            d x}x}}|j                  }d	}||k(  }|st	        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  }
t        t	        j                  |
            d x}x}}|j                  }d}||k(  }|st	        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  }
t        t	        j                  |
            d x}x}}|j                  d   d   }d}||k(  }|slt	        j
                  d
|fd||f      t	        j                  |      t	        j                  |      dz  }dd|iz  }t        t	        j                  |            d x}x}}t        d |j                   D              }|d   }d}||u }|slt	        j
                  d|fd||f      t	        j                  |      t	        j                  |      dz  }dd|iz  }t        t	        j                  |            d x}x}}|j"                  }d} ||      }d}||v }|st	        j
                  d|fd||f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      t	        j                  |      t	        j                  |      dz  }dd|iz  }t        t	        j                  |            d x}x}x}x}}t        d      }|d   }t        || d z  d!      \  }}}|j$                  }|d"   }||k(  }|st	        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  }
t        t	        j                  |
            d x}x}}|j&                  }|d%   }||u }|st	        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  }
t        t	        j                  |
            d x}x}}|j(                  }|d'   }||u }|st	        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  }
t        t	        j                  |
            d x}x}}|j*                  }|d)   }||u }|st	        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  }
t        t	        j                  |
            d x}x}}|j                  }|j                  }d+}||u }|st	        j
                  d|fd,||f      d$t        j                         v st	        j                  |      rt	        j                  |      nd$t	        j                  |      t	        j                  |      t	        j                  |      d-z  }
d.d/|
iz  }t        t	        j                  |            d x}x}x}}|j                  }|j                  }|d0   }||k(  }|st	        j
                  d
|fd1||f      d$t        j                         v st	        j                  |      rt	        j                  |      nd$t	        j                  |      t	        j                  |      t	        j                  |      d-z  }
d.d/|
iz  }t        t	        j                  |            d x}x}x}}|j,                  }d}||u }|st	        j
                  d|fd2||f      d$t        j                         v st	        j                  |      rt	        j                  |      nd$t	        j                  |      t	        j                  |      dz  }	dd|	iz  }
t        t	        j                  |
            d x}x}}|j                  d3   }d}||u }|slt	        j
                  d|fd||f      t	        j                  |      t	        j                  |      dz  }dd|iz  }t        t	        j                  |            d x}x}}|j.                  }g }||k(  }|st	        j
                  d
|fd4||f      d5t        j                         v st	        j                  |      rt	        j                  |      nd5t	        j                  |      t	        j                  |      dz  }	dd|	iz  }
t        t	        j                  |
            d x}x}}y )6Nr   Tr   )z4%(py2)s
{%(py2)s = %(py0)s.cron_removed
} is %(py5)sfpr   r   ro      rQ   )zB%(py2)s
{%(py2)s = %(py0)s.post_success_fire_attempts
} == %(py5)sr   )z<%(py2)s
{%(py2)s = %(py0)s.fallback_fired_count
} == %(py5)sfallback_fire_prooffallback_fired_countz%(py1)s == %(py4)sr   r   rX   c              3  2   K   | ]  }|d    dk(  s|  ywidr   N .0es     r+   	<genexpr>z8test_02_fallback_fire_zero_end_to_end.<locals>.<genexpr>;       GqQtW-FG   r   r   fired)FN)in)zI%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} in %(py9)sentry)rU   rV   rW   rX   r   zassert %(py11)spy11reproduction_before_plus48repro)r   expected_verdict)z/%(py2)s
{%(py2)s = %(py0)s.verdict
} == %(py5)sres2r   r   r   r   r   r   Fz]%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.fallback_fire_proof
}.cron_removed
} is %(py7)srU   rV   rW   ro   assert %(py9)sr   expected_fallback_fired_count)ze%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.fallback_fire_proof
}.fallback_fired_count
} == %(py7)sz@%(py2)s
{%(py2)s = %(py0)s.normal_success_unchanged
} is %(py5)sr   r   spy2)r,   r   r)  cron_removedrY   rZ   r[   r\   r]   r^   r:   r`   post_success_fire_attemptsr*  r  nextentriesr   r  r  r  r  r   r  )r  r   r   r   r   r'  ra   rv   rb   ru   rw   rr   rs   rc   rd   r8  r  r#  r  r$  @py_format12fx2r;  r=  rC  world2r"  s                              r+   %test_02_fallback_fire_zero_end_to_endrK  1  s   	4	5Br8,OCe		 	 B??"d"?d""""?d""""""2"""2"""?"""d"""""""((-A-(A----(A------2---2---(---A-------""'a'"a''''"a''''''2'''2'''"'''a'''''''==./0FGL1LG1LLLLG1LLLGLLL1LLLLLLLGEMMGGE#t#t####t######t#######99.W.9W............5...5...9...W............. 5
6C,-E!XdD$ <<45!344<44444<444444444444444<44444444444>&= >> >>>>> >>>>>>>4>>>4>>>>>> >>>>>>>>##Lu-K'LL#'LLLLL#'LLLLLLL4LLL4LLL#LLL'LLLLLLLL""Je,I&JJ"&JJJJJ"&JJJJJJJ4JJJ4JJJ"JJJ&JJJJJJJJ##9#009E90E99990E99999949994999#9990999E9999999## #88 -.8.  8.             $    9    	/       ((0D0(D0000(D00000040004000(000D0000000>>45==5====5===5==========::::44:r-   zmut,expect_lookupr   normalLOOKUP_ROLE_MISMATCHr   
9999999999LOOKUP_CHAT_MISMATCHztask-2553+48-OTHERLOOKUP_NO_LEDGER_RECORDc                   t        d      }t        |      }|j                         D ]  \  }}t        |||        t	        ||       }t        |d         }t        |      }	t        t        |d         | dz  ||d   |d   |d   |d   | d	z  | d
z  dz  |d   ||	| dz  |j                  d            }
|
j                  }|j                  }|j                  }||k(  }|st        j                  d|fd||f      dt        j                          v st        j"                  |
      rt        j$                  |
      ndt        j$                  |      t        j$                  |      t        j$                  |      dt        j                          v st        j"                  |      rt        j$                  |      nddz  }dd|iz  }t'        t        j(                  |            d x}x}x}}|
j*                  }|t,        k(  }|st        j                  d|fd|t,        f      dt        j                          v st        j"                  |
      rt        j$                  |
      ndt        j$                  |      dt        j                          v st        j"                  t,              rt        j$                  t,              nddz  }dd|iz  }t'        t        j(                  |            d x}}|
j.                  }d}||u }|st        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  }t'        t        j(                  |            d x}x}}|
j0                  }d}||u }|st        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  }t'        t        j(                  |            d x}x}}|
j2                  }d#}||u }|st        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  }t'        t        j(                  |            d x}x}}|
j4                  }|j6                  }d}||u }|st        j                  d|fd%||f      dt        j                          v st        j"                  |
      rt        j$                  |
      ndt        j$                  |      t        j$                  |      t        j$                  |      d&z  }d'd(|iz  }t'        t        j(                  |            d x}x}x}}|
j8                  }d#}||u }|st        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  }t'        t        j(                  |            d x}x}}|
j:                  d*   }d#}||u }|slt        j                  d|fd+||f      t        j$                  |      t        j$                  |      d,z  }dd|iz  }t'        t        j(                  |            d x}x}}|	j<                  }g }||k(  }|st        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  }t'        t        j(                  |            d x}x}}t?        j@                  |
j:                  tB               y )/Nr   r   r|   r   r~   r   r   r   r   ledr   r}   ze2e.jsonr   )r~   r   r   r   r   r   r   r   r   r   r   rQ   r   r   expect_lookupr   r   r   r   r   rT   r   rX   Fr   r   r   r   ro   r   Tr   r>  r?  r@  r   rB  r   r   r   r   r   )"r,   r   rq   r?   r   r   r
   r   r   r   r  r	  r   rY   rZ   r[   r\   r]   r^   r:   r`   r  r   r  r  r  r)  rD  r   r  r  r  r  r  )r  mutrS  r   tupr<   vr   r   r   r   ra   rb   r  r  r  r   rc   rd   rv   ru   rw   r"  r$  rr   rs   s                             r+   (test_03_mismatch_preserved_no_regressionrW  Z  s7    
4	5B
r(C		 1QR"A"012E
%
 C
(R	]:#$%A#B-.m$%&'E%FX%u$'DD23*,&&!45C  ??9?!!9!((9(M9999(M99999939993999?999!999(999999M999M9999999;;';-'''';-''''''3'''3''';''''''-'''-'''''''$u$u$$$$u$$$$$$3$$$3$$$$$$u$$$$$$$""+e+"e++++"e++++++3+++3+++"+++e+++++++!!)T)!T))))!T))))))3)))3)))!)))T))))))) ""8"//858/58888/588888838883888"888/88858888888''/4/'4////'4//////3///3///'///4///////==34<<4<<<<4<<<4<<<<<<<<<<999?9339z2r-   mutateztask-2553+OTHERi  r6  c                   t        d      }t        |d   d         }|j                  |       t        || |g      \  }}}|j                  }|j
                  }|j                  }	|	t        k(  }
|
st        j                  d|
fd|	t        f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      t        j                  |	      dt        j                         v st        j                  t              rt        j                  t              ndd	z  }d
d|iz  }t        t        j                  |            d x}x}x}	}
|j                   }d}||u }|st        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  }t        t        j                  |            d x}x}}|j"                  }d}||u }|st        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  }t        t        j                  |            d x}x}}|j$                  }d}||u }|st        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  }t        t        j                  |            d x}x}}|j&                  }|t(        k(  }|st        j                  d|fd|t(        f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dt        j                         v st        j                  t(              rt        j                  t(              nddz  }dd|iz  }t        t        j                  |            d x}}|j*                  }|j,                  }d}||u }	|	st        j                  d|	fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}	}|j.                  }d}||u }|st        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  }t        t        j                  |            d x}x}}|j0                  }g }||k(  }|st        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  }t        t        j                  |            d x}x}}y )!Nr   r   r   r   rQ   r   r   r   r   r   r   Tr   r   r   r   ro   Fr   r   r   r   rT   r   rX   r>  r?  r@  r   rB  r   r   )r,   dictupdater   r  r	  r   r   rY   rZ   r[   r\   r]   r^   r:   r`   r  r  r  r  r   r)  rD  r   r  )r  rX  r   r8  r   r   _ra   rb   r  r  r  r   rv   ru   rw   rc   rd   r"  r$  s                       r+   )test_04_five_condition_one_fail_preservedr^    s-    
4	5B'(+,E	LL2xw?KCa??;?!!;!((;(O;;;;(O;;;;;;3;;;3;;;?;;;!;;;(;;;;;;O;;;O;;;;;;;#t#t####t######3###3######t#######""+e+"e++++"e++++++3+++3+++"+++e+++++++!!*U*!U****!U******3***3***!***U*******;;';-'''';-''''''3'''3''';''''''-'''-'''''''""8"//858/58888/588888838883888"888/88858888888''/4/'4////'4//////3///3///'///4///////999?9339r-   c                    t        d      }t        || d      \  }}}|j                  }|j                  }|j                  }|t
        k(  }|st        j                  d|fd|t
        f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      t        j                  |      dt        j                         v st        j                  t
              rt        j                  t
              nddz  }	d	d
|	iz  }
t        t        j                  |
            d x}x}x}}|j                  }d}||u }|st        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  }t        t        j                  |            d x}x}}|j                  }d}||u }|st        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  }t        t        j                  |            d x}x}}|j                   }d}||u }|st        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  }t        t        j                  |            d x}x}}|j"                  }d}||u }|st        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  }t        t        j                  |            d x}x}}|j$                  }d}||u }|st        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  }t        t        j                  |            d x}x}}|j&                  }d}||u }|st        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  }t        t        j                  |            d x}x}}|j(                  d   }d}||u }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}|j*                  }|t,        k(  }|st        j                  d|fd|t,        f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dt        j                         v st        j                  t,              rt        j                  t,              nddz  }dd|iz  }t        t        j                  |            d x}}|j.                  }ddd g}||k(  }|st        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  }t        t        j                  |            d x}x}}t1        d# |j2                  D              }|d$   }d}||u }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}y )%Nr   failed)r   rQ   r   r   r   r   r   r   Tr   r   r   r   ro   r   Fr   r   r   rB  r   r   r   r   rX   r   r   rT   r   r   r   r   c              3  2   K   | ]  }|d    dk(  s|  ywr-  r/  r0  s     r+   r3  z2test_05_remove_failed_decoupled.<locals>.<genexpr>  r4  r5  r   )r,   r   r  r	  r   r   rY   rZ   r[   r\   r]   r^   r:   r`   r  r  r  r  r
  r   r  r  r   r  rF  rG  )r  r   r   r   r   ra   rb   r  r  r  r   rv   ru   rw   rr   rs   rc   rd   r8  s                      r+   test_05_remove_failed_decoupledrb    s+   	4	5Br8HEOCe??;?!!;!((;(O;;;;(O;;;;;;3;;;3;;;?;;;!;;;(;;;;;;O;;;O;;;;;;;#t#t####t######3###3######t#######""*d*"d****"d******3***3***"***d*******!!*U*!U****!U******3***3***!***U*******!!)T)!T))))!T))))))3)))3)))!)))T)))))))&$&$&&&&$&&&&&&3&&&3&&&&&&$&&&&&&&''/4/'4////'4//////3///3///'///4///////==34<<4<<<<4<<<4<<<<<<<<<<;;';-'''';-''''''3'''3''';''''''-'''-'''''''99G^FGG9GGGGG9GGGGGGG3GGG3GGG9GGGGGGGGGGGGEMMGGE$u$u$$$$u$$$$$$u$$$$$$$r-   c           	     z    t        d      t         dz         dz   dz   dz  dz  t        d          fd} |t        j                  t                    }t              } |t        j                  |      }|j                  }|j                  }|j                  }t        j                  }||k(  }	|	st        j                  d	|	fd
||f      dt        j                         v st        j                   |      rt        j"                  |      ndt        j"                  |      t        j"                  |      t        j"                  |      dt        j                         v st        j                   t              rt        j"                  t              ndt        j"                  |      dz  }
dd|
iz  }t%        t        j&                  |            d x}x}x}x}	}|j(                  }d}||u }|st        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  }t%        t        j&                  |            d x}x}}|j*                  }|t,        k(  }|st        j                  d	|fd|t,        f      dt        j                         v st        j                   |      rt        j"                  |      ndt        j"                  |      dt        j                         v st        j                   t,              rt        j"                  t,              nddz  }dd|iz  }t%        t        j&                  |            d x}}|j                  }|j                  }|j                  }t        j.                  }||k(  }	|	st        j                  d	|	fd||f      dt        j                         v st        j                   |      rt        j"                  |      ndt        j"                  |      t        j"                  |      t        j"                  |      dt        j                         v st        j                   t              rt        j"                  t              ndt        j"                  |      dz  }
dd|
iz  }t%        t        j&                  |            d x}x}x}x}	}|j0                  }d}||u }|st        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  }t%        t        j&                  |            d x}x}}|j(                  }d}||u }|st        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  }t%        t        j&                  |            d x}x}}|j2                  }g }||k(  }|st        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  }t%        t        j&                  |            d x}x}}|j4                  }d}||u }|st        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  }t%        t        j&                  |            d x}x}}y )"Nr   sharedzshared-ack.jsonr   rR  r   r   c                    t        t        d   |       t              d   d   d   d   d   |d| j                   d	z  d
   d         S )Nr|   r   r~   r   r   r   r}   ze2e-r%   r   r   )r~   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r*   )	ctyper   ackclaimr   r   r   r  r   s	     r+   _callz>test_06_duplicate_callback_safety_no_regression.<locals>._call  s    -Ie4H'()E'F12-()*+I)J67#UZZL&>>+,0, 12#
 	
r-   rQ   )z%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.live_result
}.collector_result
}.classification
} == %(py10)s
{%(py10)s = %(py8)s.PASS
}firstr   )rU   rV   rW   rX   r   r   zassert %(py12)spy12Tr   r   r   r   ro   r   r   rT   r   rX   )z%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.live_result
}.collector_result
}.classification
} == %(py10)s
{%(py10)s = %(py8)s.DUPLICATE_CALLBACK_IGNORED
}secondFr   r   rC  rB  )r,   r   r   r   NORMALr
   FALLBACK_STALEr  collector_resultclassificationr   PASSrY   rZ   r[   r\   r]   r^   r:   r`   r  r  r   DUPLICATE_CALLBACK_IGNOREDr
  r  r   )r  ri  rj  rC  rl  ra   rb   r  @py_assert9r  r   @py_format13rv   ru   rw   rc   rd   rg  rh  r   r   r   r   s   `                @@@@@@r+   /test_06_duplicate_callback_safety_no_regressionru    s   	4	5BRH,-A
&
&CxE ==F"012E
 
* ,%%u'=>E5!D<..5F -- -<< <   <                 .    =      	   	   	       %%%%%%%%%%%%5%%%5%%%%%%%%%%%%%==$=H$$$$=H$$$$$$5$$$5$$$=$$$$$$H$$$H$$$$$$$ .. .== 11=1   =1                 /    >      	   	   	2       !!*U*!U****!U******6***6***!***U*******'%'%''''%''''''6'''6''''''%'''''''::::44:**2d2*d2222*d22222262226222*222d2222222r-   c                   dd l }t        dz  dz  j                  d      }|j                  |      }|j	                  |      D ch c]0  }t        ||j                        r|j                  r|j                  2 }}d}||v}|st        j                  d|fd||f      t        j                  |      d	t        j                         v st        j                  |      rt        j                  |      nd	d
z  }dd|iz  }	t        t        j                  |	            d x}}d |D        }
t!        |
      }| }|sddt        j                         v st        j                  t               rt        j                  t               ndt        j                  |
      t        j                  |      dz  }	t        t        j                  |	            d x}
x}}d}||v}|st        j                  d|fd||f      t        j                  |      dt        j                         v st        j                  |      rt        j                  |      ndd
z  }dd|iz  }	t        t        j                  |	            d x}}d}||v}|st        j                  d|fd||f      t        j                  |      dt        j                         v st        j                  |      rt        j                  |      ndd
z  }dd|iz  }	t        t        j                  |	            d x}}t#        d      }t%        ||       \  }}}t        |t&              }|sddt        j                         v st        j                  t
              rt        j                  t
              nddt        j                         v st        j                  |      rt        j                  |      nddt        j                         v st        j                  t&              rt        j                  t&              ndt        j                  |      dz  }t        t        j                  |            d }|j(                  }
|d   }|
|u}|st        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  }t        t        j                  |            d x}
x}}|j*                  D cg c]  }|d    	 }}d!g}||k(  }|slt        j                  d"|fd#||f      t        j                  |      t        j                  |      d$z  }d%d&|iz  }t        t        j                  |            d x}x}}y c c}w c c}w )'Nr   anu_v3zcancel_on_success_live_e2e.pyr   r   r@   not in)z%(py1)s not in %(py3)simportedrh   zassert %(py5)srk   c              3  ,   K   | ]  }d |xs dv   yw)cokacdirr   Nr/  )r1  ms     r+   r3  z3test_07_no_real_ops_cron_contact.<locals>.<genexpr>  s     =q:!'r*=s   z0assert not %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}anyrT   zcokacdir --cronsrczsubprocess.runr   z5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}
isinstancer   r   )rU   ri   rV   rW   r   )is not)z3%(py2)s
{%(py2)s = %(py0)s.entries
} is not %(py5)sr   r   ro   r   r   rQ   r+  r   r   rX   )astr2   r)   parsewalkr  
ImportFrommodulerY   rZ   r^   r[   r\   r]   r:   r`   r~  r,   r   r   rG  r  )r  r  r  treenrz  rr   rs   rt   ru   ra   rb   r  r   r   r   r   rc   rv   rw   crd   s                         r+    test_07_no_real_ops_cron_contactr    s}    	H>>ii!  99S>D $a(QXX 	
H 
 '<x''''<x'''<''''''x'''x'''''''=H==s============s===s=============='C''''C'''''''''C'''C'''''''&3&&&&3&&&&&&&&&3&&&3&&&&&&&	4	5Br8,OCee]++++++++:+++:++++++e+++e++++++]+++]++++++++++==7#6 77= 77777= 777777757775777=777 77777777"%)),QAiL,@,0@@,0@@@@@,0@@@@,@@@0@@@@@@@@ -s   5V=2Wc                    t         j                         D ]Y  \  } }t        |       }||k(  }|s<t        j                  d|fd||f      dt        j                         v st        j                  t              rt        j                  t              nddt        j                         v st        j                  |       rt        j                  |       ndt        j                  |      dt        j                         v st        j                  |      rt        j                  |      nddz  }t        j                  |  d      dz   d	|iz  }t        t        j                  |            d x}}\ t        j                  d
      }t        j                  d      }t        j                  d      }dd ld}t        ||      }|sddt        j                         v st        j                  t              rt        j                  t              nddt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      dz  }t        t        j                  |            d x}}dfd}	 |	|      }|sddt        j                         v st        j                  |	      rt        j                  |	      nddt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dz  }
t        t        j                  |
            d } |	|      }|sddt        j                         v st        j                  |	      rt        j                  |	      nddt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dz  }
t        t        j                  |
            d }ddlm} ddlm} t)        |      }|sddt        j                         v st        j                  t(              rt        j                  t(              nddt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dz  }
t        t        j                  |
            d }t)        |      }|sddt        j                         v st        j                  t(              rt        j                  t(              nddt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dz  }
t        t        j                  |
            d }y )NrQ   rl   r6   r5   rg   rm   u    byte-0 위반 (§7.8)rn   ro   z>tests.regression.test_cancel_on_success_live_wiring_2553plus45z7tests.regression.test_callback_event_trigger_2553plus47z9tests.regression.test_callback_4tuple_registry_2553plus44r   1test_01_success_bound_verifier_pass_remove_calledz5assert %(py5)s
{%(py5)s = %(py0)s(%(py1)s, %(py3)s)
}hasattrm45c                B     t         fdt               D              S )Nc              3     K   | ]@  }t        t        |      t              xr  t        t        |      j                         B y wr/   )r  getattrtype
issubclassTestCase)r1  r  modunittests     r+   r3  zatest_08_frozen_byte0_and_cross_regression_no_regression.<locals>._has_testcase.<locals>.<genexpr>  sH      
  wsA- ?73?H,=,=>?
s   AA	)r~  dir)r  r  s   `r+   _has_testcasezNtest_08_frozen_byte0_and_cross_regression_no_regression.<locals>._has_testcase  s#     
 X
 
 	
r-   z,assert %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
}r  m47)rU   ri   rj   m44)!run_cancel_on_success_live_wiring)write_back_completedcallabler  r  )returnbool)rp   rq   r6   rY   rZ   r[   r\   r]   r^   r_   r:   r`   	importlibimport_moduler  r  $anu_v3.cancel_on_success_live_wiringr  anu_v3.callback_event_triggerr  r  )r5   rg   rs   rv   ru   rw   r  r  r  r  rt   r  r  r  s                @r+   7test_08_frozen_byte0_and_cross_regression_no_regressionr    s   $**, CVCyByF"BBByFBBBBBBtBBBtBBBBBBCBBBCBBByBBBBBBFBBBFBBBBse+A$BBBBBBBBC 
!
!HC 
!
!AC 
!
!CC  A7@                 	   	   A       
 ==== C56666666686668666666566656666666666())))))))8)))8))))))()))())))))))))r-   c           
        ddl m}m} t        d      }|d   } ||d   |d   |d   |d   	      } ||      }g }||k(  }|st	        j
                  d
|fd||f      dt        j                         v st	        j                  |      rt	        j                  |      nddt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      dz  }	dd|	iz  }
t        t	        j                  |
            d x}x}}t        | dz  dz        }t        dddddddd      }t        ||      }|j                  }d}||k(  }|st	        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  }t        t	        j                  |            d x}x}}|j                   }d"}||u }|st	        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  }t        t	        j                  |            d x}x}}t        | dz  dz        }t        |t#        |            }|j                  }d%}||k(  }|st	        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  }t        t	        j                  |            d x}x}}t%        ||d   |d'   |d(   )      }|j&                  }d*}||u }|st	        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  }t        t	        j                  |            d x}x}}|j(                  }d*}||u }|st	        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  }t        t	        j                  |            d x}x}}y ).Nr   )Callback4Tuplevalidate_4tupler   r   r|   r   r   r   )r|   r   r   r   rQ   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sr  r   )rU   ri   rj   rX   zassert %(py8)sr   mandr   zt-mandDDCr   
6937032012r   FBXr   r   CALLBACK_MANDATORY_VIOLATIONr   r   r   r   ro   Fr   r   WRITEBACK_COMPLETEDbc2r   r}   )r|   r   r   Tr   integr   )%dispatch.executor_completion_contractr  r  r,   rY   rZ   r[   r\   r]   r^   r:   r`   r   r	   r   r  r  r   r   r   r  )r  r  r  r   r   r   rs   r  rv   rd   r  regbad_tupr   ra   rb   ru   rw   reg2r  r  s                        r+   /test_09_plus32_callback_mandatory_no_regressionr  -  s   
 
4	5B
"#A	)-.!"#=!>"#$?"@	
B 2$"$"$$$$"$$$$$$?$$$?$$$$$$2$$$2$$$$$$"$$$$$$$ !699C "!#"'	G 
%S'	2B@"@@"@@@@@"@@@@@@@2@@@2@@@@@@"@@@@@@@@  )E) E)))) E))))))2)))2))) )))E)))))))!477D &dDH
5C8#88#88888#888888838883888888#88888888+90123	E 88t8t8t558t!!)T)!T))))!T))))))5)))5)))!)))T)))))))r-   c                
   t        d      }t        |d   d         }t        |      }d|d<   t        || ||g      \  }}}|j                  }|j                  }d}	||	u }
|
st        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  }t        t        j                  |            dx}x}
}	|j                  }d}	||	u }
|
st        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  }t        t        j                  |            dx}x}
}	|j                  }d}	||	u }
|
st        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  }t        t        j                  |            dx}x}
}	|j                  }|t         k7  }
|
st        j                  d|
fd|t         f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dt        j                         v st        j                  t               rt        j                  t               nddz  }dd|iz  }t        t        j                  |            dx}}
|j"                  }|j$                  }
d}|
|k\  }|st        j                  d|fd|
|f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |
      t        j                  |      dz  }dd|iz  }t        t        j                  |            dx}x}
x}}|j&                  }d}	||	u }
|
st        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  }t        t        j                  |            dx}x}
}	t)        j*                  |j,                  t.               |j,                  d    d!   }d}
||
u }|slt        j                  d|fd"||
f      t        j                  |      t        j                  |
      d#z  }dd|iz  }t        t        j                  |            dx}x}}
y)$u   task/role 매칭 live fallback 2건 → single bound·verified 깨짐 →
    properly-bound 불성립, E2E_PASS 차단, sibling 발화로 fire>0 (Codex F1).r   r   r   zPB48FALLBACK-SIBLINGr.  rZ  Fr   )z<%(py2)s
{%(py2)s = %(py0)s.single_live_fallback
} is %(py5)sr   r   r   ro   Nr   r   r   )!=)z/%(py2)s
{%(py2)s = %(py0)s.verdict
} != %(py4)sr   rT   r   rX   rE   )>=)ze%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.fallback_fire_proof
}.fallback_fired_count
} >= %(py7)sr?  r@  r   TrB  r  single_live_fallbackr   r   )r,   r[  r   r  r  rY   rZ   r[   r\   r]   r^   r:   r`   r   r  r  r   r)  r*  r   r  r  r  r  )r  r   boundsiblingr   r   r   r   ra   rv   rb   ru   rw   rc   rd   r"  r  r$  rr   rs   s                       r+   *test_04b_ambiguous_multi_fallback_not_passr  _  s    
4	5B'(+,E5kG*GDM
HUG$4OCe 
		B""+e+"e++++"e++++++2+++2+++"+++e+++++++55E5E>5E225E&&&&&&&&&&&&3&&&3&&&&&&&&&&&&&;;";("""";(""""""3"""3""";""""""("""("""""""""<"77<1<71<<<<71<<<<<<3<<<3<<<"<<<7<<<1<<<<<<<''/4/'4////'4//////3///3///'///4///////z2==,-.DENNENNNNENNNENNNNNNNNNNr-   c           	        t        d      }t        ||       \  }}}t        j                  |j                  d      }t
        |v}|st        j                  d|fdt
        |f      dt        j                         v st        j                  t
              rt        j                  t
              nddt        j                         v st        j                  |      rt        j                  |      nddz  }d	d
|iz  }t        t        j                  |            d }dD ]B  }t        |z  j                  d      }	|j!                  d      r6|	j"                  } |t
              }
d}|
|k(  }|s
t        j                  d|fd|
|f      dt        j                         v st        j                  |	      rt        j                  |	      ndt        j                  |      dt        j                         v st        j                  t
              rt        j                  t
              ndt        j                  |
      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}
x}}et
        |	v}|st        j                  d|fdt
        |	f      dt        j                         v st        j                  t
              rt        j                  t
              nddt        j                         v st        j                  |	      rt        j                  |	      nddz  }d	d
|iz  }t        t        j                  |            d }E t%        |j&                        j                  d      }t
        |v}|st        j                  d|fdt
        |f      dt        j                         v st        j                  t
              rt        j                  t
              nddt        j                         v st        j                  |      rt        j                  |      nddz  }d	d
|iz  }t        t        j                  |            d }y )Nr   F)ensure_asciirx  )z%(py0)s not in %(py2)sANU_KEY_SECRETblob)rU   rV   zassert %(py4)srW   )z$anu_v3/cancel_on_success_live_e2e.pyz/schemas/cancel_on_success_e2e_audit.schema.jsonz>tests/regression/test_cancel_on_success_live_e2e_2553plus48.pyr   r   z-test_cancel_on_success_live_e2e_2553plus48.pyrE   rQ   )zK%(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py3)s)
} == %(py8)sr  )rU   rV   rj   rk   r   r   r   disk)r,   r   r&   r   r  r  rY   rZ   r[   r\   r]   r^   r:   r`   r2   r)   endswithcountr   r   )r  r   r   r]  r  ra   @py_format3rc   r5   r  rv   r  r"  r  r   r  s                   r+   test_10_no_credential_exposurer  v  sf   	4	5BX&ICA::cmm%8D%%%%>%%%%%%>%%%>%%%%%%%%%%%%%%%% 
-
 3))7);<<GH9919^,11,1111,111111311131119111111^111^111,1111111111!,,,,>,,,,,,>,,,>,,,,,,,,,,,,,,,,
- ""#--w-?D%%%%>%%%%%%>%%%>%%%%%%%%%%%%%%%%r-   __main__z-q)r*   strr  r[  )r5   r  r  r  )r   r[  r   r   r  r[  )r   r[  r  r	   )r|   r  )O__doc__
__future__r   builtinsr[   _pytest.assertion.rewrite	assertionrewriterY   r0   r  r&   r@   syspathlibr   r  pytest__file__resolveparentr2   r  pathremoveinsert!anu_v3.cancel_on_success_live_e2er   r   r   r   r	   r
   r   r   r   r  r   anu_v3.callback_4tuple_registryr   (utils.anu_delegation_completion_callbackr   r   r   r(   r'   r)   r  r  r  rp   r,   r6   fixturerB   rO   re   rx   r   r   rm  r   r   r%  rK  markparametrizerW  r^  rb  ru  r  r  r  r  r  __name__
SystemExitmainr/  r-   r+   <module>r     s  2 #       
   N""$++2299	y>SXXHHOOC	N# 3y> "
 
 
  
X	
	*TZZI IIii!

 tzzBBMM N 
 $ 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K;DM 2 2#" R R I I. )5(;(; & 	&T%=R%R 
(	34
\	"$:;
)	*,EF#3#3N 	%&	D		$	$%(,3`A6&*T.*dO.&, z
[V[[(D!12
33 r-   