3 永久原則

multi-tab collision の 恒久対策 — 2026-09-02 藤本さん directive の 永続化

STEP 1672 2026-09-02 rei-aios main multi-tab safety

2026-09-02 STEP 1660 の 事案 (私 の kakeya arc と 別 tab の NNUE opening book が 同 STEP 番号 を claim → git-mv rename で STEP 1662 に 訂正) を 直接根因として、 藤本さんが 出した directive:

「1 タブに付き、 新たなコミット&プッシュ空間を作る + 実装完了ごとに 単一 append-only notepad に 永久記録 + STEP 番号 collision の 恒久防止」

本 protocol は 3 原則 (A / B / C) で 構成され、 .githooks/scripts/ に 実装される 永続的 safety net。

ASTEP 番号 collision 事後検知

HOOK · commit-msg

.githooks/commit-msg

commit-msg hook が commit message 冒頭行 の STEP N を抽出 → git log --all --grep で 既 commit hit を 検知 → collision なら abort。

Bypass (corrigendum / rename / amend 時のみ):

STEP_COLLISION_BYPASS=1 git commit ...

Origin = STEP 1660 事案。 scripts/claim-step.ts counter が git 実使用値と drift しても、 hook で 最終確認。

B1 tab = 1 worktree

SCRIPT · tab-worktree.sh

scripts/tab-worktree.sh

新 tab は 独立した git worktree + branch を .claude/worktrees/step<N>-<slug>/ に生成。 STEP claim も自動化。

# 新 tab 起動
scripts/tab-worktree.sh open my_arc_slug
cd .claude/worktrees/step<N>-my_arc_slug
# 実装 + test + commit + push
git push -u origin worktree-step<N>-my_arc_slug

# 完了 (main worktree から)
cd C:/Users/user/rei-aios
scripts/tab-worktree.sh close my_arc_slug

.git/index race (shared lock file) は worktree 分離で 物理的解消。 git-atomic-commit.sh は 引き続き 併用推奨 (main worktree の 単独 commit 時用)。

CNotepad 永久 append-only log

FILESYSTEM · docs/notepad/

docs/notepad/<YYYY-MM-DDTHH-MM>_STEP-<N>_<slug>.md

実装完了ごとに 1 file 追加。 上書き / 削除 禁止、 unique filename で multi-tab collision 不可能。 site mirror public/tools/notepad/entries/ は pre-commit hook Section 5 が auto-copy + manifest 再生成。

entry 内容 (rich self-contained record):

参照:

MEMORY.md hooks (inbox pattern) との併存

関連 STEP

Honest scope