+
    5mj  c                      ^ RI Ht ^ RIt^ RIHu Ht ^ RIt	^ RI
Ht ^ RIt^ RItR tR R ltR R ltR	 R
 ltR R ltR R ltR# )    )annotationsN)Pathc                    \        \        4      P                  ^,          R,          R,          R,          p \        P                  P                  RV 4      p. q!q1'       d   VP                  qDpV'       Eg5   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          qRP                  V4       V'       d~   RR	R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR
\        P                  ! X4      /,          qbP                  V4       \        P                  ! V^ 4      / ,          pRRV/,          p\        \        P                  ! V4      4      hR;p;r$\        P                  P!                  V4      p	VP                  P#                  V	4       V	# )   workstationbinzpi_remote_dispatch.pypi_remote_dispatch_testz%(py2)spy2specz#%(py6)s
{%(py6)s = %(py4)s.loader
}py4py6zassert %(py9)spy9N)r   __file__parents	importlibutilspec_from_file_locationloader@py_builtinslocals
@pytest_ar_should_repr_global_name	_safereprappend_format_boolopAssertionError_format_explanationmodule_from_specexec_module)
pathr
   @py_assert1@py_assert0@py_assert5@py_format3@py_format7@py_format8@py_format10modules
             g/home/user/overdeck-private-tests/workstation-ai-broad/modules/systray/tests/test_pi_remote_dispatch.py_moduler)      s    >!!!$}4u<?VVD>>112KTRD4DKK444DDK^^,,T2FKKF#M    c                   V ^8  d   QhRR/# )r   returnNone )formats   "r(   __annotate__r0      s     G Gt Gr*   c                    \        4       p V P                  p. q!! V4      q3'       g   RRR\        P                  ! 4       9   g   \        P
                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;r#V P                  pR.q!! V4      q3'       g   RRR\        P                  ! 4       9   g   \        P
                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;r#V P                  pR	.q!! V4      q3'       g   RRR\        P                  ! 4       9   g   \        P
                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;r#V P                  pR
.q!! V4      q3'       g   RRR\        P                  ! 4       9   g   \        P
                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;r#V P                  p. ROq!! V4      q3'       * qU'       g   RRR\        P                  ! 4       9   g   \        P
                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;p;r5R# ) zKassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.info_only
}(%(py4)s)
}py0r'   r	   r   r   Nz--list-modelsz	--versionz--helpzOassert not %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.info_only
}(%(py4)s)
})-pturn--session-idone)	r)   	info_onlyr   r   r   r   r   r   r   )r'   r    @py_assert3r"   r$   @py_assert7r%   s          r(   %test_info_only_invocations_stay_localr;      sl   YFBB66B._-.-.........6....6......-..........*[M*M*********6****6******M**********'XJ'J'''''''''6''''6''''''J''''''''''F EF EFFFFFFFFFFFvFFFFvFFFFFF EFFFFFFFFFFFr*   c                    V ^8  d   QhRRRR/# r   tmp_pathr   r,   r-   r.   )r/   s   "r(   r0   r0      s     	Q 	Q4 	QY] 	Qr*   c                \   \        4       pVP                  R \        V R,          4      4       VP                  VP                  RR 4       VP
                  pRRRRR\        V R	,          4      .qT! V4      p\        P                  qvV8H  q'       EgI   \        P                  ! RV3R Wg34      R
