Conversation
|
Checked against current main/v0.1.2. This PR should not be merged as-is: it is now conflicting, and its blocked "Local catalog required" flow would regress the current creator-approved local preparation path (transcribe-bilingual / MLX Whisper) that builds the source-digest-bound catalog inside the app workspace. Current main also searches the newer .reelbrain/desktop/sources/ catalog before the historical dogfood layout, so the proposed search-path guidance is incomplete. The relevant current contracts pass in test_unprepared_source_requires_transcription_approval and test_korean_catalog_requires_contextual_translation_approval_then_unblocks_fanout. Closing as superseded by v0.1.2; thanks for identifying the original misleading state. |
|
Correction: I closed this PR prematurely after evaluating it only against the current implementation, without confirming the intended product direction. That was my mistake. I have reopened it. I am re-evaluating the local-catalog guidance and MLX Whisper dependency against the stakeholder requirement before proposing a conflict-safe integration into current main. |
Summary
Verification
uv run pytest tests/test_desktop_runtime.py::test_unprepared_source_requires_transcription_approval -q— 1 passednpm run buildindesktop/— passedpython3 -m py_compile reelbrain/fanout.py tests/test_desktop_runtime.py— passedgit diff --check— passedExisting unrelated test failures
test_renders_centered_blurred_bilingual_short_with_exact_textbecauseRuntimeGuardcallsPath.exists()on a long FFmpeg filter string (OSError: File name too long)discovers_creator_review_outputsandpreflight_is_local_and_detects_audio_videoThis PR does not add catalog import or transcription execution; it only makes the existing fail-closed boundary actionable and accurate.