execution mode rule carries behavior only - Liplus-Project/liplus-language GitHub Wiki
rules/operations/execution-mode.md の常時ロード本文は、マトリクスを言い直さず、他の常時ロード面の写しも持たない
Question
常時ロードされる rules/operations/execution-mode.md の本文に、rules/model/liplus-coding-rule.md Body States Behavior の識別線(読んだ者の行いが変わるか)を当てたとき、何が本文に残り、外したものはどこが保持するか。
Current resolution
本文は、モードの読み出し先と既定値、未設定時の問い、モードマトリクス、2 つの正本へのポインタ、trigger mode: の着手前に許される行いと着手の形、semi_auto mode: の Per-PR exception、human judgment gate だけを持つ。マトリクスの行を各モード節で言い直す文、他の常時ロード面の写し、理由句は持たない。
PR(issue #2134)で 4,529 B → 3,471 B(−1,058 B、−23.4%)。
外したものの合流先
| 外した記述 | 判定 | 合流先 |
|---|---|---|
trigger mode: / semi_auto mode: / auto mode: の Execution timing = ... |
写し(仮説 1 成立) | 同じファイルのマトリクス「Execution timing」行 |
trigger mode: の PR review = AI self-review, then human check on every PR. |
写し(仮説 1 成立) | マトリクス「AI self-review」「Human PR check」行、rules/operations/main-agent-procedures.md PR review の if execution_mode == trigger: |
semi_auto mode: の PR review = ... と patch = ... / minor / major = ... の 2 行 |
写し(仮説 1 成立) | マトリクス「Human PR check」「Merge executor」行、main-agent-procedures.md PR review の if execution_mode == semi_auto:(patch は人間ゲートなし、minor / major はセルフレビュー pass 後に人間確認) |
auto mode: 節(2 行とも) |
写し(仮説 1 成立)。2 行を外すと節が空になる | マトリクス、main-agent-procedures.md PR review の if execution_mode == auto: |
Common to all modes: の Issue create/close/modify = assignee responsibility (AI in most cases). |
写し | rules/task/task.md の Issue is internal TODO = assignee manages without waiting for instruction.(close の主体は同ファイル Close operation = parent retain.) |
同 Ask human when information insufficient = always required. |
写し | rules/task/task.md の Ask human when required information is missing. |
同 Release = human confirms. |
写し | マトリクス「Release confirm」行、human judgment gate の release create |
human judgment gate の For these, the gate is on judgment authority, not execution authority. |
写し。直後の箇条 1〜3 が同じことを行いの形で述べる | 同じ節の箇条 |
同 箇条 4 の後半 AI executes the CLI; human gives the go-sign. |
写し | 同じ節の箇条 1・2 |
Mode source の括弧書き(multi-repo workspace schema ...) |
説明。どの key がどのリポジトリに対応するかは行いを変えるので、括弧を外して本文へ畳んだ | 本文(USER_REPO<n>_EXE_MODE ↔ USER_REPO<n>、LI_PLUS_REPO_EXE_MODE ↔ LI_PLUS_REPO) |
Repository identifier resolution の括弧書き(旧スキーマの検出と移行は Li+update の自動移行ステップだけが担う) |
説明。行いは直前の spec carries no legacy schema acceptance が持つ |
docs/4.-Operations.md「実行モード」 |
Per-PR exception の for human observability |
理由(記録を残す目的) | 本 entry |
Per-PR exception の (safer-side fallback)(あわせて release type axis を release type に縮めた) |
理由(迷ったら親の種別に倒す目的) | 本 entry |
Per-PR exception の L1 Model Layer source carries no override of this exception: |
写し。直後の an L1 change that qualifies as patch is waived like any other と同じ行いを述べる |
同じ文の残した側 |
本 entry が保持する理由
- Per-PR exception で判断理由を self-review コメントに記録するのは、人間が後から見えるようにするためである。 waive した PR は人間のチェックを通らないので、記録が waive を観測できる唯一の面になる。
- 迷ったら親 issue のリリース種別に倒すのは、安全側への退避である。 誤って waive する側の損失(minor / major が人間の目を通らない)が、誤って waive しない側の損失(patch が人間を待つ)より大きい。
外さなかったもの(仮説 2 は成り立たなかった)
The L1 observation threshold (...) and the post-merge runtime observation (...) are not merge gates.issue は、除外が無い理由を述べる部分を含むという仮説を置いた。読むと理由に見えるが、この文は L1 の patch を前にした読み手に、観測閾値やランタイム観測を待ってマージを止めるな、と行いを決める。L1 変更を人間に回す・待つ、という常駐の既定の傾きに逆らう側の文であり、機序を述べる平叙文が消えると読み手が傾きへ流れる型に当たる(measurement-caught-what-read-based-removal-test-missed)。さらにrules/evolution/initiator-autonomy.mdMerge brake の同旨の記述は self-evolution PR に限られ、人間起点の L1 PR はこの文でしか覆われない。- 未設定時の選択肢 A〜C の文面。 中身はマトリクスと重なるが、人間に見せる文面そのものであり、行いである。
trigger mode:の 3 行。 マトリクスに無い行い(着手前に許される issue 更新・ブランチ準備、着手後の主作業面)。- Per-PR exception の例示(language alignment 等、記録文の例)。 patch 相当かの判断と記録の形を方向づける。
- 節の見出し
semi_auto mode:とhuman judgment gate。rules/operations/main-agent-procedures.md、skills/operations-on-release-state/SKILL.md、skills/operations-on-wiki-sync/SKILL.md、docs 各所が節名で指している。
Edges
- depends on
source-body-behavior-only-reasoning-relocates— 識別線と移設の規則そのもの - depends on
measurement-caught-what-read-based-removal-test-missed— 既定の傾きに逆らう側の文は外さない - relates to
brake2-removal-l1-gate-unified-on-brake1— per-PR exception に対する L1 override を落とした判断。残した L1 の文はその帰結 - relates to
operations-rule-carries-behavior-only— 同じ L4 の隣接ファイルへの同型の適用(#2127) - relates to
memory-entry-format-rule-carries-behavior-only— 同型の適用(#2131)
Background
issue #2134。rules/operations/execution-mode.md は毎 session 全体が文脈に入る面にあり、4,529 B あった。issue は 2 つの仮説を置いた。仮説 1(マトリクスと各モード節の二重書き)は成り立ち、各モード節からマトリクスの写しを外した結果 auto mode: 節は空になった。PR レビューの順序(セルフレビュー → 人間チェック → マージ)は rules/operations/main-agent-procedures.md PR review が常時ロードで持っている。仮説 2(L1 に触れる文の理由部分)は、冗長な前置きだけが成り立ち、「マージゲートではない」の文は行いとして残した。
Constraints
- 各モードで AI が実行する手順、人間が判断するゲート、マージの行為は変えない(issue #2134 制約 1)。
- 他ファイルからの節名参照(
semi_auto mode:/human judgment gate/ mode matrix)は解決させたままにする。 - L1、
cold-start-synthesis.md、promotion-judgment.md、アダプタの凍結ブロックは触らない。
Conclusion
採用 = マトリクスを唯一の表として残し、各モード節はマトリクスに無い行いだけを持つ。モード共通の事項は、それを既に持つ常時ロード面(rules/task/task.md、マトリクス、human judgment gate)に任せる。
却下 = マトリクスの方を外し、各モード節を残す案。マトリクスは rules/evolution/initiator-autonomy.md、両アダプタ(execution-mode matrix)、skills/task-subagent-delegation/SKILL.md から名指されている。
却下 = are not merge gates の文を理由として外す案。上記のとおり、既定の傾きに逆らう行いを持ち、人間起点の L1 PR では他に覆う面が無い。
Related
- issue #2134