R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;p;p;rRqP                  q! 4       qP                   qV9   q'       g   \        P                  ! R!V3R"W34      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;rRpRqV,          qP"                  q! 4       q{V9   q'       g   \        P                  ! R!V3R#W34      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;p;p;p;rR# )$OD_CONTAINMENT_LOGzcontainment.jsonlload_registryc                 Z    R  R 4       P                  \        P                  ! R4      4      # )c              3  $   "   T F  qx  K  	  R # 5iNr.   ).0_s   & r(   	<genexpr>Qtest_registry_failure_is_closed_and_recorded.<locals>.<lambda>.<locals>.<genexpr>    s     UWPQ!UWs   registry unreadabler.   )throwremote_dispatchOffloadUnavailabler.   r*   r(   <lambda>>test_registry_failure_is_closed_and_recorded.<locals>.<lambda>    s$    UWI^I^**+@AJr*   r4   r5   r6   r7   --session-dirsessionr3   r'   r	   r   r   py8rK   py10assert %(py12)spy12NrI   py1py3capsyspy5py7r   assert %(py11)spy11r>   ==zn%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.main
}(%(py4)s)
} == %(py10)s
{%(py10)s = %(py8)s.EXIT_NO_NODE
}inzb%(py1)s in %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.readouterr
}()
}.err
})zV%(py1)s in %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = (%(py3)s / %(py5)s).read_text
}()
})r)   setenvstrsetattrrK   mainEXIT_NO_NODEr   _call_reprcomparer   r   r   r   r   r   
readouterrerr	read_textr>   monkeypatchrW   r'   r    r9   r"   @py_assert9r:   @py_format11@py_format13r!   @py_assert4@py_assert6@py_assert8@py_assert2r&   @py_format12s   &&&               r(   ,test_registry_failure_is_closed_and_recordedru      s   YF+S<O1O-PQ.. B  ;;  Jfne_cRZ]fRfNgh  J;hi  Jm|  nJ  nJ  J  nJ  J  J  J  J  Ji  J  J  J  J  J  J6  J  J  J  J6  J  J  J;  J  J  Jh  J  J  Ji  J  J  J  J  J  Jm|  J  J  J  Jm|  J  J  J  nJ  J  J  J  J  J  J  J  J ;$5$5;$5$7;$;$;;$;;;;;; ;;; ;;;;;;F;;;;F;;;$5;;;$7;;;$;;;;;;;;; P0CP0C%CP$N$NP$N$PP$PPPPPP PPP PPPPPPXPPPPXPPP0CPPP$NPPP$PPPPPPPPPPr*   c                    V ^8  d   QhRRRR/# r=   r.   )r/   s   "r(   r0   r0   )   s     : :t :T :r*   c                   \        4       pVP                  VP                  R R 4       VP                  pRRRRR\	        V R,          4      .qT! V4      p\        P
                  qvV8H  q'       EgI   \        P                  ! RV3RWg34      RR	\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR	R
\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;p;p;rRqP                  q! 4       qP                  qV9   q'       g   \        P                  ! RV3RW34      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;rR# ) rA   c                 
    R . /# hostsr.   r.   r*   r(   rM   2test_no_reachable_seat_is_closed.<locals>.<lambda>+   s	    'SUr*   r4   r5   r6   r7   rO   rP   r3   r'   r	   r   r   rQ   rK   rR   rS   rT   Nzno reachable hostrU   rV   rW   rX   rY   r   rZ   r[   r\   r^   r_   ra   )r)   rd   rK   re   rc   rf   r   rg   r   r   r   r   r   r   rh   ri   rk   s   &&&               r(    test_no_reachable_seat_is_closedr|   )   sI   YF..AVW;;  Jfne_cRZ]fRfNgh  J;hi  Jm|  nJ  nJ  J  nJ  J  J  J  J  Ji  J  J  J  J  J  J6  J  J  J  J6  J  J  J;  J  J  Jh  J  J  Ji  J  J  J  J  J  Jm|  J  J  J  Jm|  J  J  J  nJ  J  J  J  J  J  J  J  J9"3"39"3"59"9"99"999999999999999&9999&999"3999"5999"9999999999r*   c                    V ^8  d   QhRRRR/# r=   r.   )r/   s   "r(   r0   r0   1   s     
A 
A$ 
APT 
Ar*   c                  a  \        4       pVP                  VP                  R R 4       VP                  VP                  RR 4       VP                  VP                  RV 3R l4       VP                  VP                  RR 4       VP                  VP                  RR	 4       VP                  VP                  R
R 4       VP                  pRRRRR\        S R,          4      .qT! V4      p\        P                  qvV8H  q'       EgI   \        P                  ! R&V3R'Wg34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;p;p;rRqP                  q! 4       qP                   qV9   q'       g   \        P                  ! R(V3R)W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR R!\        P                  ! V4      R"\        P                  ! V4      R#\        P                  ! V4      /,          pR$R%V/,          p\        \        P                  ! V4      4      hR;p;p;p;rR# )*rA   c                 *    R RRRRRR.RRR	R
RR///./# rz   nameseatstate	reachablerolesz
agent-seataccesstailscale_iphostboxuserr.   r.   r*   r(   rM   5test_extra_mirror_failure_is_closed.<locals>.<lambda>3   r    'U[]celny  |C  FR  ES  U]  `n  qw  y~  @F  HN  pO  _P  UQ  TR  JSr*   select_hostc                j    V ^ ,          V ^ ,          R,          R,          \        RRRR /4      ! 4       3# )r   r   r   Claimreleasec                    R # rD   r.   selfs   &r(   rM   Gtest_extra_mirror_failure_is_closed.<locals>.<lambda>.<locals>.<lambda>4   	      hlr*   r.   typery   s   &r(   rM   r   4   ]    eTUhX]^_X`aiXjkyXz  }A  BI  KM  PY  [l  Om  }n  }p  Nqr*   	repo_rootc                   < S# rD   r.   cwdr>   s   &r(   rM   r   5       r*   git_mirror_filesc                    R # r*   r.   roots   &r(   rM   r   6       QTr*   runc            
     2    \        R RR^ RRRR/4      ! 4       # Done
returncodestdoutz/home/user
stderrr2   r.   r   argskwargss   *,r(   rM   r   7   s<    $vWY\hjkmu  xF  HP  RT  \U  KV  KXr*   sync_extra_dirc                     R # )z extra mirror push failed: deniedr.   r   s   *,r(   rM   r   8   s    Z|r*   r4   r5   r6   r7   rO   rP   r3   r'   r	   r   r   rQ   rK   rR   rS   rT   Nzextra mirror push failedrU   rV   rW   rX   rY   r   rZ   r[   r\   )zm%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.main
}(%(py4)s)
} == %(py10)s
{%(py10)s = %(py8)s.EXIT_MIRROR
}r_   ra   )r)   rd   rK   
subprocessre   rc   EXIT_MIRRORr   rg   r   r   r   r   r   r   rh   ri   rk   s   f&&               r(   #test_extra_mirror_failure_is_closedr   1   s   YF..  BS  T..  @q  r..=QR..0BDTU))5  3X  Y..0@B|};;  Ifne_cRZ]fRfNgh  I;hi  Im|  nI  nI  I  nI  I  I  I  I  Ii  I  I  I  I  I  I6  I  I  I  I6  I  I  I;  I  I  Ih  I  I  Ii  I  I  I  I  I  Im|  I  I  I  Im|  I  I  I  nI  I  I  I  I  I  I  I  I%@):):@):)<@)@)@@)@@@@@@%@@@%@@@@@@@@@@@@@):@@@)<@@@)@@@@@@@@@@r*   c                    V ^8  d   QhRRRR/# r=   r.   )r/   s   "r(   r0   r0   >   s     #) #)d #)D #)r*   c                  a a \        4       pVP                  VP                  RR 4       VP                  VP                  RR 4       VP                  VP                  RV 3R l4       VP                  VP                  RR 4       VP                  VP                  R	R
 4       VP                  VP                  RR 4       VP                  VP                  P                  RR 4       VP                  VP                  RR 4       / oV3R lpVP                  VP                  RV4       VP                  RRRRR\        S R,          4      .4      p^ qTV8H  qf'       g   \        P                  ! R8V3R9WE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;reSR,          R:,          p	R qV	9   qU'       g   \        P                  ! R;V3R<W34      R!\        P                  ! V
4      RR"\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MR"/,          pRRV/,          p\        \        P                  ! V4      4      hR;rR#pR$pV R%V R&2qV	9   qU'       g   \        P                  ! R;V3R<W34      R!\        P                  ! V
4      RR"\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MR"/,          pRRV/,          p\        \        P                  ! V4      4      hR;rV	P                  qf! V4      qP                  q! V4      qV8  pV	P                  pR'pV! V4      pVV8  pV'       d
   V'       Ego   \        P                  ! R=VV3R>WV34      RR"\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MR"R(\        P                  ! V4      RR)\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR)R\        P                  ! V4      R*R"\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MR"R+\        P                  ! V4      R,R-\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR-R.\        P                  ! V4      R/R"\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MR"R0\        P                  ! V4      R1\        P                  ! V4      R2\        P                  ! V4      /,          pR3R4V/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p;p;p;ppR5qV	9   qU'       g   \        P                  ! R;V3R<W34      R!\        P                  ! V
4      RR"\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MR"/,          pRRV/,          p\        \        P                  ! V4      4      hR;rR6qV	9   qU'       g   \        P                  ! R;V3R<W34      R!\        P                  ! V
4      RR"\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MR"/,          pRRV/,          p\        \        P                  ! V4      4      hR;rR7qV	9   qU'       g   \        P                  ! R;V3R<W34      R!\        P                  ! V
4      RR"\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MR"/,          pRRV/,          p\        \        P                  ! V4      4      hR;rR# )?u   The remote pi-agent invocation must run with the same PATH-shim guard chain
local non-Claude agents get (git-guard shim ahead on PATH, agent-launched scope
marked, pin self-healed) — see docs/plans covering remote pi hook parity.rA   c                 *    R RRRRRR.RRR	R
RR///./# r   r.   r.   r*   r(   rM   9test_remote_command_carries_guard_chain.<locals>.<lambda>C   r   r*   r   c                j    V ^ ,          V ^ ,          R,          R,          \        RRRR /4      ! 4       3# )r   r   r   r   r   c                    R # rD   r.   r   s   &r(   rM   Ktest_remote_command_carries_guard_chain.<locals>.<lambda>.<locals>.<lambda>D   r   r*   r.   r   ry   s   &r(   rM   r   D   r   r*   r   c                   < S# rD   r.   r   s   &r(   rM   r   E   r   r*   r   c                    R # r   r.   r   s   &r(   rM   r   F   r   r*   
git_mirrorc                    R # rD   r.   r   s   &r(   rM   r   G   s    4r*   r   c                     R # rD   r.   r   s   *,r(   rM   r   H   s    Z^r*   	pull_backc                    R # rD   r.   r   s   &r(   rM   r   I   s    RVr*   r   c            
     2    \        R RR^ RRRR/4      ! 4       # r   r   r   s   *,r(   rM   r   L   s    VR,8^]egi1j k mr*   c                8   < V SR &   \        RRRR /4      ! 4       # )argvChildwaitc                    ^ # )r   r.   r   s   &r(   rM   Mtest_remote_command_carries_guard_chain.<locals>.fake_popen.<locals>.<lambda>S   s    qr*   r.   r   )r   r   captureds   &,r(   
fake_popen;test_remote_command_carries_guard_chain.<locals>.fake_popenQ   s$    GR&.!9:<<r*   Popenr4   r5   r6   r7   rO   rP   r3   rcrV   zassert %(py5)srX   Nr   zexport PATH=rU   
remote_cmdz/home/user/.claude/binz/home/user/.local/bin:z:$PATHz$PATHr	   
guard_pathrQ   rR   r[   
agent_pathpy13py14py16py18py20zassert %(py22)spy22zAGENT_BUILD_SCOPE_ACTIVE=1zinstall-git-guard-realzexec pi-agentr\   )z%(py0)s == %(py3)sr_   )z%(py1)s in %(py3)s)<r   )z%(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.index
}(%(py3)s)
} < %(py13)s
{%(py13)s = %(py10)s
{%(py10)s = %(py8)s.index
}(%(py11)s)
}z%(py13)s
{%(py13)s = %(py10)s
{%(py10)s = %(py8)s.index
}(%(py11)s)
} < %(py20)s
{%(py20)s = %(py16)s
{%(py16)s = %(py14)s.index
}(%(py18)s)
})r)   rd   rK   Sessionr   re   rc   r   rg   r   r   r   r   r   r   index)r>   rl   r'   r   r   rs   r    @py_format4@py_format6r   r!   r   r   rp   rm   @py_assert12rq   @py_assert15@py_assert17@py_assert19r:   @py_format21@py_format23r   s   f&                     @r(   'test_remote_command_carries_guard_chainr   >   s    YF..  BS  T..  @q  r..=QR..0BDTU..>OP..0@B^_..66EVW5m
 H= ))7J?	dFNE?CPX[dPdLef	gBN7NNNN2NNNNNN2NNNN2NNNNNNNNNNN&!"%J'Z'''''>'''>''''''Z''''Z'''''''')J(J\:,f-;;;;;;-;;;-;;;;;;;;;;;;;;;;;;bJ'b*:*:b*::*Fb*FbbIYIYbZabIYZaIbb*FIbbbbbbb'Ibbbbbbb:bbbb:bbbbbbbbbJbbbbJbbb'bbbbbb*bbbb*bbb*:bbbbbb:bbbb:bbb*FbbbbbbbbbbbbbIYbbbZabbbIbbbbbbbbbb'5:55555'555'555555:5555:55555555#1z11111#111#111111z1111z11111111(j(((((?(((?((((((j((((j((((((((r*   )
__future__r   builtinsr   _pytest.assertion.rewrite	assertionrewriter   importlib.utilr   pathlibr   pytestrK   r)   r;   ru   r|   r   r   r.   r*   r(   <module>r      s:    "       G	Q:
A#)r*   