軌道修正C-7反証(8)(9)是正: G-EDIT-TRIM-Eの検証を恒真式から実測ベースへ作り直し - #101
Merged
Merged
Conversation
着手前の調査で、G-EDIT-TRIM-B/Cが凍結しているMFCC+DTW検証はこのリポジトリの全履歴・ 全ブランチのどこにも実装されたことが無いと判明した(全オブジェクトを走査して確認。 criteria本文の数値はroadmap散文1箇所にしか存在せず、コード・fixture・evidenceの いずれにも無い)。同様にG-EDIT-TRIM-Eも一度も実行されたことが無かった(verifyCmd無し、 テストにも一切登場しない)。反証(1)(2)(3)はマッチャーの新規実装とfixture再合成を要する 大規模作業と判明したため、まず反証(8)(9)(TRIM-Eの全面作り直し)を完結させ、(1)(2)(3)は 次回セッションへ申し送る。 反証(8)(恒真式): 旧verifyは.assの表示中央フレームをOCRするが、.assはremapWords(検証 対象そのもの)の出力から生成されffmpegが焼くのも同じ.assのため、remapWordsがどう間違って も両辺に同じ誤りが乗る。実測: 字幕を一律+0.5秒ずらした偽物が旧条件を4行中4行合格した。 反証(9)(karaoke既定との矛盾): 出荷既定のkaraokeスタイルは1語ごとにDialogueイベントを 出すがテキストは常に行全体(現在語だけ色変え)で次のイベントでも出続けるため、旧条件 「表示終了+0.2秒後は読めない」は正しい実装でも4行中2行が不合格になっていた。さらに 最後の行は常にクリップ終端で終わるため+0.2秒後のフレームがどのスタイルでも存在しない。 是正: 比較相手を.assから出力音声そのものへ変更した。発話開始時刻はremapWordsからも keepスパンの再計算からも導かず、出力音声のRMSエンベロープ(10ms窓・ピーク比5%閾値・ 150ms結合ギャップ)から独立に測る。「表示終了+0.2秒後は読めない」条件はkaraokeで原理的に 成立しないため廃止し、受入事実を1つに絞った(AGENTS.md「1葉=1事実」)。新テスト video-shorts/tests/trim-caption-sync-check.mjsを新設し、package.jsonのtestチェーンへ登録。 basis-reviewerに2回通した。1回目で(a)「探り済み」の記録(do-nothing fakeを当てた結果)が 実測と食い違う(4語中3語→実際は4語中4語不合格)、(b)許容誤差±0.3秒(旧ASR比較時代の値の そのまま流用)では字幕が一律+0.10〜+0.29秒ずれる偽物を検出できない(偽の緑)、の2件の 反証を受けた。両方を実測しながら是正: 記録を実測値へ訂正、許容誤差をRMS法自体の実測 誤差(0.038秒・決定的で3回とも同一値)の約2.1倍である±0.08秒へ締め、その攻撃を検出する 対照Cを追加。2回目のレビューで反証なしを確認した。TRIM-Eはcriteria再凍結のみに留め、 done化はしていない(本人採点の禁止。independent-verifierまたはCIでの実行結果を見てから 次回判断する)。 docs/failures.mdに、調査エージェントの要約をそのまま「探り済み」の証拠として転記した 今回の失敗と教訓を追記した。meta.next/meta.handoffをこのセッションの内容へ更新した。 Co-Authored-By: Claude <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
rahiseko-alt
marked this pull request as ready for review
August 12, 2026 12:43
rahiseko-alt
pushed a commit
that referenced
this pull request
Aug 12, 2026
meta.next/handoffの是正コミットが「C-7は全件[x]済み」と案内する一方、GOAL.detail 本体のC-7チェックリスト項目は[ ]未チェックのまま旧い「未処理5件」の記述が残って いた。(8)(9)(PR #101)・(1)(2)(3)(PR #102)の反映を記録し[x]へ更新した。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018MAUag1h71G7iuEjp4hz9Y
github-actions Bot
pushed a commit
that referenced
this pull request
Aug 12, 2026
* 軌道修正C-7 反証(1)(2)(3)是正: TRIM校正素材の作り直しとB/Cのsubsequence DTW再実装 反証(2)(3)是正のためcalibration.flac/jsonを作り直した(index6をあのー→なんか、 index7をこんにちは→はいへ差し替え)。語4つがすべて異なる語になり、フィラー最長が 語最短を上回るため単純な長さヒューリスティックでは分離できない構成にした。 反証(1)(等長窓スライドDTWがフィラー音声の75〜90%残置を検出できない構造上の欠陥) 是正のため、G-EDIT-TRIM-B/Cの照合方法を開始・終了位置自由のsubsequence DTWへ 全面作り直した(video-shorts/tests/trim-filler-match-check.py、numpyのみで実装)。 判定対象の出力音声はvideo-shorts/tests/trim-filler-audio-helper.mjsが本物の buildTrimFiltersを呼んで作る。 TRIM-A/DはSHA・数値参照の追随更新のみ。関連するmeta.basisChangesを4件追記。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018MAUag1h71G7iuEjp4hz9Y * basis-reviewer指摘の3件を是正: TRIM-Bの範囲を実測どおりに絞り、TRIM-Cへ語脱落の実行記録を追加 反証1(sufficient): TRIM-Bのcriteria.textが「75%以上の残置も含めて含まれていない」と無条件に 書いていたが、verifyが実測していたのは0%と75%/90%(2区間のみ)だけだった。フィラー4区間× 25〜70%を実測すると検出境界が50〜65%の間でフィラーごとに揺れ、非単調な区間もあると判明。 受入事実を「65%以上は必ず検出される(4区間×3水準で実測)。25〜64%は対象外」へ絞った。 反証2(probed): TRIM-Cに「語が丸ごと消えた壊れた実装」を実際に落とせることを示す実行記録が 無かった。trim-filler-match-check.pyへ語4区間それぞれを丸ごと欠落させる対照テストを追加。 反証3(sufficient): G-EDIT-CAPTION-Dのdetailが「index1/7はこんにちは」という、今回のfixture 変更で誤りになった記述のまま残っていた。index1のみに修正。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018MAUag1h71G7iuEjp4hz9Y * basis-reviewer2回目指摘の是正: fixture作り直しに伴う総尺11.402812秒の記述漏れを解消 G-EDIT-TRIM-E.criteria[0].verifyとG-EDITOR.detail(素材TV/素材Qの定義)が、 2026-08-12のcalibration.flac/json作り直し後もPR-1時点の実測長11.402812秒を 参照したままだった。実測値11.052517秒へ更新し、素材Qの連結式(5×11.052517= 55.262585秒)・末尾無音の長さ(4.737415秒)も追随して直した。日付つきの過去の 是正記録(2026-08-11 C-14等)はそのまま残し、旧値がいつの値だったか明記した。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018MAUag1h71G7iuEjp4hz9Y * basis-reviewer3回目指摘の是正: meta.next/handoffの更新漏れとコメント残骸を解消 meta.next/meta.handoff.done[0]が、既に完了した(1)(2)(3)是正をまだこれからの 作業として案内し続けていた(3コミット分の更新漏れ)。本セッションの実施内容・ トラブル・次回申し送りへ更新した。trim-plan-check.mjs:47の旧尺コメント(11.403) も新尺(11.053)へ修正した。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018MAUag1h71G7iuEjp4hz9Y * basis-reviewer4回目指摘の是正: GOAL.detailのC-7チェックリスト項目をmeta.nextと整合させる meta.next/handoffの是正コミットが「C-7は全件[x]済み」と案内する一方、GOAL.detail 本体のC-7チェックリスト項目は[ ]未チェックのまま旧い「未処理5件」の記述が残って いた。(8)(9)(PR #101)・(1)(2)(3)(PR #102)の反映を記録し[x]へ更新した。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018MAUag1h71G7iuEjp4hz9Y --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
G-EDIT-TRIM(無音・言い淀みの自動カット)に残っていた軌道修正チェックリストC-7の反証14件のうち、未処理だった5件について調査した結果、重要な事実が判明しました。G-EDIT-TRIM-B/Cが凍結しているMFCC+DTW検証方法は、このリポジトリの全履歴・全ブランチのどこにも実装されたことがありません(全オブジェクトを走査して確認。criteria本文の数値「10.022」等はroadmap散文1箇所にしか存在せず、コード・fixture・evidenceのいずれにもありません)。同様にG-EDIT-TRIM-Eも一度も実行されたことがありませんでした(verifyCmdが無く、テストにも一切登場しない)。反証(1)(2)(3)(B/Cのマッチャー新規実装・fixture再合成)は想定より大きな作業のため、今回は反証(8)(9)(TRIM-Eの全面作り直し)を完結させ、(1)(2)(3)は次回セッションへ申し送ります。
このPRでやったこと
反証(8)(恒真式)
旧verifyは、焼き込みに使った
.assの表示中央フレームをOCRで読む方式でした。しかし.assはremapWords(検証対象そのもの)の出力から生成され、ffmpegが焼くのも同じ.assのため、remapWordsがどう間違っても両辺に同じ誤りが乗ります。実測: 字幕を一律+0.5秒ずらした偽物が旧条件を4行中4行合格しました。反証(9)(karaoke既定との矛盾)
出荷既定の
karaokeスタイルは1語ごとにDialogueイベントを出しますが、テキストは常に行全体(現在語だけ色変え)で次のイベントでも出続けます。旧条件「表示終了+0.2秒後は読めない」は、正しい実装でも4行中2行が不合格になっていました。さらに最後の行は常にクリップ終端で終わるため、+0.2秒後のフレームがどのスタイルでも存在しません(反証の指摘には無かった追加欠陥)。是正
比較相手を
.assから出力音声そのものへ変更しました。発話開始時刻はremapWordsからもkeepスパンの再計算からも導かず、出力音声のRMSエンベロープ(10ms窓・ピーク比5%閾値・150ms結合ギャップ)から独立に測ります。「表示終了+0.2秒後は読めない」条件はkaraokeで原理的に成立しないため廃止し、受入事実を「字幕の表示開始が実際の発声時刻と一致する」の1つに絞りました(AGENTS.md「1葉=1事実」)。新テスト
video-shorts/tests/trim-caption-sync-check.mjsを新設(9 PASS/0 FAIL)、package.jsonのtestチェーンへ登録しました。basis-reviewerに2回通しました
1回目のレビューで、
の2件の反証を受けました。両方を実測しながら是正(記録を実測値へ訂正、許容誤差をRMS法自体の実測誤差0.038秒の約2.1倍である±0.08秒へ締め、その攻撃を検出する対照Cを追加)し、2回目のレビューで反証なしを確認しています。
G-EDIT-TRIM-Eはcriteria再凍結のみに留め、done化はしていません(本人採点の禁止。independent-verifierまたはCIでの実行結果を見てから次回判断します)。docs/failures.mdに、調査エージェントの要約をそのまま「探り済み」の証拠として転記してしまった今回の失敗と教訓を追記しました。スコープ外(次回セッションへ申し送り)
G-EDIT-TRIM-B/Cの検証をMFCC+DTWでPython+numpy新規実装し、calibration.flac/calibration.jsonを再合成する必要があります(影響範囲・espeak-ngの再現性確認・CI追加要件はmeta.nextに詳細を記録済み)。G-EDIT-MOSAIC-UI(凍結中)・STAGE-2(frozen)には一切触れていません。テスト
Generated by Claude Code