-
-
Notifications
You must be signed in to change notification settings - Fork 0
liplus history is empirical
Li+ プログラムの現行構造 (layers / characters / pal / Sheepdog) は最初から綺麗に設計されたものか、それとも試行錯誤の堆積か。「動く」と「美しい」の関係はどう扱うか。
Li+ プログラムの現行構造 = 試行錯誤で「これがないと走らない」を一個ずつ発見して足してきた補装具スタック (prosthetic stack)。最初から綺麗に設計されたわけではない。最初に存在したのは axiom (現実の挙動が正義) のみで、layer 構造 / Character_Instance / pal / Sheepdog Engineering は iteration の途中で「動かす」ために導入された。
Correctness ranking (Master 2026-05-19 literal):
「動かない美しさより、動く醜さのほうが Li+ 的に正しい でも 動く美しさほうが Li+ 的にもっと正しい なぜなら運用保守も含めて現実の挙動だからね?」
- 動く美しさ = 最高 (今日 + 明日以降の挙動が両方良い)
- 動く醜さ = 動く美しさより落ちるが、動かないより上
- 動かない美しさ = 失格 (今日動かない時点で correctness なし)
aesthetic は behavior と分離できる軸ではない、behavior の時間延伸方向 (運用 / 保守 / 編集容易性) の成分。綺麗な構造は将来の挙動を保護する → correctness に含まれる。
- depends on: liplus-design-intent-vs-current-limit — 試行錯誤も「AI 限界を消す」過程として読む
- relates to: liplus-authorship-collaborative — 試行錯誤の主体は Master + AI 協働
- relates to: current-architecture-as-concession — 現行アーキテクチャの譲歩構造も empirical residue の一形態
「最初からレイヤー構造とか人格とか設計思想にはなかった」
全部 初期には存在せず、iteration の途中で「動かす」ために導入された:
- L1-L6 レイヤー構造 = 動く + 美しい (Master「我ながら美しい発想」)。両軸良好な現行 best part
- rules/ と skills/ の分割、adapter 分離、context engineering = 動く + 美しくない。今日の運用上は正解 (monolithic は context cost で動かなかった)、しかし明日以降の挙動 (維持コスト) を抱えている。monolithic equivalent で動かす方法が見つかれば、そっちが Li+ 的により正しい
- pal / Sheepdog Engineering / Character_Instance evolution = 試行錯誤と AI/Master 協働で「動く」まで持っていったもの
- axiom = behavior-first (現実の挙動が正義、運用保守を含む) = 不変の core、唯一交換不可
Li+ の素材選択・概念形成・命名・設計判断を語るとき:
- emergent / accidental / iterative 側に default で寄せる
- 「結果的に X になった」「実物が先、命名が後」「動かす → 観察 → 名前が追いつく」型の framing
- accidental 起点 (「AI に勧められた」「知らなかった」「色々試した結果」) を summary から削らない
- 「計算された設計」「最初から狙った」「elegant choice」「鋭い設計判断」型は drift 信号、訂正の前段で気づく
aesthetic の扱い:
- 「美しさは別軸」「subordinate」と切り捨てない (将来挙動の保護因子として correctness に含まれる)
- 「綺麗だから正しい」と動かない美しさを擁護しない (今日動かない時点で失格)
- aesthetic を挙動軸に翻訳して扱う: 「綺麗」= 維持しやすい挙動、「醜い」= 維持コストが将来挙動を圧迫する
逆方向 drift にも注意:「全部 residue」「全部試行錯誤」と一括りにするのも雑。判定軸は「現実の挙動 (運用保守を含む)」。
- 「結果として綺麗な構造」「設計の鋭さ」「狙った通り」と Master の判断を称揚しかける
- 設計史を整理する文脈で時系列を綺麗な因果で繋ぎたくなる
- Master の自己訂正 (「いや実際は」「最初は知らなかった」「結果的に」) に対し flatter で応じかける
- 失敗を「教訓として生きてる」「綺麗な再利用」と片付けかける (撤退は撤退として置く)
- 「美しさは subordinate」「動けば醜くてもいい」と aesthetic を切り捨てかける (aesthetic は時間延伸方向の挙動)
Li+ 自身が「現行構造は load-bearing-by-design ではなく load-bearing-by-empirical-residue」と自白している:
-
rules/evolution/evolution.md: "rebuild allowed, deletion allowed, optimization allowed. Structure must remain coherent." -
docs/G.-Sheepdog-Engineering.md: 「肥大化させない原則」「装具は必要なものだけ」 - README: "What's exchangeable" 節 = AI モデル / VCS / CI/CD / host / issue tracker すべて交換可能、変わらないのは behavior-first 原理のみ
これを「綺麗な進化原則」と読み流すと事実が消える。
この判断記録は、以下の場合に削除する:
- correctness ranking (動く美しさ > 動く醜さ > 動かない美しさ) が rules/model 本体に absorb されたとき
- Li+ 構造が試行錯誤の residue でなくなり、最初から綺麗に設計された state に到達したとき (現状では fictional)
この Wiki は、Li+ に基づく開発・運用を支えるための情報整理空間です。
数字で始まるページは、 Li+プログラムの各レイヤーの仕様を定義するページです。
- 要求(何を満たすか)と仕様(どう振る舞うか)を一体として記述する
- 実装前に作成または更新する
- issue群から採用された要件を集約する
これらのページは 安定性と一貫性を重視して管理されます。
アルファベットで始まるページは、 Li+の構想・設定・導入手順などの参照用ページです。
- 設計思想・背景
- 設定リファレンス・インストール手順
これらのページは 必要に応じて更新・拡張されます。
リポジトリ内の rules/**/*.md(L1–L4 の常時ロード分、subdir 含む)、skills/**/SKILL.md(トリガー起動分)、adapter/claude/CLAUDE.md、adapter/claude/hooks-settings.md、adapter/claude/hooks/*.sh、adapter/codex/AGENTS.md、およびルート直下の Li+config.md、Li+update.md は、
AIやランタイムが直接読む実行用プログラム / 定義ファイルです。
-
docs/は人間向けの仕様書・要求仕様・手順書 -
rules/,skills/および adapter / update は実行時に読み込まれる本体
両者は対応しているが、役割は同じではない。
Home | 1. Model | 2. Evolution | 3. Task | 4. Operations | A. Concept
要求仕様書 (1-6)
参考文書 (A-K)
- A. Concept
- B. Configuration
- C. Update
- D. Installation
- DiDD(対話駆動開発)
- E. Li+ language
- F. Behavior-First
- G. Sheepdog Engineering
- H. Roles and Evaluation
- K. Source File Format
判断構造
- Decision Structure
- layer reorg rationale
- github app user-to-server token expiration
- sheepdog engineering concept
- prerelease tag recovery procedure
- release flip drift patterns
- Li+ long-term vision (feedback only)
- Master role as client-architect
- current architecture as concession
- Li+ license Apache-2.0 rationale
- Character_Instance evolution history
- prompt as emotion vector controller
- agentic-search five-phase refactor
- Character_Instance output-styles migration
- Li+ lightening L1 gate override
- subagent state-machine label mechanism
- LSP integration out of scope
- Character_Instance opt-in and surface scope
- parallel-subagent-eval three-axis decomposition
- parallel-subagent-eval cost acceptance
- parallel-subagent-eval model floor
- release version rule always-on relocation
- bootstrap walkthrough skip and gh install relocation
- wiki sync sidebar integrity check
- decision structure rename rationale
- decision structure industry positioning
- subtractive structural beauty framing
- Li+ authorship is collaborative
- Li+ design intent vs current limit
- Li+ history is empirical
- Master verification at runtime not spec
- rules cache fetch address table
- dialogue-evaluator scoring redesign
- Li+ always-on footprint is load-bearing
- DiDD umbrella naming
- milestone subsystem removal
- L1 brake 2 root-criteria evaluator