STEP 2192 · judgment-queue-length promote · 2026-09-21 · rei-aios-ff
判定キュー長 計器 v0.1.1 — scripts/ promote
STEP 1994 feedback #2 (rei-aios-fa、 2026-09-13) 起源: 「discipline の 穴 ではなく、 計測 の 空白」。 藤本さん judgment 待ち items の 累積 を 見る計器 が ない = 実装スループット↑ が 判断 bottleneck↑ に 移動する drift 発生時 に 検知不能。 STEP 2191 sidecar prototype (v0.1.0 → chat-Claude(Cowork) feedback で v0.1.1 corrigendum) を scripts/judgment-queue-length.ts に 昇格、 npm run judgment-queue-length で 呼出可能化。
Attribution: [via 藤本さん directive「別 tab が 動いていない 別件 を Rei memory から 選んで 進めて」 + 「explicit go でお願い致します」 (push + promote 両方) / orig: STEP 1994 feedback #2 rei-aios-fa deposit + defer registry § (l) / v0.1.1 corrigendum: chat-Claude(Cowork) via 藤本さん paste 2026-09-21 evening]
Route: defer registry item (l) 選定 → sidecar prototype (STEP 2191 v0.1.0 `4386d6f4d`) → chat-Claude(Cowork) 3 point feedback (lock ownership + label 混同 + threshold 未較正) → corrigendum #1 (v0.1.1 `792fa01b4`) → 藤本さん explicit go → push + scripts/ promote (STEP 2192 本 page)。
Prior: STEP 2191 sidecar (data/tabs/rei-aios-ff/judgment-queue-length/) — 15 assertion self-test PASS で verify 済。
目的 + 動機
STEP 1994 feedback #2 (2026-09-13 rei-aios-fa) の 藤本さん judgment framing:
「discipline の 穴 ではなく、 計測 の 空白」。 「急がずゆっくりと」 の layer 通過判定 は 各 item ごと に 出ている が、 キュー長 そのもの を 見る 計器 が ない = 判断キュー累積 が 発生しても 検知不能。
本 tool は memory + notepad + tabs 全体 の marker 出現数 を scan し、 「今 の 累積 が どの orders of magnitude か」 を 出力。 但し threshold 判定 は 未較正 (uncalibrated) — 詳細 は 下 「Honest scope」 参照。
実装 (v0.1.1)
Marker patterns (priority: revoked > resolved > emerged > pending)
| kind | patterns |
| pending | 藤本さん judgment 待ち / explicit go 待ち / approve/deny 待ち / 藤本さん judgment 依頼 / 藤本さん directive 依存 / defer indefinite |
| emerged | trigger emerge / emerge signal detected / candidate emerge |
| resolved | judgment 完了 / explicit go 済 / approve 済 / 藤本さん explicit approval |
| revoked | ★ REVOKED / REVOKED / revoked 2026-... |
Reversibility heuristic (context window ±3 lines)
| category | keywords |
| irreversible | publish / deploy / delete / revert / rotation / API key / land main/origin / migration |
| reversible | prototype / draft / sidecar / feedback / audit / verify / pilot |
| unknown | 両 keyword 未 trigger or 両方 trigger |
使用例
# Human-readable report
npm run judgment-queue-length
# JSON dump
npx tsx scripts/judgment-queue-length.ts --json
# Self-test (15 assertion)
npm run test:step2192
2026-09-21 baseline (v0.1.1 canonical)
⚠ 以下の 数字 は 全て 未較正 (uncalibrated) の 計測 material です。 「判定」 ではありません。 v0.2 で state-machine 化 (open → close marker follow) を 実装するまで、 これらの count は 「量的 spectrum の 提示」 のみ に 使用。 registry hand-curated 現定義 (=2) と 単純比較 は 定義違い を 性能違い のように 見せる 誤読誘発 として 撤回 (chat-Claude(Cowork) 2026-09-21 3 point feedback accept、 STEP 2191 corrigendum #1)。 本 count 自体 が boolean 判定 の 材料 になる のは v0.2 較正後。
Totals + 2 軸 reversibility (v0.1.0 の label 混同 訂正後) UNCALIBRATED
| metric | value RAW | denominator check |
| pending | 644 UNCAL | SUM 786 ✓ (= pending + emerged + resolved + revoked) |
| emerged | 58 UNCAL |
| resolved | 71 UNCAL |
| revoked | 13 UNCAL |
| Reversibility (all kinds, denom 786) |
| irreversible | 35 UNCAL | SUM 786 ✓ |
| reversible | 338 UNCAL |
| unknown | 413 UNCAL |
| Reversibility (pending only, denom 644) |
| irreversible | 26 UNCAL | SUM 644 ✓ |
| reversible | 278 UNCAL |
| unknown | 340 UNCAL |
Threshold observation UNCALIBRATED v0.2 で 再較正 予定
⚠ 較正状態: threshold ≥15/≥25 は registry hand-curated 現定義 (=2 実 pending) 前提 で 設計 された 数値。 v0.1 raw count (marker 出現数、 historical archive 含む) と 直接比較 は 「定義違い を 性能違い のように 見せる」 誤読誘発 で 撤回。 v0.2 state-machine 化 実装後 に 較正、 それまで 本 table の 数値 は 「量的 spectrum の 提示 のみ」。
| metric | value | calibration |
| pending total (raw、 historical archive 含む) | 644 | UNCAL |
| pending irreversible (heuristic) | 26 | UNCAL |
| hand-curated registry (l) 現定義 | 2 | CALIBRATED (human) |
| calibration status (tool level) | uncalibrated — v0.2 で 較正 |
3 桁 spectrum finding: hand-curated 2 vs pending irreversible heuristic 26 vs raw pending 644。 定義軸 が 異なる (hand-curated = 実 pending curation / heuristic = keyword match / raw = marker 出現数 historical 含む) = 単純比較不能。 threshold ≥15/≥25 は hand-curated 前提 の 値、 raw に 直接適用 は 「定義違い を 性能違いのように 見せる誤読誘発」 (chat-Claude(Cowork) 指摘 accept)。 v0.2 state-machine (open → close marker follow) 実装後 に 較正。 v0.1 の 主 価値 = measurement gap の 存在 の 定量化。
Honest scope (v0.1.1)
- PENDING count = marker 出現数、 「今この瞬間の 実 pending」 ではない (historical archive も count)
- RESOLVED / REVOKED marker は 同一 file 近傍 のみ 検出、 別 file の 完了 log は 未追跡
- Reversibility 分類 は keyword heuristic、 誤分類 前提 (human review 前段 material)
- Threshold 判定 は 未較正 (
uncalibrated): v0.2 state-machine 化 後 に 較正、 v0.1.1 では boolean 判定 output 削除 済
- Time-series 未実装: 「rate ≥5/日 3 日連続」 は snapshot 1 point で 判定不能、 v0.2 daily diff DB candidate
- Reversibility 2 軸: all kinds (denom 786) と pending only (denom 644) は 別 subset、 v0.1.0 の label 混同 は v0.1.1 で codify 訂正
- Self-reference effect: 本 tool file 自体 も scan 対象、 STEP 2191/2192 notepad の marker mention も count に 寄与 (v0.2 で file mtime cutoff or scan target 除外 filter candidate)
chat-Claude(Cowork) 3 point feedback (v0.1.0 → v0.1.1 corrigendum origin)
| Point | 指摘 | fix |
| 1 | lock 所有権 verify skip = rei-aios-88 STEP 2190 commit を 中断させた 見落とし | SendMessage で peer heads-up + fm-lock-ownership-skip failure mode 記録 + STEP 2168 candidate #9 refinement 起源 |
| 2 | 分類 件数 が 総数 と 合わない (v0.1.0 で 「pending X」 label 誤り、 実は all-kinds total) | reversibilityAllKinds + reversibilityPendingOnly 2 field 分離、 SUM check 併記 |
| 3 | threshold 「超過」 表示 は 定義違い を 性能違いのように 見せる | calibrationStatus: 'uncalibrated' marker + boolean 判定 output 削除 + interpretation refine |
Meta observation (3 point 共通 pattern): 「観測 の denominator を 明示しないまま 集約 output に 移す」 drift。 未来 v0.2 discipline candidate = 「denominator を 明示 declare、 別 なら 別 field で 分離」 codify。
chat-Claude(Cowork) 3rd feedback (STEP 2192 → corrigendum #3 origin、 2026-09-22)
| Point | 指摘 | fix |
| 1 | 私 の chat message で 「rei-aios-88 STEP 2193 が 独立に held-out set emerge = priority brief accuracy の cross-tab evidence」 と 記述 = fm-n (over-claim) の 直接 実例。 実際 は 「88 STEP 2193 の fm-o」 と 「私 A-3」 の 両方 が chat-Claude(Cowork) via 藤本さん paste の 同一 source 由来、 独立 evidence ではない | Retract 「cross-tab convergence = accuracy evidence」 framing。 訂正 = 「同一 chat-Claude review source paste が 2 tab に 到達」 と 記録。 fm-source-origin-collapse (STEP 2131) の 私 side 再発 実例 として documented。 |
| 2 | 「累計 6 event 共通 pattern = 表示 と 使用目的 の 対応づけ 暗黙化 drift」 は 仮説 として 扱うべき。 6 件 全 同 reviewer 由来 = reviewer bias + confirmation bias risk (「後から 並べて 共通項 見出す」 は 当てはまりやすい) | Reframe: v0.2 discipline 「表示 の 近く に 使い方 を 書く」 根拠 を 「6 event pattern」 から MANDALA 実例 (STEP 2175 corrigendum) = 判定 のように 見える 出力 が 誤読 された 実 事例 に 差替。 discipline 案 自体 は 保持、 根拠 のみ 変更。 「6 event」 は 仮説 として 記録、 独立 reviewer 事例 累積 待ち。 |
| 3 (recommendation) | Priority brief で C (DEFERRED_INDEFINITE) 10 件 > A+B 合計 8 件 = 期限なし defer は 増え続ける、 藤本さん 帰宅 review では A 4 件 先、 C は 「閉じる / 期限付ける」 2 択 で 仕分け | Sidecar brief に ★ Recommended use section 追加: A 先 処理 + C 仕分け protocol + v0.2 「report 対象 filter」 の 3 zone (A 先 / B 中 / C 仕分け action 待ち) 具体 form |
Meta observation (本 corrigendum #3 自体 の 予防): 私 は 「共通 pattern 抽出」 の 誘惑 に また かかりうる (STEP 2131 「source origin collapse」 + 本 Point 1 「convergence over-claim」 = 「同一 source を 独立 evidence として 相互 confirm 化」 の 2 shape、 但し 2 事例 の 「共通性」 も 単一 reviewer 由来 = 未来 別 reviewer 事例 待ち)。 fm は 各 独立 事例 として preserve、 「共通 pattern」 断定 は 独立 reviewer + 独立 source の 追加 事例 emerge 後。
chat-Claude(Cowork) additional 3 point feedback (STEP 2192 → corrigendum #2 origin)
| Point | 指摘 | fix |
| 1 | 「memory 微増 = live process」 の 判定根拠 は 誤 (20 KB delta = OS 変動 の 誤差範囲)、 rule として 明文化 すると 未来 Claude が 同 pattern で 誤引用 | Lock ownership rule refine: (a) PID + command line で `git commit` verify、 (b) hook 子 process (node / bash) 稼働 verify、 (c) 複数 git.exe 時 は 「その PID が lock 保持者 か」 の 対応づけ 確認。 memory 微増 は evidence として 使用 しない。 |
| 2 | threshold 未較正 marker が 訂正 されたが、 site page の 数値 表示 と の 近接性 弱 = 較正済 値 として 読まれる risk (MANDALA 「判定 のように 見える 出力」 と 同 構図) | 各 数値 cell に UNCAL tag 併記 + baseline table 冒頭 に prominent warn callout + calibration status を 独立 column で 表示 (本 page 上 で 反映済) |
| 3 | この meter の 実 価値 = 帰宅時 の priority list 提示 (blocking → deferrable) = 件数 数える より 実用的、 「同 output を 1 回 その 目的 で 使う = v0.2 設計 の 実 material」 | data/tabs/rei-aios-ff/judgment-queue-length/prioritized-brief-2026-09-21.md に 実 triage 実行結果 land (A=blocking 4 items / B=awaiting judgment 4 items / C=deferred indefinite 10 items) + 実践 finding (v0.2 direction candidate 4 実感) |
Point 3 の 実践 finding (v0.2 設計 の 実 material): (a) A/B 分類 の 主 差 = 「peer/downstream が 止まっているか」 は marker 単独 で 出ない = v0.2 で 「blocked_by / blocks / arc_id」 field 追加 が state-machine 化 より 前段。 (b) A の 4 items 中 3 items は 「私 側 認識」 依存 = 完全 objective 化 不能、 semi-manual triage layer は permanent。 (c) C 系 (signal 待ち) は 純粋 signal-driven monitor で OK、 藤本さん 帰宅 report から 除外 candidate。 (d) B の boundary 曖昧 = 完全 objective 化 は 未来 も 難しい。
Test 結果
15 / 15 PASS — npm run test:step2192: pattern detection / kind classification / priority collision / walkDir hidden excl / .txt excl / STEP category extraction 全 assertion PASS。
v0.2 candidates (defer)
- State-machine 化: marker → close marker follow で 「open pending」 差分 抽出 (open A、 close A、 open B → open remaining = {B})
- LLM 補助 semantic classification: irreversibility を keyword ではなく context-aware で 分類
- Time-series DB:
data/judgment-queue/history-YYYY-MM-DD.json daily snapshot、 rate ≥5/日 3 日連続 detection
- Weekly CI 反映: GitHub Actions で 週次 scan + Site page 反映
- Marker literal 統一 前段 (registry deposit source 明記): 混在 marker 統一 で count 精度↑
- Threshold recalibration: v0.2 state-machine 実装後、 実 pending count と registry hand-curated の drift 実測 で threshold 再定義