@tyhld/conductor 0.12.79 → 0.12.80

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/README.md CHANGED
@@ -358,6 +358,12 @@ shellcheck -x --severity=warning scripts/*.sh sales-template/*.sh sales-template
358
358
  | `version` が公開 npm の `latest` より**新しい** | build → テスト → `npm publish`(公開 npm へ) |
359
359
  | 同じ・古い | **何もしない**(版を上げ忘れても事故りません) |
360
360
 
361
+ **版を上げる必要があるのは、配布物を変えたときだけです**(便 fb248f6e)。
362
+ 配布物=`package.json` の `files` に載る物(`README.md` も含む)と、`dist` の元(`src`・`tsconfig.json`)、`package.json`・`package-lock.json`。
363
+ `docs/`・`test/`・`.github/` だけの変更は版を上げずに緑で合流でき、合流しても公開は「出しません」で何も起きません。
364
+ 配布物を変えたのに版がそのままだと、試験(`test/release-public-npm.test.ts` の「★空振り確認」)が赤で止めます。
365
+ くらべる相手は公開 npm の `latest` を出したコミット(`gitHead`)で、それが確かめられないときは安全側(版上げを求める)に倒れます。
366
+
361
367
  ★**人が `npm publish` を打ってはいけません。**
362
368
 
363
369
  <details><summary>なぜ手で打たないのか(実測 2026-09-04)</summary>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyhld/conductor",
3
- "version": "0.12.79",
3
+ "version": "0.12.80",
4
4
  "description": "采配くん管制の見守りアプリ(conductor-agent)。各PCで常駐し、中央(devlog-tracker)へ定期的に生存報告(heartbeat)を送る常駐CLI。",
5
5
  "type": "module",
6
6
  "bin": {
@@ -152,7 +152,9 @@ description: 采配くんの便(プロンプト末尾に CONDUCTOR_JOB:<id>
152
152
  - **秘密のファイルを読む・引数に名前を書く**(`cat ~/.npmrc`・`--exclude=.npmrc`)→ 止まる。**中身は見に行かない。** 差分は対象を名指しで `git diff -- src docs`、全体で見たいときは除いて `git diff -- . ':(exclude).npmrc'`(`git diff` は中身を読み出す動詞ではないので、この形は通る・鉄則1)。
153
153
  - **標準エラーの捨て先を、あとで文字列の途中に差し込む変数の中に入れる**(`S="$(何か 2>/dev/null)"` と置き、別の行で `"repos/<その変数>/branches/…"` のように使う)→ 止まる。番人は変数を字面で展開してから測り直すので、捨て先が `/dev/null` ではなく**その後ろのパスが貼り付いた別の名前**として取り出され、`/dev` 直下への書き込みに見える(実測 2026-09-27。鉄則7の塊がこれで6便すべて止まっていた)。**文句を捨てる所を、小さな関数1か所に寄せる。**
154
154
  - 通る例: 先に `q() { "$@" 2>/dev/null; }` を置き、以後は `S="$(q 何か)"` と書く(★変数の値に捨て先が入らないので、どこに差し込んでも止まらない)。
155
- - **中身が変わる場所を指す再帰の `rm`**(`rm -rf "$DIR/x"`・`rm -rf build/*` のように変数や `*` を含む)→ 止まる。**消す先を実在のパスで名指しする**(例 `rm -rf /tmp/claude-1000/作業名`・鉄則13)。
155
+ - **`-f` 付き、または中身が変わる場所を指す再帰の `rm`**(`rm -rf`・`rm -fr`・`rm -r -f`・`rm -R`・`rm --recursive`/`rm -r "$DIR/x"`・`rm -r build/*` のように変数や `*` を含む)→ 止まる。`-f` 付きは配布している禁止の一覧(現場の `.claude/settings.json` の deny)で**必ず**止まる(番人より先に効く=消す先が作業ファイルでも通らない・便 fb248f6e)。変数・`*` は番人が止める。**`-f` を付けず、消す先を実在のパスで名指しする**(`/tmp/claude-1000/` の下・鉄則13)。★止められたら**別の消し方を探さず**(`find -delete`・`python -c` 等に回らない)、消せなかった場所を報告に書く(鉄則4)。
156
+ - 通る例: `rm -r /tmp/claude-1000/作業名` / `rm -r node_modules/.tmp-作業名`(★`-f` を付けない・自分で作った物だけ)
157
+ - 止まる例: `rm -rf /tmp/claude-1000/作業名`(禁止の一覧)/ `rm -r "$DIR/x"`・`rm -r build/*`(番人)/ `rm -r .git`・`rm -r .claude/hooks`・`rm -r .tyhld`(番人=相対パスでも消せない)
156
158
  - **作業場所が変数のままの `git push`**(`git -C "$DIR" push`・行き先のブランチを確かめられない形)→ 止まる。**リポの中で、ブランチを名指しして** `git push -u origin <作業ブランチ名>`。
157
159
 
158
160
  ## 便の終え方