@galda/cli 0.10.16 → 0.10.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CLAUDE.md CHANGED
@@ -5,7 +5,14 @@
5
5
  ## テスト(Masa指示 2026-07-03・必須)
6
6
 
7
7
  - `毎回、実装したものにはテストを書いて、実行する`。
8
- - engine/ の変更 → `node --test 'engine/test/*.test.mjs'` が緑になるまで完了と言わない。
8
+ - engine/ の変更 → `node --test --test-concurrency=1 'engine/test/*.test.mjs'` が緑になるまで完了と言わない。
9
+ - 🔴 **`--test-concurrency=1` は必須**(Masa報告のカオス調査で発見・2026-07-16)。既定(CPUコア数)だと
10
+ 58ファイルが同時に実サーバを立ててポートを奪い合い、**同じコードで赤が毎回入れ替わる**
11
+ (実測: 1回目=2件赤 → 2回目=別の4件赤。`multi-user-server` はサーバが起動せず18msで全滅)。
12
+ 直列なら **527 pass / 1 fail / 1 skip** で安定し、所要時間もほぼ同じ(約102秒)。
13
+ **「テスト緑」がコードの状態でなく運を報告している状態を放置しない**=規律の土台。
14
+ - 既知の赤1件=`persist-failure`(full-disk resilience)。**素の `origin/main` でも落ちる**(`fix/persist-log-disk-full` が未マージ)。
15
+ 自分の変更のせいかは、素の main と比べて判定する。
9
16
  - 新しいロジックは可能な限り純関数として `engine/lib.mjs` 等に切り出し、`engine/test/` にテストを追加する。
10
17
  - テストが書けない変更(純UI等)は、その理由と手動確認手順を報告に書く。
11
18
 
@@ -21,6 +28,28 @@
21
28
  - `コミットしない`(git 操作は Manager 側の仕事。workerは編集のみ)。
22
29
  - 報告は日本語で短く:何を変えたか・どのファイルか・人間が確認すべき点。
23
30
 
31
+ ## 並行開発(Masa指示 2026-07-16・必須)
32
+
33
+ - **`engine/lib.mjs` `engine/server.mjs` `app/index.html` を触る作業は、`lane start` でレーンを取ってから始める**。
34
+ ```
35
+ cd ~/agent-manager && node tools/lane.mjs start fix/<topic> --hot engine|app|none
36
+ ```
37
+ 取れなければ**その場で落ちる**=他のエージェントがそのレーンにいる。待つか `--hot none`(cold作業)へ振る。
38
+ - **並行の上限は `hot 2 + cold N` 本**(`engine`=lib+serverで1レーン・`app`=index.html・cold=それ以外)。
39
+ 上限が2なのはプロダクトが3つの巨大ファイルに入っているから。上げる道はファイル分割だけ(CTOの仕事)。
40
+ - **PRの前に必ずローカルで動かす**(Masa指示 2026-07-16・スキップ不可):
41
+ ```
42
+ node tools/lane.mjs verify --run "<実際に走らせるコマンド>" --observed "<before → after を具体的に>" [--evidence <path>]
43
+ ```
44
+ **自己申告ではなく `lane` がコマンドを実行して transcript を残す**(ワーカーの申告を信じない=プロダクトの原則)。
45
+ 「動いた」「works」は機械が弾く。**ユーザーに見える差分は `--evidence`(人が開けるファイル)が必須**。
46
+ **テスト緑はゲートではない**。動かして見たかどうかがゲート。
47
+ - 終わりは **`lane finish`**(テスト+**検証記録**+PR確認+ロック解放)。**検証もPRも無いと成功しない**
48
+ =「見込みで完了と言う」を止める。
49
+ - 全文=`docs/RELEASE-WORKFLOW.md` の「並行開発の運用」。
50
+ > 7/16 に open PR 9本中8本がコンフリクトした。原因はエージェントの数でなく、旧ルール
51
+ > 「面/ファイルを散らす」が**構造上守れなかった**こと。守れないルールは他のルールまで無効化する。
52
+
24
53
  ## トークン規律(Masa指示 2026-07-12・全レーン必読)
25
54
 
26
55
  - MUST要件=`トークンを過度に使わない`(初の課金条件シグナル)。対話セッションは次を守る。詳細=`docs/token-discipline.md`。