Skip to content

MVV 改訂の兆候の集計が、worktree で打った判定の記録を数えず「判定できない」を 0 件と出す #2603

Open

Description

@takemi-ohama

何が起きたか

project-mvv.py signals が MVV 版 5 のもとで「判定できない: 0 件(閾値 5)」と出す。~/.local/state/ndf/mvv-gate.jsonl には、同じ版の sha256 のもとで verdict が unknown の行が 12 件ある。

原因

plugins/ndf/scripts/lib/project_mvv_signals.py の _collect_gate_rows は、承認済みのとき repo が主ディレクトリ(mvv_repo_key)か空の行だけを数える。設計のプランの判定は worktree の中で打たれ、記録の repo が /work/ai-plugins/.worktrees/design/issue-<N> になる(同じ版の 34 行のうち 25 行)。覆しの記録(project-mvv-signals.jsonl)は主ディレクトリのキーで書かれるため、こちらは数えられている。

直す向き

記録の repo を書く側で worktree を主ディレクトリへ解くか、集計の側で worktree のパスを同じリポジトリとして数える。

由来

MVV 版 5 の覆し 11 件の根本原因の切り分け(2026-11-06)。

追加の事実(スプリント lcarul2-4 の振り返り、2026-11-07)

  • MVV 版 6 のもとでも同じ数え落ちが起きている。mvv-gate.jsonl の unknown の 11 行のうち 10 行は repo が worktree で、signals は 1 件と出す
  • メインディレクトリの .ndf/mvv.md が承認の本文と 1 字でも違うと(確認した例: 末尾の空白 1 行)、状態は mismatch になり、signals は「MVV なし」と出す。この状態では版と承認の日時で絞らないため、覆しは全期間の 37 件と出る。items の改訂の提案も空になる。正しい値は 5 件(閾値 3)で、提案が出る状態だった

由来: #2505 (comment)

同じ数え落ちの別のリポジトリでの実測(volareinc/carul、2026-11-06)

版 8・承認の日時の後の mvv-gate.jsonl の行 44 のうち unknown は 12 行で、repo が主ディレクトリの行は 3 行だった。unknown の依頼の数は 11 で閾値 5 を超えていたが、signals は 3 件と出した。unknown_streak も _collect_gate_rows の結果を使うため、同じく少なく出る。

今の状態(2026-11-07、develop fc7e794)

~/.local/state/ndf/mvv-gate.jsonl の devbasex/ai-plugins の行のうち、unknown は作業ツリーの repo で 43 行、主ディレクトリで 10 行ある。project-mvv.py signals は「判定できない: 4 件」と出す。_collect_gate_rows(plugins/ndf/scripts/lib/project_mvv_signals.py)は承認済みのとき repo が主ディレクトリのキーか空の行だけを数える。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingout-of-scopequality品質向上の Issue(棚卸しの品質の枠。.ndf/backlog.json の quality)

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions