Skip to content

spec(evolution,docs): body-language carve-out does not reach the Decision Structure entry rule or the parameter's own documentation #1775

Description

@smileygames

目的

body 言語規則の binding 先取り違えは #1731 / PR #1773 で commit / PR / issue body について直したが、同型の露出が Decision Structure entry の言語規則と、パラメータの一次説明箇所に残っている。#1731 の対象4ファイルの外にあるため同 PR では受理せず、本 issue が引き取り先。

観測

2026-08-17。PR #1773 の brake 1 軸4(掃引軸)で、3体すべてが所見を挙げた。実装者が実体を独立に確認し、対象外を理由に scope で却下した上で親へ差し戻したもの。

所在 記述 carve-out
skills/evolution-decision-structure-write/SKILL.md Maintenance Entry language = LI_PLUS_PROJECT_LANGUAGE 同ファイルに LI_PLUS_REPO / host workspace / governance の grep が 0 件
docs/2.-Evolution.md:158 エントリ言語は LI_PLUS_PROJECT_LANGUAGE に従う。混在は不可 同ファイルに LI_PLUS_REPO の言及が 0 件
docs/B.-Configuration.md ### LI_PLUS_PROJECT_LANGUAGE 節(:92-106) 兄弟節 ### LI_PLUS_BASE_LANGUAGE は :92 に carve-out を持つが、当該節の注意ブロックは人間の明示指示の優先順位だけを扱う 節内に無し

2026-08-20 に3箇所とも literal を再確認。いずれも上記のとおりで成立している。

実地の裏付け(2026-08-20)

本セッションで当の露出を踏んでいる。 親が Decision Structure entry gate-miss-measured-not-enforcedliplus-language 自身の wiki へ書いた。上記2箇所の literal に従えば entry 言語は LI_PLUS_PROJECT_LANGUAGE から解決され、本 workspace ではそれが ja、そして liplus-language 自身の運用も日本語であるため、両者がたまたま一致して何も壊れなかった

計器が誤っていて結果が正しかった、という状態である(#1779 が名指ししているのと同じ形)。LI_PLUS_PROJECT_LANGUAGE=en の workspace から同じ経路を通れば、entry は英語で書かれ、当該リポジトリの日本語運用に反する。露出は仮想ではない。

判定 1 — Decision Structure entry の言語規則(2箇所)

#1731 の形をそのまま適用できる。 パラメータ化を壊さず、写しを増やさず、ポインタで到達性だけを直す。

正本は rules/operations/operations.md Operations Rules の当該段落(LI_PLUS_PROJECT_LANGUAGELI_PLUS_REPO 自身の body 言語には届かず、届く先はそのリポジトリ自身の governance である、と述べている箇所)。2箇所はそこを指すだけにする。carve-out の本文を再掲しない(rules/operations/main-agent-procedures.md The bar and its pair — 二つ目の写しが drift する)。

判定 2 — docs/B.-Configuration.md(issue が「先に判定せよ」としていた箇所)

load-bearing である。ただし issue の枠組みとは別の理由で、修理の形も別になる。

issue は「carve-out が欠けている」と枠づけていたが、docs/ 全体を掃引した結果、事実は欠けていない:

  • docs/D.-Installation.md:216両パラメータを覆って carve-out を述べている
  • docs/B.-Configuration.md:92BASE のみ を覆う部分的な写しである

つまり B の非対称は「記述の欠落」ではなく、同一事実の写しが片方の兄弟にだけ当てられている状態である。そして欠陥は、読み手が2節を見比べたときに 不在が偽の信号を運ぶことにある——BASE に「liplus-language には及ばない」と書いてあり PROJECT に無ければ、PROJECT は及ぶと読める。実際は及ばない。

したがって修理は追加ではなく再配置になる:

  • docs/B.-Configuration.md:92(BASE 節内の1行)を削除する
  • 2つの ### 節の手前に、両パラメータを覆う 1 行を置く
  • その1行に見出し ### 言語設定の適用範囲 を与え、見出しが所有する形にする

見出しは体裁ではなく到達性の要件である。markdown では素の段落はつねに直前の見出しへ帰属するため、見出しを介さずに置いた1行は直前の ### USER_REPOn_EXE_MODE / LI_PLUS_REPO_EXE_MODE 節の内側に読める。見出し単位で読む読者は実行モード節に居るまま当該文へ到達し、その直前の文は release 確認の文である。これは本判定が閉じようとしている欠陥——不在が偽の信号を運ぶ——を、誤配置された存在として再生産する。素の1行では当該ファイルの見出し配置のもとで所在を確定できず、見出しの介在なしには閉じられない。

同ファイルには非パラメータ名の ###### settings.json と settings.local.json の所有境界)が既に在り、形として in-form である。

B 内の写しの数は 1 のまま、非対称は消え、caveat は読み手が居るページに残る。rules/model/subtractive-structural-beauty.md の「追加は正当化を要する」に対して、これは追加ではないため正当化の負担が立たない。

却下した案: PROJECT 節に対応する1行を足す案。B 内の写しが 2、docs 全体で 3 になり、issue の制約(写しを増やさない)に正面から抵触する。
却下した案: B:92 を削除して D だけに任せる案。当該パラメータの一次説明箇所から caveat が消え、読み手の居る場所で読めなくなる。
却下した案: 見出しを与えず素の1行として置く案。markdown の帰属規則により実行モード節の内側に読めるため、非対称は消えるが所在の誤配置が残る。

制約

対象ファイル

  • skills/evolution-decision-structure-write/SKILL.md(判定1 — ポインタ化)
  • docs/2.-Evolution.md(判定1 — 日本語ミラー側の同一箇所)
  • docs/B.-Configuration.md(判定2 — :92 削除 + 両節を覆う1行を見出し ### 言語設定の適用範囲 付きで前置)

release type

patch。L2 spec と docs の到達性修理であり、user/system observable な挙動変化を持たない。

関連

Metadata

Metadata

Assignees

Labels

ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能review-pending実装フェーズ終了、orchestration (review / merge / close) 待ちspecLi+の挙動に影響する仕様・ポリシー・定義

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions