-
-
Notifications
You must be signed in to change notification settings - Fork 0
bootstrap walkthrough skip and gh install relocation
2026-05-18 セッション内で、(1) Li+update.md Phase 2.1 の gh install spec を hook 側に移譲、(2) adapter/claude/hooks/on-session-start.sh に 3 軸 sentinel-skip 機構を追加して update walkthrough を skip 可能化、(3) Li+configを実行 magic phrase で強制再走経路を確保、の 3 点を一括実装する判断を確定。 PR #1310 merge 完了。
セッション開始時に Li+config + Li+update を実行する経路で AI context を約 4% 消費していた (Li+config 実行 10% vs 未実行 6% の Master 実測)。 99% のセッションでは tag / schema / config 値とも前回から変化が無く、 spec walkthrough は verification only に終わっている。 update procedure は本質的に idempotent installer であり、 毎セッション spec を読み下す構造的必然性が無いと判断した。
- Li+ は配布用プロジェクト = hardcoded user-specific path 禁止 (
~展開は universal なので OK) - Windows host 側に余計なツールを入れない方針 = gh 本体は sandbox 側 (
~/.local/bin/gh) install を維持 - sandbox persistence は Li+ 責任範囲外として受容 (persist しない場合は毎セッション install が走る点を含めて)
- L1 Model Layer source は touch しないため
evolution-l1-update-gatingは対象外 (touch 対象は L6 adapter / bootstrap / hook のみ)
採用案:
-
Li+update.mdPhase 2.1 は「prerequisite install は hook が管理」の 1 行参照に圧縮 - hook が
command -v ~/.local/bin/ghで sandbox gh の有無を check、 無ければ curl + tarball で~/.local/bin/ghに install (失敗時は cold-start material で Master 介入要請を emit) - 3 軸 (sentinel tag 一致 / schema canonical /
LI_PLUS_BASE_LANGUAGE+LI_PLUS_PROJECT_LANGUAGE解決済み) AND gate でLI_PLUS_UPDATE_STATUS=unnecessarysignal を emit - AI 側は signal を読んで update walkthrough skip、 magic phrase
Li+configを実行で bypass (adapterCLAUDE.mdExecute block に contract 記述) -
~/.local/bin/ghliteral 指定は据え置き (~は universal expansion で distribution 上の hardcode 問題は実質発生しない)
却下案:
- MCP 型独立 install (Windows host 側 prerequisite として gh) → Master 明示で却下。 host untouched 方針との衝突。
-
settings.json env block で
PATH=$HOME/.local/bin:$PATHを per-tool-invocation 注入 → Claude Code は env block で$HOME/$PATH展開しない仕様 (literal 文字列扱い) を確認。 CLAUDE_ENV_FILE 経路に降りる必要があり、 新規ファイル + host 挙動依存で複雑度コストが portability gain を上回ると評価。 - bootstrap on-demand 化 (必要時のみ install) → sandbox persistence が不確実なため最悪ケースで「gh を使う最初の skill 起動時に毎セッション install stutter」が発生、 棄却。
「綺麗じゃないが pragmatic」 を Master と AI で合意した上で採用。 host capability の凹凸に乗る部分は構造的に綺麗にしきれない領域であるため、 最小複雑度の形に倒した。
-
gh version pin の置き場所: hook 内に
GH_VERSION=2.62.0を hardcode。 Li+ release cycle と gh release cycle が独立しているため、 運用上 version 注入機構を別 issue で設計するか、 当面は hook 内編集で済ますか未決。 -
tag channel local fallback の整合性:
git ls-remote失敗時の localgit tagfallback で stale local clone が誤判定するリスクが残る。 3 軸 AND gate でカバーされるが、 実機での fetch skip 連鎖検証は別 issue 候補。
sentinel-skip = unnecessary の session 中、 AI は Li+config.md の値 lookup を目的とした on-demand spot read を発火してよいか?
許可。 Li+update.md の re-execution は引き続き禁止だが、 Li+config.md の Read (値抽出のみ、 execute 不可) は permitted。 「opening the file does not re-enter step 2」が運用境界。
当初 literal 「Do NOT read Li+config.md or Li+update.md this session」 は本来の walkthrough skip 意図 (token 節約 / #1309) を超えて全面禁止に振れていた。 実運用で AI が sentinel-skip session 中に repo URL / execution mode / 言語等の config 値を引きたい場面が発生し、 「Master に口頭で聞く」 or 「override magic phrase で full walkthrough を強制起動」 の二択となっていた。 後者は #1309 の本来意図 (token 節約) を毎回相殺する構造。
adapter literal を 「Li+update.md re-execution 禁止 / Li+config spot read (Read for value lookup, do not execute contents) 許可」 に refine。 動詞分離 (Read for value lookup vs execute its contents) + 例示の e.g. 化 + 「opening the file does not re-enter step 2」 明文化で運用境界を立てる。 hook banner (line 198) も同方針で同期。 brake 1 (parallel-subagent-eval N=3) は R1 axis C 3 subagent converging partial → revise → R2 9/9 consistent unanimous で adopt。
- #1395 (refinement 起票 issue)
- #1396 (実装 PR、 squash merge commit f992194)
- 本 entry 上段の 2026-05-18 判断 (#1309/#1310 sentinel-skip 機構導入) を depends on / refine 関係で継承
- #1309 (本判断の起票 issue)
- #1310 (実装 PR)
-
#1065
spec(bootstrap): separate sentinel-based auto action from legacy user decision— 本判断は #1065 の sentinel mechanic を adapter section 単位から bootstrap walkthrough 全体に拡張する形 -
#1234
refactor: github-history-driven judgment criteria for boot-token reduction— boot-token reduction の rules audit 軸 (-340 lines / 21% 達成)。 本判断は walkthrough 経路 skip 軸で相補 - li-plus-lightening-l1-gate-override — 軽量化判断 (2026-05-11)。 本判断は同系譜の継続だが L1 gate override は不要
この 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