藤本さん directive: 「順番にお願い致します」 6 items sequential。 strict 「1 item = 1 STEP」 で 実行すると 各 commit 10-15 min の pre-commit hook cost が 総計 30-45 min となり session budget 圧迫。 Items #1+#2+#3 は 主要 domain (radar/scorer) で 個別 STEP land (STEP 2204/2205/2206)、 Items #4+#5+#6 は 全 infrastructure domain semantic 関連あり = batching 適用、 「順番」 は 保持 (残 3 items が 順番 通り 単一 STEP に land)。
File: scripts/research-radar/daily-radar.ts (+5 line、 fetchers array 追加)
{ name: 'Refresh watchlist', path: path.join(SCRIPTS_DIR, 'refresh-watchlist.ts') },
Daily-radar 稼働時 自動実行、 14 tracked paper × 3s = ~42s 追加 (daily-radar 全体 ~15 min の 5% 未満)、 tracked paper 撤回状態変化 (Niu 型) 自動検出 → collatz-watch.json auto-update。
File: scripts/git-atomic-commit.sh (+13 line)
fm addressed: fm-atomic-commit-only-rejects-untracked-files (STEP 2203/2204 emerge)
if [ "$force" -eq 0 ]; then
untracked_to_add=()
for f in "${files[@]}"; do
if [ -f "$f" ] && ! git ls-files --error-unmatch "$f" >/dev/null 2>&1; then
untracked_to_add+=("$f")
fi
done
if [ ${#untracked_to_add[@]} -gt 0 ]; then
git add -- "${untracked_to_add[@]}"
fi
fi
Effect: STEP 2203-2206 で 私 が 明示 pre-add していた workflow が unnecessary に、 直接 scripts/git-atomic-commit.sh -F msg.txt -- new_file.md で 動作。
File: .githooks/pre-commit (attribution check section 拡張)
fm addressed: fm-pre-commit-hook-slow-find-memory-md (STEP 2203/2204 emerge: pre-commit hook 5-6 min 停止)
Root cause: attribution check の nested loop 内 find "$repo_root" -type f -name "$base" が per-reference で 全 repo scan、 Windows filesystem 経由で 極遅、 30+ references × 5-6 min = 分単位 total wait。
Fix: basename cache を ONCE per commit で build、 nested loop 内 は grep lookup:
attribution_basename_cache=$(mktemp)
trap 'rm -f "$attribution_basename_cache" ...' EXIT
find "$repo_root" \
\( -name node_modules -o -name .git -o -path '*/notepad/entries' \) -prune -o \
-type f \( -name '*.md' -o -name '*.lean' -o -name '*.ts' \) -print > "$attribution_basename_cache"
# inner loop (was: find call per reference):
found=$(grep -E "/${base}$" "$attribution_basename_cache" | ...)
Complexity change: O(N × full_find) → O(1 × full_find + N × string_grep)
| fm | Item | Fix layer |
|---|---|---|
fm-atomic-commit-only-rejects-untracked-files | #5 | script auto-detect + git-add |
fm-pre-commit-hook-slow-find-memory-md | #6 | basename cache one-shot |
--force mode 挙動 未変更 (既 git-add -f 済)、 non-force mode のみ 対象node_modules + .git + notepad/entries を prune、 その他 path は 全 scan (candidate 削減 は 未来 tuning)[via 藤本さん explicit go 「順番にお願い致します」 6 items sequential #4+#5+#6 batched / execute: rei-aios-59]