test_all_101_are_validated_before_single_atomic_publication (test_neural_audio.GeneratorContract.test_all_101_are_validated_before_single_atomic_publication) ... ERROR test_atomic_exchange_keeps_old_tree_at_staging_path (test_neural_audio.GeneratorContract.test_atomic_exchange_keeps_old_tree_at_staging_path) ... ERROR test_atomic_first_publication (test_neural_audio.GeneratorContract.test_atomic_first_publication) ... ERROR test_cli_import_has_no_generation_or_filesystem_side_effects (test_neural_audio.GeneratorContract.test_cli_import_has_no_generation_or_filesystem_side_effects) ... FAIL test_edge_adapter_uses_pinned_python_prosody_timeout_and_no_shell (test_neural_audio.GeneratorContract.test_edge_adapter_uses_pinned_python_prosody_timeout_and_no_shell) ... ERROR test_exhausted_provider_failure_preserves_existing_files_and_redacts_secrets (test_neural_audio.GeneratorContract.test_exhausted_provider_failure_preserves_existing_files_and_redacts_secrets) ... FAIL test_ffmpeg_adapter_actually_decodes_mp3_to_normalized_pcm24 (test_neural_audio.GeneratorContract.test_ffmpeg_adapter_actually_decodes_mp3_to_normalized_pcm24) ... ERROR test_ffmpeg_failure_is_not_retried_and_preserves_existing_files (test_neural_audio.GeneratorContract.test_ffmpeg_failure_is_not_retried_and_preserves_existing_files) ... FAIL test_interruption_preserves_existing_files_and_cleans_temporary_data (test_neural_audio.GeneratorContract.test_interruption_preserves_existing_files_and_cleans_temporary_data) ... ERROR test_invalid_pcm_never_reaches_publication (test_neural_audio.GeneratorContract.test_invalid_pcm_never_reaches_publication) ... ERROR test_publication_failure_preserves_existing_files (test_neural_audio.GeneratorContract.test_publication_failure_preserves_existing_files) ... ERROR test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests (test_neural_audio.GeneratorContract.test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests) ... test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests (test_neural_audio.GeneratorContract.test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests) (entries={'file': 'intro.wav', 'text': '안내 문장'}) ... ERROR test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests (test_neural_audio.GeneratorContract.test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests) (entries={'file': 'intro.wav', 'text': '안내 문장'}) ... ERROR test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests (test_neural_audio.GeneratorContract.test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests) (entries={'file': '../escape.wav', 'text': '외부'}) ... ERROR test_timeout_is_bounded_and_preserves_existing_files (test_neural_audio.GeneratorContract.test_timeout_is_bounded_and_preserves_existing_files) ... FAIL test_transient_provider_failures_retry_cleanly_with_bounded_backoff (test_neural_audio.GeneratorContract.test_transient_provider_failures_retry_cleanly_with_bounded_backoff) ... ERROR test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) ... test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'amplitude': 0}) ... ERROR test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'amplitude': 32767}) ... ERROR test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'rate': 16000}) ... ERROR test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'channels': 2}) ... ERROR test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'width': 1}) ... ERROR test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'duration': 0.2}) ... ERROR test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'duration': 21}) ... ERROR test_valid_pcm_returns_measured_hash_bytes_duration_and_levels (test_neural_audio.PCMContract.test_valid_pcm_returns_measured_hash_bytes_duration_and_levels) ... ERROR ====================================================================== ERROR: test_all_101_are_validated_before_single_atomic_publication (test_neural_audio.GeneratorContract.test_all_101_are_validated_before_single_atomic_publication) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 78, in test_all_101_are_validated_before_single_atomic_publication result = self.run_generate() ^^^^^^^^^^^^^^^^^^^ File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 69, in run_generate return audio.generate(ENTRIES, self.output, synthesize=synthesize or self.synthesize, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 5, in generate raise NotImplementedError("neural 생성·retry·검증·원자 교체 미구현") NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 ====================================================================== ERROR: test_atomic_exchange_keeps_old_tree_at_staging_path (test_neural_audio.GeneratorContract.test_atomic_exchange_keeps_old_tree_at_staging_path) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 202, in test_atomic_exchange_keeps_old_tree_at_staging_path audio.atomic_publish(staged, self.output) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 13, in atomic_publish raise NotImplementedError("원자 디렉터리 교체 미구현") NotImplementedError: 원자 디렉터리 교체 미구현 ====================================================================== ERROR: test_atomic_first_publication (test_neural_audio.GeneratorContract.test_atomic_first_publication) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 211, in test_atomic_first_publication audio.atomic_publish(staged, output) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 13, in atomic_publish raise NotImplementedError("원자 디렉터리 교체 미구현") NotImplementedError: 원자 디렉터리 교체 미구현 ====================================================================== ERROR: test_edge_adapter_uses_pinned_python_prosody_timeout_and_no_shell (test_neural_audio.GeneratorContract.test_edge_adapter_uses_pinned_python_prosody_timeout_and_no_shell) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 177, in test_edge_adapter_uses_pinned_python_prosody_timeout_and_no_shell audio.synthesize_edge("한국어 ; $(literal)", path) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 17, in synthesize_edge raise NotImplementedError("pinned edge-tts 실행 미구현") NotImplementedError: pinned edge-tts 실행 미구현 ====================================================================== ERROR: test_ffmpeg_adapter_actually_decodes_mp3_to_normalized_pcm24 (test_neural_audio.GeneratorContract.test_ffmpeg_adapter_actually_decodes_mp3_to_normalized_pcm24) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 190, in test_ffmpeg_adapter_actually_decodes_mp3_to_normalized_pcm24 audio.convert_mp3(mp3, output) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 21, in convert_mp3 raise NotImplementedError("ffmpeg 변환 및 선형 레벨 보정 미구현") NotImplementedError: ffmpeg 변환 및 선형 레벨 보정 미구현 ====================================================================== ERROR: test_interruption_preserves_existing_files_and_cleans_temporary_data (test_neural_audio.GeneratorContract.test_interruption_preserves_existing_files_and_cleans_temporary_data) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 149, in test_interruption_preserves_existing_files_and_cleans_temporary_data self.run_generate(synthesize=interrupt) File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 69, in run_generate return audio.generate(ENTRIES, self.output, synthesize=synthesize or self.synthesize, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 5, in generate raise NotImplementedError("neural 생성·retry·검증·원자 교체 미구현") NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 ====================================================================== ERROR: test_invalid_pcm_never_reaches_publication (test_neural_audio.GeneratorContract.test_invalid_pcm_never_reaches_publication) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 132, in test_invalid_pcm_never_reaches_publication self.run_generate(convert=invalid) File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 69, in run_generate return audio.generate(ENTRIES, self.output, synthesize=synthesize or self.synthesize, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 5, in generate raise NotImplementedError("neural 생성·retry·검증·원자 교체 미구현") NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 ====================================================================== ERROR: test_publication_failure_preserves_existing_files (test_neural_audio.GeneratorContract.test_publication_failure_preserves_existing_files) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 155, in test_publication_failure_preserves_existing_files self.run_generate() File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 69, in run_generate return audio.generate(ENTRIES, self.output, synthesize=synthesize or self.synthesize, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 5, in generate raise NotImplementedError("neural 생성·retry·검증·원자 교체 미구현") NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 ====================================================================== ERROR: test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests (test_neural_audio.GeneratorContract.test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests) (entries={'file': 'intro.wav', 'text': '안내 문장'}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 163, in test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests audio.generate(entries, self.output, synthesize=self.synthesize) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 5, in generate raise NotImplementedError("neural 생성·retry·검증·원자 교체 미구현") NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 ====================================================================== ERROR: test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests (test_neural_audio.GeneratorContract.test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests) (entries={'file': 'intro.wav', 'text': '안내 문장'}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 163, in test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests audio.generate(entries, self.output, synthesize=self.synthesize) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 5, in generate raise NotImplementedError("neural 생성·retry·검증·원자 교체 미구현") NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 ====================================================================== ERROR: test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests (test_neural_audio.GeneratorContract.test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests) (entries={'file': '../escape.wav', 'text': '외부'}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 163, in test_rejects_incomplete_or_duplicate_or_unsafe_inventory_before_requests audio.generate(entries, self.output, synthesize=self.synthesize) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 5, in generate raise NotImplementedError("neural 생성·retry·검증·원자 교체 미구현") NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 ====================================================================== ERROR: test_transient_provider_failures_retry_cleanly_with_bounded_backoff (test_neural_audio.GeneratorContract.test_transient_provider_failures_retry_cleanly_with_bounded_backoff) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 97, in test_transient_provider_failures_retry_cleanly_with_bounded_backoff self.run_generate(synthesize=flaky) File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 69, in run_generate return audio.generate(ENTRIES, self.output, synthesize=synthesize or self.synthesize, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 5, in generate raise NotImplementedError("neural 생성·retry·검증·원자 교체 미구현") NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 ====================================================================== ERROR: test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'amplitude': 0}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 225, in test_rejects_silence_clipping_bad_format_and_abnormal_duration audio.inspect_wav(path) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 9, in inspect_wav raise NotImplementedError("PCM 품질 검사 미구현") NotImplementedError: PCM 품질 검사 미구현 ====================================================================== ERROR: test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'amplitude': 32767}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 225, in test_rejects_silence_clipping_bad_format_and_abnormal_duration audio.inspect_wav(path) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 9, in inspect_wav raise NotImplementedError("PCM 품질 검사 미구현") NotImplementedError: PCM 품질 검사 미구현 ====================================================================== ERROR: test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'rate': 16000}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 225, in test_rejects_silence_clipping_bad_format_and_abnormal_duration audio.inspect_wav(path) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 9, in inspect_wav raise NotImplementedError("PCM 품질 검사 미구현") NotImplementedError: PCM 품질 검사 미구현 ====================================================================== ERROR: test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'channels': 2}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 225, in test_rejects_silence_clipping_bad_format_and_abnormal_duration audio.inspect_wav(path) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 9, in inspect_wav raise NotImplementedError("PCM 품질 검사 미구현") NotImplementedError: PCM 품질 검사 미구현 ====================================================================== ERROR: test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'width': 1}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 225, in test_rejects_silence_clipping_bad_format_and_abnormal_duration audio.inspect_wav(path) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 9, in inspect_wav raise NotImplementedError("PCM 품질 검사 미구현") NotImplementedError: PCM 품질 검사 미구현 ====================================================================== ERROR: test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'duration': 0.2}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 225, in test_rejects_silence_clipping_bad_format_and_abnormal_duration audio.inspect_wav(path) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 9, in inspect_wav raise NotImplementedError("PCM 품질 검사 미구현") NotImplementedError: PCM 품질 검사 미구현 ====================================================================== ERROR: test_rejects_silence_clipping_bad_format_and_abnormal_duration (test_neural_audio.PCMContract.test_rejects_silence_clipping_bad_format_and_abnormal_duration) (options={'duration': 21}) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 225, in test_rejects_silence_clipping_bad_format_and_abnormal_duration audio.inspect_wav(path) File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 9, in inspect_wav raise NotImplementedError("PCM 품질 검사 미구현") NotImplementedError: PCM 품질 검사 미구현 ====================================================================== ERROR: test_valid_pcm_returns_measured_hash_bytes_duration_and_levels (test_neural_audio.PCMContract.test_valid_pcm_returns_measured_hash_bytes_duration_and_levels) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 231, in test_valid_pcm_returns_measured_hash_bytes_duration_and_levels result = audio.inspect_wav(path) ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/hermes/worktrees/find-word-v0.1.1/scripts/neural_audio.py", line 9, in inspect_wav raise NotImplementedError("PCM 품질 검사 미구현") NotImplementedError: PCM 품질 검사 미구현 ====================================================================== FAIL: test_cli_import_has_no_generation_or_filesystem_side_effects (test_neural_audio.GeneratorContract.test_cli_import_has_no_generation_or_filesystem_side_effects) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 172, in test_cli_import_has_no_generation_or_filesystem_side_effects spec.loader.exec_module(module) File "", line 940, in exec_module File "", line 241, in _call_with_frames_removed File "/home/hermes/worktrees/find-word-v0.1.1/scripts/generate_audio.py", line 27, in source = subprocess.check_output([ ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/hermes/.local/share/uv/python/cpython-3.11.16-linux-x86_64-gnu/lib/python3.11/unittest/mock.py", line 1124, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/hermes/.local/share/uv/python/cpython-3.11.16-linux-x86_64-gnu/lib/python3.11/unittest/mock.py", line 1128, in _mock_call return self._execute_mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/hermes/.local/share/uv/python/cpython-3.11.16-linux-x86_64-gnu/lib/python3.11/unittest/mock.py", line 1183, in _execute_mock_call raise effect AssertionError: import 실행 금지 ====================================================================== FAIL: test_exhausted_provider_failure_preserves_existing_files_and_redacts_secrets (test_neural_audio.GeneratorContract.test_exhausted_provider_failure_preserves_existing_files_and_redacts_secrets) ---------------------------------------------------------------------- NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 111, in test_exhausted_provider_failure_preserves_existing_files_and_redacts_secrets with self.assertRaisesRegex(RuntimeError, "target-1.wav.*3") as failure: AssertionError: "target-1.wav.*3" does not match "neural 생성·retry·검증·원자 교체 미구현" ====================================================================== FAIL: test_ffmpeg_failure_is_not_retried_and_preserves_existing_files (test_neural_audio.GeneratorContract.test_ffmpeg_failure_is_not_retried_and_preserves_existing_files) ---------------------------------------------------------------------- NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 138, in test_ffmpeg_failure_is_not_retried_and_preserves_existing_files with self.assertRaisesRegex(RuntimeError, "intro.wav.*변환"): AssertionError: "intro.wav.*변환" does not match "neural 생성·retry·검증·원자 교체 미구현" ====================================================================== FAIL: test_timeout_is_bounded_and_preserves_existing_files (test_neural_audio.GeneratorContract.test_timeout_is_bounded_and_preserves_existing_files) ---------------------------------------------------------------------- NotImplementedError: neural 생성·retry·검증·원자 교체 미구현 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/hermes/worktrees/find-word-v0.1.1/tests/python/test_neural_audio.py", line 123, in test_timeout_is_bounded_and_preserves_existing_files with self.assertRaisesRegex(RuntimeError, "intro.wav.*3"): AssertionError: "intro.wav.*3" does not match "neural 생성·retry·검증·원자 교체 미구현" ---------------------------------------------------------------------- Ran 16 tests in 0.633s FAILED (failures=4, errors=20)