milestone subsystem removal - Liplus-Project/liplus-language GitHub Wiki
milestone-subsystem-removal
Question
Li+ は GitHub milestone サブシステム(作成時 milestone 必須 + リリース完了時 delete)を持つべきか。
Current resolution
撤去(2026-06-08, issue #1475 / PR #1476)。milestone-mandatory 体制を廃し、milestone 関連のルール・参照を source から削除した。
理由(構造的、precedent ではない):
- milestone の機能のうち AI 駆動開発で生き残るのは「release グルーピング」のみ。締切 / バーンダウン / キャパシティ計画は人間チーム前提の機能で、AI 駆動では機能しない。
- その grouping は Li+ では既に冗長: release
--generate-notes⇄ PRCloses #N⇄ commit body の issue 番号必須、で「どのリリースに何が入ったか」は別経路で引ける。冗長 grouping を残す縮小案より、撤去が subtractive structural beauty (A) 的に上。 - existence proof: milestone 生成が liplus-language で v1.17.8(2026-05-22)/ user repo で 2026-04-19 以降停止し、6-7 週間 milestone ゼロで release・issue 追跡・release notes いずれも無破綻 = load-bearing でなかった実証。
- 副次: 撤去で「閉じただけで delete していない」削除側 drift も対象消滅で解消。
撤去対象: skills/operations-on-milestone/SKILL.md(ファイル削除)/ operations-on-release の milestone delete ステップ / operations.md / task.md / docs/3,4 / adapter/codex/AGENTS.md / operations-on-issue-maturity / model-trigger-check-gate-actions(L1, delegation 検証列挙から "milestone names" 除去)。release flow 完了 gate は「wiki-sync + milestone delete」→「wiki-sync 単独」に再配置。既存 closed milestone 実体は archive として残置。
起点 drift(なぜ放置されていたか)
milestone 生成停止は、AI が「最近更新されてないから今回も無し」という precedent-only / 自己強化 inertia 理由で黙って続けた drift だった。行動(skip)は結果的に正しかったが、理由は却下対象 — 正しい行動が腐った理由を浄化しない。先行 issue #1427 が同じ不整合を観測したが、起票トリガーが phantom 指示由来で衛生 close され、「再作成する」宣言ごと orphan 化していた(#1475 がその作り直し)。
Edges
- supersedes: milestone-mandatory 体制(旧
operations-on-milestone「Every issue must have a milestone at creation」+ naming = version number)。 - depends on: Master verification at runtime not spec(撤去の効果検証は runtime 観測軸)。前提 = release-notes /
Closes/ commit issue 番号の三重グラフが release grouping を冗長化している事。