Skip to content

.ndf/project.json の計測値(ファイル数・テストの時間)が実行のたびに書き戻され、追跡ファイルを汚す → 宣言と計測値を分ける #2010

Open

Description

@takemi-ohama

何を見つけたか

.ndf/project.json は追跡ファイルだが、解析(project-decl.py)が計測値を書き戻す。languages[].files(ファイル数)と test_duration.measured(直近の実行の中央値・CI の run 番号)は実行のたびに変わり、主ディレクトリに差分が残る。

2026-10-15 の主ディレクトリの差分の例: files 633 → 841、test_duration.measured に ndf-record の 399.2 秒を追加し、CI の run を 36284835140 → 38078028298 へ置き換えた。

SessionStart の案内が「主ディレクトリに追跡対象の未コミット変更が 1 件」と毎回出し、開発の変更と見分けられない。

どこで見つけたか

メインディレクトリの .ndf/project.json。書き手は project-decl.py(project_lib/model.py・measure_ci.py)。#2008(10.17 系の整理)の文書の PR を作る中で見つけた。

なぜこの変更の範囲外なのか

#2008 の文書の PR は文書だけを動かす。これは仕組み(スクリプト・Skill の手順)の変更で、モードも検証も別になる。

直さないと何が起きるか

SessionStart が毎回「主ディレクトリに追跡対象の未コミット変更」と案内し、本物の取り残しを見落とす。誤ってコミットすると計測値の差分が Pull Request に混ざる

起票者の推定

宣言(人が決める値)と計測値(実行で変わる値)を分け、計測値を追跡しない場所(.ndf/tmp/ か状態ディレクトリ)へ移す

直す方向

宣言(人が決める値)と計測値(実行で変わる値)を分ける。計測値は追跡しない場所(.ndf/tmp/ か状態ディレクトリ)へ書く。

受け入れ条件

  • 解析とテストを流しても .ndf/project.json に差分が出ない
  • テストの時間の見積り(lib/test_strategy.py)は計測値を今までどおり読める

由来

issue #2008

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions