
    Si                         d Z ddlZddlZddlZddlmZ ej                  j                  dd       ej                  j                  dd       d Zd Z	d Z
d	 Zd
 Zd Zd Zy)u   Phase 1 통합 테스트.    N)Pathz/home/jay/workspacez/home/jay/workspace/hooksc                  :   ddl m}   |        }|j                         }|j                  d      du sJ |j                  d      du sJ |j                  d      du sJ |j                  d      du sJ |j                  d      du sJ |j                  d	      d
u sJ y)u`   Phase 1 플래그 3개 활성화, Phase 2 플래그(trust5_tagging, model_map) 활성화 확인.r   )FeatureFlagLoaderprogressive_disclosure_enabledTrw_isolation_enabledhooks_enforcement_enabledtrust5_tagging_enabledmodel_map_enabledhaiku_ab_enabledFN)utils.feature_flagsr   get_all_flagsget)r   loaderflagss      Z/home/jay/workspace/.worktrees/task-2117-dev1/tests/integration/test_phase1_integration.py!test_int01_phase1_flags_activatedr      s    5 F  "E9956$>>>99+,4449901T99999-.$66699()T11199'(E111    c                 >   ddl m} ddlm}m} | dz  }dddid}|j                  t        j                  |      d	
       t        |       |dfd      5   |dddd        |dddd      }ddd        |      }|dk  sJ d| d       y# 1 sw Y   "xY w)u.   PD 플래그 활성 시 summary 토큰 검증.r   )patch)_count_tokensbuild_promptzfeature_flags.jsonz1.0r   T)schema_versionr   zutf-8)encodingz.utils.feature_flags.FeatureFlagLoader.__init__c                 t    t        | d      t        | di       t        | dd      | j                         fd   S )N_path_cache_mtimeg        )setattr_load)self_kw
flags_paths     r   <lambda>z/test_int02_pd_enabled_summary.<locals>.<lambda>.   sA    D':.D(B'D(C(JJL	

  r   z	dev1-teamztask-int-02au~  통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 통합테스트 작업 full)disclosure_phaseztask-int-02bsummaryNiX  zsummary tokens z > 600)	unittest.mockr   prompts.team_promptsr   r   
write_textjsondumpsstr)	tmp_pathr   r   r   
flags_filedatasummary_promptsummary_tokensr#   s	           @r   test_int02_pd_enabled_summaryr3      s    #@00J2D9D $**T*W=ZJ	8	
 
 	[.2Pcij%k>Cat}~
 #>2NS JON3C6"JJ 
 
s   BBc                  J    ddl m}   | dddd      }|d   J |d
   dk(  sJ y	)u&   read_only=True 시 worktree 미생성.r   
cmd_createz/tmp/test-projectztask-int-03dev1T)	read_onlyworktree_pathNstatusskipped)scripts.worktree_managerr6   )r6   results     r   test_int03_rw_read_no_worktreer>   =   s:    3+]FdSF/"***(y(((r   c                  t    ddl } ddlm} | j                  |      }|j                  d   j
                  du sJ y)u%   write(기본값) 시 read_only=False.r   Nr5   r8   F)inspectr<   r6   	signature
parametersdefault)r@   r6   sigs      r   test_int04_rw_write_defaultrE   G   s5    3


J
'C>>+&..%777r   c                     ddl m}m} t        | dz        }t	        d      D ]  } |dddd|	         |d|
      dk(  sJ y)u#   circuit breaker가 halt 후 차단.r   )	cmd_check
cmd_recordcb.json   standardtest.py
ruff_errorWritetool
state_pathrQ   haltN)hooks.circuit_breakerrG   rH   r-   range)r.   rG   rH   rQ   _s        r    test_int05_hooks_circuit_breakerrW   R   sO    ;X	)*J1X ]:y,WQ[\]Y:6&@@@r   c                     ddl m}m}m} t	        | dz        }t        d      D ]  } |dddd|	         |d|
      dk(  sJ  ||
        |d|
      dk(  sJ y)u   halt 후 reset하면 다시 ok.r   )rG   rH   	cmd_resetrI   rJ   rK   rL   rM   rN   rO   rR   rS   okN)rT   rG   rH   rY   r-   rU   )r.   rG   rH   rY   rQ   rV   s         r    test_int06_circuit_breaker_resetr[   ^   so    FFX	)*J1X ]:y,WQ[\]Y:6&@@@$Y:6$>>>r   c                     t        d      j                         sJ t        d      j                         sJ t        d      j                         sJ d} t        |       j                         sJ t        j                  | t        j                        sJ t        d      j                         sJ t        d      }|j                         sJ t        t        |j                  d                  dk\  sJ y	)
u,   전체 시스템 구성요소 존재 확인.z./home/jay/workspace/.claude/feature_flags.jsonz)/home/jay/workspace/.claude/settings.jsonz,/home/jay/workspace/hooks/circuit_breaker.pyz*/home/jay/workspace/hooks/post_tool_use.shz>/home/jay/workspace/.metrics/baseline/baseline_2026-04-03.jsonz/home/jay/workspace/docs/specsz*.md   N)r   existsosaccessX_OKlenlistglob)sh_path	specs_dirs     r   test_int07_full_integrationrg   k   s     @AHHJJJ;<CCEEE>?FFHHH:G=!!!99Wbgg&&&PQXXZZZ56ItINN6*+,111r   )__doc__r+   r_   syspathlibr   pathinsertr   r3   r>   rE   rW   r[   rg    r   r   <module>rn      s_      	 
  ( ) . /2"K>)8A	?2r   