li plus always on footprint load bearing - Liplus-Project/liplus-language GitHub Wiki
Li+ always-on footprint は load-bearing — 安全な文脈圧縮余地は枯渇
Question
Li+ の always-on context footprint(rules/**/*.md + adapter CLAUDE.md + output-style、実測 ~21,500 tok)を、AI 挙動を損なわずさらに圧縮できるか?
Current resolution
できない(安全な余地は残っていない)。 always-on に乗っている内容は load-bearing。文脈コスト軸の圧縮候補は3つ検討され、いずれも構造的理由で却下される:
- operations 層 → on-demand skill 化: skill auto-invoke は drift 直前の introspection-gap 中に発火判定する性質で、毎瞬間に効くべき規律(must-fire)を落とす(recall gap)。#1315 が
expansion-limitを skill→rule に戻した実証(1セッションで27回以上の発火漏れ)あり。却下。 - operations 層 → hook イベント注入: この機構は #988(Milestone Rules を on_issue hook 注入)で一度実装されたが、#1102(adapter flatten)が「rules 常時ロード + skills auto-invoke」へ単純化する際に撤去済。差し戻しは撤去した複雑性の回帰。加えて PostToolUse はツール実行後に発火するため、commit/PR 作法を操作前に載せられないタイミング問題を持つ。割に合わず却下。
- adapter
CLAUDE.mdautonomy 節 ↔rules/evolution/*.mdの dedup: 一見二重持ちだが、(a) 各 autonomy ブロックは既に「宣言 + 要約 +see rules/...ポインタ」構造で DRY、(b) brake1/brake2 と human-gate 列挙(release create / Latest flip / force push / tag delete / 不可逆外部副作用)はrules/model/subtractive-structural-beauty.mdの subtraction-safeguards(irreversibility checkpoints)ドメインで、明示的冗長性が load-bearing。token のために削るのは禁止対象。却下。
結論として、always-on コストは構造的単純さのために受容された tradeoff(#1102)であり、未最適化の無駄ではない。これ以上の文脈圧縮は cargo-cult(圧縮のための圧縮)になる。
Edges
- depends on(外部前提): 本判断は2つの外部前提に依存する。(1) Claude Code の rules
pathsがイベントトリガー非対応で glob のみ(#995)、(2) skill auto-invoke の recall 信頼性が構造的に弱い(#1315)。いずれかが解消されれば本判断は再評価対象。 - supersede / conflict edge なし。
li-plus-lightening-l1-gate-overrideは Li+ lightening 系列の別軸判断(L1 gate override であって always-on footprint ではない)であり、本 entry と並立する。
Background
Master「Li+自体を圧縮できる?」→ 文脈コスト軸を選択。always-on footprint を実測(rules 71KB / 合計 86KB ≈ 21,500 tok)。レイヤー別では operations 層 14.5KB が「event-driven と自己宣言しているのに always-on でロードされている」ズレを持ち、最大の圧縮余地に見えた。しかし起票前の judgment-learning(RAG)+ source-check(実ファイル Read)で3候補とも溶解した。
Constraints
- Claude Code の rules
pathsは glob のみ、イベントトリガー(on_commit 等)非対応(#995)。よって「event 時ロード」の道は hook 注入か skill auto-invoke の二択に限られ、後者は must-fire に不適。 - #1269 が
operations.md/execution-mode.mdを「常時必要 = 不変則」に分類済で、always-on 維持は既に決着している。 - #1102 は always-on を adapter 変換コスト最小化 + 源泉/生成物の構造一致のため選択した(token 最適性の証明ではなく単純さ優先)。
Conclusion
採用 = always-on 維持、追加の文脈圧縮は見送り。 却下 = operations skill 化(#1315 recall gap)/ operations hook 注入(#1102 撤去の回帰)/ CLAUDE.md autonomy dedup(safeguard 削り)。
調査プロセスの learning: 圧縮余地の見積もりは literal 検証前に数値化すると縮む(本件は3段階で縮小→消滅)。構造変更の提案は対象ファイルの実 Read + 過去判断の RAG を先行させること(self-eval 2026-06-06 entry に detection sign 記録)。
Related
- #1269 split rules into always-on invariants and trigger-on-demand actions(operations を不変則に分類)
- #1315 / #1316 move
expansion-limitskill→rule(recall gap 実証) - #1102 / #1108 flatten layers into rules/ + skills/(hook 注入撤去)
- #988 Milestone Rules → on_issue hook trigger(撤去前の機構)
- #995 operations always-load experiment(
pathsglob-only 制約) - #1234 github-history-driven judgment criteria for boot-token reduction
- 判断構造: li-plus-lightening-l1-gate-override(lightening 系列の別軸)
- 関連 rule:
rules/model/subtractive-structural-beauty.md(subtraction-safeguards / artifact deletion calibration)