Skip to content

test(autonomy): kill-switch config のパースと awk 一致を固定する (順位 410/401) - #386

Merged
aloekun merged 1 commit into
masterfrom
test/autonomy-config-parse
Aug 11, 2026
Merged

test(autonomy): kill-switch config のパースと awk 一致を固定する (順位 410/401)#386
aloekun merged 1 commit into
masterfrom
test/autonomy-config-parse

Conversation

@aloekun

@aloekun aloekun commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • kill-switch config (autonomy-config.toml[autonomy] enabled) の boolean パース edge case を Rust 側で固定した (行内コメント / 空値 / 大文字 / literal string / 別 section / section 重複 / CRLF)
  • review-request.yml の awk 実装と Rust 実装の一致を検証するテストを追加した。workflow YAML から shell 断片をその場で抽出して実行し、12 fixture で突き合わせる
  • 保証するのは等価性ではなく片側の含意 (shell が true ⇒ Rust も Some(true))。既知の乖離は shell 側が厳しい = fail-closed で、その方向自体を別テストで固定した
  • CodeRabbit レート制限の窓が直近消費に追随する観測を ADR-019 へ記録した (順位 401)
  • ADR-066 へ「呼び手は config を直読みしない」原則の唯一の例外とその検証構造を追記し、あわせて stale だった判定コアのパスを訂正した

Context

Why (順位 410): 順位 408 の修正時に手で確認した boolean パースの edge case が、テストとして残っていなかった。kill-switch は「欠損 → 停止」を不変条件にする機構 (ADR-066) なので、fail-closed に倒れることの確認が手作業のままだと次の変更で無音に壊れうる。

Why (順位 401): 2026-08-10 に PR #382 のレビューがレート制限で 3 回失敗し、告知どおりの時刻に投げても通らなかった。間に別 PR のレビューが成功しており、窓が直近消費に追随すると解釈するのが観測に整合する。ADR-072 決定 16 で自律 PR が毎晩 1 本消費するようになったため、人間の作業と競合する構造も新しい。

なぜ awk との一致検証まで入れたか: config 面の解釈は 2 実装に分かれているreview-request.yml は PR のコードを一切取得しない設計のため checkout せず API で config を読み、exe を実行できないので awk/sed で自前に解釈する。この乖離を放置すると、shell 側だけが緩くなった瞬間に kill-switch の config 面が無音で自己解除されうる。順位 410 の作業計画も「workflow の awk と Rust の解釈一致を確認できると望ましい」としていた。

Scope decision:

  • workflow が checkout しない以上、shell 実装をリポジトリ内スクリプトへ切り出して共有する解は採れない。そこで workflow YAML から断片を抽出して実行する形にした。断片を複製せず原本を読むので、workflow 側だけを編集しても検証が追随する (変数名を変えたらテストが落ちる)
  • 逆向きの乖離 (Rust が読めて shell が読めない = dotted key / [ autonomy ]) は awk が厳しい向きで fail-closed なので許容する。等価性を要求すると awk を TOML パーサに近づける改修が要り、投資対効果が合わない
  • テストは #[cfg(unix)]。当該 job は runs-on: ubuntu-latest 固定で shell 実装が動くのは unix だけであり、Windows で sh/awk の有無に応じた skip を入れると「動かなかった」と「一致した」が区別できなくなる (ADR-043)
  • ADR-066 §4 の判定コアのパス訂正は本 PR の範囲外だが、存在しないファイルを指していたのでその場で直した (共有 lib へ extract 済み)

Validation

  • cargo test --workspace: 全 crate green (lib-autonomy-policy 36 pass、うち今回追加 8)
  • cargo clippy --workspace --all-targets: 警告 0
  • WSL Ubuntu-24.04 (GNU Awk 5.2.1) で parity テスト 2 件 pass。Windows では #[cfg(unix)] により 0 件実行になるため、実 Linux で必ず走らせて確認した
  • 初回の WSL 実行は 失敗した。断片内の診断 echo の出力をテスト側が値と一緒に拾っていたためで、{ ... } >&2 で stdout を分離して解消。Windows だけで書いていたら CI で初めて発覚していた
  • pnpm lint:docs / markdownlint: 0 error
  • pre-push review (takt): verdict=APPROVE、non-blocking warning 0 件

References

Summary by CodeRabbit

  • ドキュメント

    • 無料枠のレビュー制限や自律的な変更対応に関する運用方針を更新しました。
    • 完了した調査・検証項目を計画書とタスク一覧へ反映しました。
    • 自律機能の停止に関する判定ルールと例外条件を整理しました。
  • テスト

    • 設定ファイルの真偽値、コメント、空値、不正形式などの処理を検証しました。
    • 自動処理と設定判定の結果が一貫することを確認するテストを追加しました。

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 2cc407da-a591-481e-9e5b-fc66874768a7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

CodeRabbit 無料枠の観測結果を ADR に追加しました。自律性設定の TOML エッジケースと workflow shell の判定パリティをテストし、関連する計画項目と TODO を更新しました。

Changes

自律性ポリシーとレビュー制限

Layer / File(s) Summary
レビュー制限の観測記録
docs/adr/adr-019-coderabbit-review-hybrid-policy.md
無料枠の制限窓、手動トリガーの応答差、自律 PR との競合、および待機時刻の運用方針を ADR-019 に追加しました。
設定解析と判定パリティ
docs/adr/adr-066-autonomy-global-kill-switch.md, src/lib-autonomy-policy/src/sources.rs, src/lib-autonomy-policy/tests/workflow_awk_parity.rs
共有判定コアの構成を ADR-066 に記録しました。TOML の真偽値、コメント、section、改行、不正形式を検証しました。workflow shell と Rust の判定関係も Unix 限定テストで検証しました。
完了項目と TODO の更新
docs/harness-improvement-plan.md, docs/todo-summary2.md, docs/todo21.md
順位 401 と 410 を完了項目へ変更し、対応する TODO と管理情報を削除しました。

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed タイトルは、autonomy 設定のパーステストと Rust・awk 間の一致検証という主要な変更を正確かつ簡潔に示しています。
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch test/autonomy-config-parse

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 PR Monitor 分析 (GitHub Actions バックストップ)

  • トリガー: issue_comment (created) / 実行 run
  • CI: rust (ubuntu-latest) pending / rust (windows-latest) pending / request skipping / CodeRabbit pending (Review in progress)
  • レビュー状況: CodeRabbit はレビュー未着 (processing 中、結果は待たない)。人間レビューはまだ無し。インライン指摘・conversation review も 0 件
  • Verdict: approved (findings 0 件のため .takt/facets/instructions/analyze-coderabbit.md の「findings array が空なら approved」規則に従う。ただし CI・CodeRabbit ともに実行中であり、状態確定ではない点に留意)

Applicable Findings (Critical / High / Major)

(該当なし)

Applicable Findings (Medium 以下)

(該当なし)

Filtered (not applicable)

(該当なし)

次のアクション

  • 現時点でレビュー・CI とも進行中のため、CodeRabbit の実レビュー結果と CI (rust ubuntu/windows) の完了を待つ。
  • 差分は docs (ADR-019/ADR-066 追記、todo21.md/todo-summary2.md/harness-improvement-plan.md の完了反映) + src/lib-autonomy-policy の boolean パース edge case テスト追加 (sources.rs +76) と、review-request.yml の awk 実装との parity テスト新設 (tests/workflow_awk_parity.rs +199、#[cfg(unix)])。設計は本文中で ADR-051/ADR-043/ADR-065 と整合させて説明済み。
  • 次回分析はレビュー結果または CI 状態変化後に行うのが妥当。

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/adr/adr-019-coderabbit-review-hybrid-policy.md`:
- Line 77:
未来日を記録日として使用している日付表記を修正する。docs/adr/adr-019-coderabbit-review-hybrid-policy.md
の77行目と docs/adr/adr-066-autonomy-global-kill-switch.md
の94行目は追記日を実際の記録日に変更し、docs/harness-improvement-plan.md
の193-194行目は完了日を実際の対処日に変更する。

In `@docs/adr/adr-066-autonomy-global-kill-switch.md`:
- Line 90: Update the ADR statement describing the autonomy-gate contract to
require callers to use the shared library’s sources and evaluate APIs, matching
the direct lib_autonomy_policy::evaluate usage in cli-fix-push-gate. Limit the
exit-code requirement to callers that invoke the CLI, rather than requiring it
universally.

In `@docs/harness-improvement-plan.md`:
- Line 194: Update the completed-item description in the ADR-066 harness
improvement plan entry to remove the claim of implementation “一致” and describe
the one-way guarantee instead: when the shell awk logic reads true, Rust must
return Some(true). Explicitly note that dotted keys and section headers
containing spaces may be accepted by Rust but cause the shell path to stop, and
that the test locks in only this fail-closed-direction parity.

In `@src/lib-autonomy-policy/tests/workflow_awk_parity.rs`:
- Around line 106-109: Update shell_says_enabled and its test flow to execute
the workflow’s case "$ENABLED_VALUE" in logic instead of comparing
shell_enabled_value directly to "true". Capture the workflow’s GITHUB_OUTPUT
proceed value in a temporary file, parse it as the workflow result, and assert
that every shell-true result implies Rust returns Some(true), preserving
detection of relaxed true|yes cases.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 73e7ed9e-f850-44a6-b7af-644799d9a702

📥 Commits

Reviewing files that changed from the base of the PR and between b74a4e2 and ed267ad.

📒 Files selected for processing (7)
  • docs/adr/adr-019-coderabbit-review-hybrid-policy.md
  • docs/adr/adr-066-autonomy-global-kill-switch.md
  • docs/harness-improvement-plan.md
  • docs/todo-summary2.md
  • docs/todo21.md
  • src/lib-autonomy-policy/src/sources.rs
  • src/lib-autonomy-policy/tests/workflow_awk_parity.rs
💤 Files with no reviewable changes (2)
  • docs/todo21.md
  • docs/todo-summary2.md

Comment thread docs/adr/adr-019-coderabbit-review-hybrid-policy.md
Comment thread docs/adr/adr-066-autonomy-global-kill-switch.md Outdated
Comment thread docs/harness-improvement-plan.md Outdated
Comment thread src/lib-autonomy-policy/tests/workflow_awk_parity.rs Outdated
@github-actions

Copy link
Copy Markdown
Contributor

🤖 PR Monitor 分析 (GitHub Actions バックストップ)

  • トリガー: pull_request_review (submitted) / 実行 run
  • CI: rust (ubuntu-latest) pass / rust (windows-latest) pass / request skipping / CodeRabbit pass (Review completed) / analyze pending (本ジョブ自身)
  • レビュー状況: CodeRabbit が 1 件のレビューを提出済み (2026-08-10T17:53:52Z、actionable comments 4 件、state: COMMENTED)。人間レビューはまだ無し (reviewDecision 空)
  • Verdict: needs_fix (.takt/facets/instructions/analyze-coderabbit.md 3-way 基準: applicable な Major finding が 1 件存在するため)

Applicable Findings (Critical / High / Major)

# File (Line) Reviewer Issue Recommended Action
1 src/lib-autonomy-policy/tests/workflow_awk_parity.rs (106-109) CodeRabbit shell_says_enabled は抽出した shell 断片の ENABLED_VALUE == "true" を独自判定しており、workflow 本体の case "$ENABLED_VALUE" in true) (.github/workflows/review-request.yml:136) を実行していない。workflow 側が true|yes) のように緩んでも本テストは検知できず、fail-open 方向の乖離を見逃す GITHUB_OUTPUTproceed を一時ファイルへ書き出させ、実際の workflow 判定結果を用いて shell == true ⇒ Rust == Some(true) を検証するよう修正

Applicable Findings (Medium 以下)

# File (Line) Reviewer Issue Recommended Action
2 docs/harness-improvement-plan.md (193-194) CodeRabbit 順位 401/410 の完了記録が「対処済み(2026-08-11)」「記録済み(2026-08-11)」と、現在日 (2026-08-10) より未来の日付になっている 実際の対処日 (2026-08-10 またはマージ日) に修正
3 docs/harness-improvement-plan.md (194) CodeRabbit 順位 410 の完了記述が Rust/shell 実装間を「一致」と表現しているが、workflow_awk_parity.rs が保証するのは片側含意 (shell が true ⇒ Rust も Some(true)) のみ。dotted key・空白入り section header は Rust が受理し shell が停止する既知の乖離がある 「一致」を「shell が true と読む場合の Rust 側 fail-closed 方向の含意のみを固定」という表現に修正

Filtered (not applicable)

# File (Line) Issue Filter Reason
4 docs/adr/adr-019-coderabbit-review-hybrid-policy.md (77) 追記日 (2026-08-11) が未来日である Scope mismatch: docs/adr/ は read-only zone (analyze-coderabbit.md Step 2)
5 docs/adr/adr-066-autonomy-global-kill-switch.md (94) 同上、追記日が未来日である Scope mismatch: docs/adr/ は read-only zone
6 docs/adr/adr-066-autonomy-global-kill-switch.md (90) 「呼び手はすべて cli-autonomy-gate の exit コードを経由する」との記述が、cli-fix-push-gate/src/main.rs:119-125lib_autonomy_policy::evaluate 直接呼び出しの実態と食い違う (現物のコードで確認済み: 直読みではなく共有 lib 経由だが cli-autonomy-gate の exit code は経由しない) Scope mismatch: docs/adr/ は read-only zone

次のアクション

…で固定する

順位 410: 順位 408 の修正時に手で確認した edge case がテストとして残っていなかった。
順位 401: CodeRabbit 無料枠の窓の挙動を ADR-019 へ観測として記録する。

- lib-autonomy-policy の boolean パース edge case を固定 (行内コメント / 空値 /
  大文字 / literal string / 別 section / section 重複 / CRLF)
- review-request.yml の awk 実装との一致を検証するテストを追加する。workflow YAML
  から shell 断片を抽出して実行し、Rust 実装と突き合わせる (原本を読むので
  workflow 側の変更に追随する)
- 保証するのは等価性ではなく片側の含意 (shell が true なら Rust も Some(true))。
  逆向きの既知の乖離は shell 側が厳しい = fail-closed で、その方向を固定する
- ADR-019 へレート制限の窓が直近消費に追随する観測を記録する
- ADR-066 の判定コアのパスが stale だったので訂正する

順位 410 / 401 / ADR-066 / ADR-019
@aloekun
aloekun force-pushed the test/autonomy-config-parse branch from ed267ad to bcf5e74 Compare August 11, 2026 03:14
@github-actions

Copy link
Copy Markdown
Contributor

🤖 PR Monitor 分析 (GitHub Actions バックストップ)

  • トリガー: pull_request_review (submitted) / 実行 run
  • CI: rust (ubuntu-latest) pass / rust (windows-latest) pass / request skipping / CodeRabbit pass (Review completed) — いずれも変更なし。fix ジョブの fail 表示は本 pr-monitor ワークフロー自身の前回実行 (run 31454620167) が本トリガーによって "Canceling since a higher priority waiting request exists" でキャンセルされたものであり、PR コードの CI failure ではない
  • レビュー状況: 前回分析 (2026-08-10T17:56:42Z) 以降、著者 (aloekun) が前回報告した Major 1 件・Minor 2 件・Filtered 1 件 (adr-066:90) の計 4 件全てに返信し「修正しました」と主張。CodeRabbit は各スレッドに追随返信し、Major 以外は <review_comment_addressed> で解決扱いに変更した。しかし PR の head commit は ed267ad944 のままで、原レビュー時点 (2026-08-10T17:39:44Z) 以降コミットが 1 件も追加されていない — 返信内容を裏付けるコード変更が実際には未プッシュ
  • Verdict: needs_fix (.takt/facets/instructions/analyze-coderabbit.md 3-way 基準: applicable な Major finding が実質的に未解決のまま残存)

Applicable Findings (Critical / High / Major)

# File (Line) Reviewer Issue Recommended Action
1 src/lib-autonomy-policy/tests/workflow_awk_parity.rs (106-109) CodeRabbit 著者は「GITHUB_OUTPUT を一時ファイルに向け workflow 本体の case に判定させる形へ修正した」と返信 (03:10:05) したが、CodeRabbit の再検証 (ast-grep/rg 実行) では FRAGMENT_END = "ENABLED_VALUE="shell_says_enabled()ENABLED_VALUE == "true" 直接比較・GITHUB_OUTPUT/dev/null 固定がすべて変更前のまま残存していることを確認 (03:10:29)。本分析でも gh pr diff で同一内容を確認済み。head commit が原レビュー時点から変わっていないため、当然コードは未変更で、指摘は未解決 実際の修正コミットを push する。返信テキストのみでコードが反映されていない状態を解消しない限り、fail-open 方向の検知漏れというテストの欠陥は残る

Applicable Findings (Medium 以下)

# File (Line) Reviewer Issue Recommended Action
2 docs/harness-improvement-plan.md (193-194) CodeRabbit 日付表記 (未来日) の指摘に著者が「修正しました」と返信し CodeRabbit は解決扱いにしたが、Major 指摘と同様に head commit が不変のため実ファイルへの反映は未確認 修正コミット push 後に実ファイルの日付表記を再確認する
3 docs/harness-improvement-plan.md (194) CodeRabbit 「一致」表現の指摘も同様に返信のみで解決扱いになっているが、実ファイルの反映は未確認 同上。修正コミット push 後に文言を再確認する

Filtered (not applicable)

# File (Line) Issue Filter Reason
4 docs/adr/adr-019-coderabbit-review-hybrid-policy.md (77) 追記日が未来日 (UTC 基準) Scope mismatch: docs/adr/ は read-only zone。加えて著者の JST 説明 (UTC 2026-08-10 午後 = JST 2026-08-11 未明) を CodeRabbit が受理し指摘自体を撤回済み (03:10:52)
5 docs/adr/adr-066-autonomy-global-kill-switch.md (94) 同上、追記日が未来日 Scope mismatch: docs/adr/ は read-only zone。前回分析から状態変化なし (対応する個別インラインスレッドの新規返信は確認されず)
6 docs/adr/adr-066-autonomy-global-kill-switch.md (90) ADR 記述と cli-fix-push-gate の実装 (lib_autonomy_policy::evaluate 直接呼び出し) の食い違い Scope mismatch: docs/adr/ は read-only zone。著者返信・CodeRabbit 確認とも文面のみで、head commit 不変のため実ファイル反映は未確認。ただし本項目はそもそも read-only zone のため filter 判定に影響しない

次のアクション

@aloekun
aloekun merged commit d2e18ca into master Aug 11, 2026
3 checks passed
@aloekun
aloekun deleted the test/autonomy-config-parse branch August 11, 2026 03:56
aloekun added a commit that referenced this pull request Aug 11, 2026
本セッションで実施した WP-18 (2) 運用問題 5 件の対処 (#385/#386/#388/#389) について、
実走観測の記録・計画書の整理・feedback 採否の登録をまとめて行う。

## 実走観測の記録

- ADR-072 へ定常運用 2 巡目 (PR #387) の観測を追加する。決定 15-17 投入後の
  9 項目が設計どおり動いたことと、review-request の成功判定が「反応の有無」で
  止まっている (拒否も success になる) ことを事実として記録する
- ADR-019 へレート制限の競合が記録の翌日に実地で再現したことを追加する
- 順位 386 の観測を 7 回 → 9 回へ更新する。うち 1 件は空コミットではなく
  「近い revset を優先する規則」そのものが原因で、本命の対処案だけでは
  解決しない可能性がある点を併記する

## 計画書の整理 (ADR-073 新設)

- 完了条件の切り方 (残作業を 3 区分に分け、その WP が生んだ問題は完了条件に
  含め、WP 外の派生は含めない) を ADR-073 として切り出す
- WP-18 節を 71 行 → 35 行へ整理し、完了記録を削除して残作業のみにする
- ローカル実行時の jj workspace 注記を ADR-072 へ移す

## post-merge feedback 採否 (順位 414-432)

- 採用候補 24 件のうち 6 件は当該 PR 内で実装済みのため対象外とした
  (実物と照合して確認)
- 採用 19 件を系統 A-G + セッション由来へ分類して登録する
- SIGPIPE resilience は却下する。レポートが「実測証拠」とした recovery が
  実際には発生しておらず (run 1 回・completed・marker の痕跡なし)、提案内容も
  ADR-030 §L1 で実装済みだった。feedback レポート自身が根拠を誤った初の実例
  として記録し、順位 403 の対象へ含めるよう申し送る

## 付随

- todo21.md が 57KB (50KB 閾値超過) のため todo22.md を新設する
- todo-summary.md の「現行の追加先」が todo14.md のまま stale だったので直す
- cli-docs-lint が検出した preamble の数詞ずれ (23 → 24) を 9 ファイルで更新する

ADR-073 / 順位 414-432
aloekun added a commit that referenced this pull request Aug 11, 2026
本セッションで実施した WP-18 (2) 運用問題 5 件の対処 (#385/#386/#388/#389) について、
実走観測の記録・計画書の整理・feedback 採否の登録をまとめて行う。

## 実走観測の記録

- ADR-072 へ定常運用 2 巡目 (PR #387) の観測を追加する。決定 15-17 投入後の
  9 項目が設計どおり動いたことと、review-request の成功判定が「反応の有無」で
  止まっている (拒否も success になる) ことを事実として記録する
- ADR-019 へレート制限の競合が記録の翌日に実地で再現したことを追加する
- 順位 386 の観測を 7 回 → 9 回へ更新する。うち 1 件は空コミットではなく
  「近い revset を優先する規則」そのものが原因で、本命の対処案だけでは
  解決しない可能性がある点を併記する

## 計画書の整理 (ADR-073 新設)

- 完了条件の切り方 (残作業を 3 区分に分け、その WP が生んだ問題は完了条件に
  含め、WP 外の派生は含めない) を ADR-073 として切り出す
- WP-18 節を 71 行 → 35 行へ整理し、完了記録を削除して残作業のみにする
- ローカル実行時の jj workspace 注記を ADR-072 へ移す

## post-merge feedback 採否 (順位 414-432)

- 採用候補 24 件のうち 6 件は当該 PR 内で実装済みのため対象外とした
  (実物と照合して確認)
- 採用 19 件を系統 A-G + セッション由来へ分類して登録する
- SIGPIPE resilience は却下する。レポートが「実測証拠」とした recovery が
  実際には発生しておらず (run 1 回・completed・marker の痕跡なし)、提案内容も
  ADR-030 §L1 で実装済みだった。feedback レポート自身が根拠を誤った初の実例
  として記録し、順位 403 の対象へ含めるよう申し送る

## 付随

- todo21.md が 57KB (50KB 閾値超過) のため todo22.md を新設する
- todo-summary.md の「現行の追加先」が todo14.md のまま stale だったので直す
- cli-docs-lint が検出した preamble の数詞ずれ (23 → 24) を 9 ファイルで更新する

ADR-073 / 順位 414-432
aloekun added a commit that referenced this pull request Aug 11, 2026
本セッションで実施した WP-18 (2) 運用問題 5 件の対処 (#385/#386/#388/#389) について、
実走観測の記録・計画書の整理・feedback 採否の登録をまとめて行う。

## 実走観測の記録

- ADR-072 へ定常運用 2 巡目 (PR #387) の観測を追加する。決定 15-17 投入後の
  9 項目が設計どおり動いたことと、review-request の成功判定が「反応の有無」で
  止まっている (拒否も success になる) ことを事実として記録する
- ADR-019 へレート制限の競合が記録の翌日に実地で再現したことを追加する
- 順位 386 の観測を 7 回 → 9 回へ更新する。うち 1 件は空コミットではなく
  「近い revset を優先する規則」そのものが原因で、本命の対処案だけでは
  解決しない可能性がある点を併記する

## 計画書の整理 (ADR-073 新設)

- 完了条件の切り方 (残作業を 3 区分に分け、その WP が生んだ問題は完了条件に
  含め、WP 外の派生は含めない) を ADR-073 として切り出す
- WP-18 節を 71 行 → 35 行へ整理し、完了記録を削除して残作業のみにする
- ローカル実行時の jj workspace 注記を ADR-072 へ移す

## post-merge feedback 採否 (順位 414-432)

- 採用候補 24 件のうち 6 件は当該 PR 内で実装済みのため対象外とした
  (実物と照合して確認)
- 採用 19 件を系統 A-G + セッション由来へ分類して登録する
- SIGPIPE resilience は却下する。レポートが「実測証拠」とした recovery が
  実際には発生しておらず (run 1 回・completed・marker の痕跡なし)、提案内容も
  ADR-030 §L1 で実装済みだった。feedback レポート自身が根拠を誤った初の実例
  として記録し、順位 403 の対象へ含めるよう申し送る

## 付随

- todo21.md が 57KB (50KB 閾値超過) のため todo22.md を新設する
- todo-summary.md の「現行の追加先」が todo14.md のまま stale だったので直す
- cli-docs-lint が検出した preamble の数詞ずれ (23 → 24) を 9 ファイルで更新する

ADR-073 / 順位 414-432
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant