spec(operations-on-release): post-#1330 hygiene - safer wiki sync (patch) (#1331) - #1332
Conversation
…tch) PR #1330 merge 後の wiki sync で露見した unbounded destructive glob (`rm [A-Z]*.md [0-9]*.md Home.md _Footer.md`) を auto-mode classifier が block。回避策として drift set 限定操作で同一結果を達成した運用知見を spec に反映。 変更内容: - skills/operations-on-release/SKILL.md の Steps セクションを refactor。 - Step 3 (Selective wipe) + Step 4 (Copy) を「drift set 算出 → 個別 op 適用」 パターンに置換。to_copy / to_delete を明示的に列挙し、unbounded glob `rm` を仕様から除去。 - end state は wipe-and-copy と byte-for-byte 同一であることを Rationale で 明記。task-deletion-impact の blast-radius 軸との整合も併記。 - drift 0 件時は commit/push を skip して cleanup に直行する no-op path を追加。 当初の Problem A (stale `docs/Decision-Log.md` references) は PR #1330 で 既に解消済み (grep 検証 0 hit)、本 PR の scope 外。 リリース分類: patch (execution-mode.md per-PR exception 適用)。 governance structure 内変更、user/system observable impact なし。 Closes #1331
liplus-lin-lay
left a comment
There was a problem hiding this comment.
AI self-review
per-PR exception literal citation
rules/operations/execution-mode.md per-PR exception:
If the PR's own modification qualifies as patch under release-version.md (governance structure change with no user/system observable impact, e.g. language alignment, typo, comment, internal literal, docs alignment), the human-check requirement is waived; AI direct-merges regardless of the parent issue's release type.
exception judgment reason
governance structure change, internal AI authoring guidance only (skills/operations-on-release/SKILL.md), no user/system observable impact, exception applied as patch-equivalent。
判断根拠:
- 変更対象は AI が release ceremony を実行するときに参照する SKILL.md のみ。Li+ user/system が直接観測する artifact (実装、CI 出力、API 等) には影響しない。
- wipe-and-copy → diff-targeted copy の置換は end state byte-for-byte 同一 (
to_copy/to_deleteが drift set を全 cover する設計のため)。wiki 出力差分なし。 task-deletion-impactの blast-radius 軸との整合性向上は内部 spec 整合であり、外部観測な振る舞いは変わらない。
grep verification 結果
git grep -nE 'Decision[ _-]?Log|docs/Decision-Log':docs/Decision-Structure.md:146の歴史的記述 1 件のみ(rename rationale の説明文脈、stale ではなく意図的)。git grep -n 'rm \[A-Z\]' skills/operations-on-release/SKILL.md: Rationale 段落の 1 件のみ(prescribed instruction ではなく、rejected pattern を citing する説明文)。- prescribed instruction としての wipe pattern は完全に除去済み。
scope 範囲確認
当初想定された Problem A (stale docs/Decision-Log.md references at lines 118/139/155/157) は PR #1330 で既に解消済みであることを確認。本 PR は Problem B (wipe pattern refactor) のみに scope 限定し、issue body / commit body / PR body のいずれにもこの事実を明記。premise 不一致を silent passing せず明示した。
cross-component coherence
- 触ったファイルは
skills/operations-on-release/SKILL.mdのみ。 docs/側 drift なし → wiki sync 不要、本 PR merge 後の追加作業なし。_Sidebar.mdintegrity check、cross-reference integrity check、release ceremony 全体 step 構造、Windows case-only rename hazard 注記は変更なし。隣接セクションへの side effect なし。skills/task-deletion-impact/SKILL.mdへの明示的 cross-reference を Rationale に追加し、blast-radius 軸との整合を spec 上可視化。
Li+ spec coherence
- L1 Model Layer (rules/) 変更なし → L1 update gating 適用外。
- L4 Operations Layer (skills/operations-*) 内の手順最適化のみ、layer 越境なし。
- evolution loop 上は observe → distill → spec update に該当(wiki sync 実運用での問題観測 → 単発で spec 反映、long-horizon 観測の必要なし)。
…attern Rationale 段落に build-2026-05-20.1 sync の運用観測を追加。drift set 7 files の実例と wipe-and-copy との等価性確認を spec 上の empirical anchor として明記。これは前 commit の論理的な extension で、同一 PR 内で同一 SKILL.md の Rationale を強化するスコープ。 Refs #1331
サマリ
PR #1330 merge 後の wiki sync 実行中に露見した、
skills/operations-on-release/SKILL.mdの unbounded destructive glob (rm [A-Z]*.md [0-9]*.md ...) を diff-targeted copy パターンに refactor。task-deletion-impactの blast-radius 軸と spec を整合。当初想定された stale
docs/Decision-Log.mdreferences (Problem A) は PR #1330 で既に解消済み (grep 検証 0 hit) のため、本 PR の scope は wipe pattern refactor (Problem B) のみ。変更内容
skills/operations-on-release/SKILL.mdの wiki sync 手順を以下のように refactor:for f in {tmpdir}/[A-Z]*.md ... do rm -fの unbounded glob 削除を、to_copy/to_deleteの drift set 算出に置換。rm+cpループに置換。drift 0 件時は commit/push を skip。task-deletion-impact整合、fallback 非許可を明文化。_Sidebar.mdintegrity / cross-reference integrity /git status --shortcheck)、release ceremony 全体構造、Windows case-only rename hazard 注記は変更なし。リリース分類
patch (
rules/operations/execution-mode.mdper-PR exception 適用)per-PR exception 適用根拠
rules/operations/execution-mode.mdper-PR exception 抜粋:本 PR は AI 内部 governance instruction (
skills/operations-on-release/SKILL.md) のみを更新し、Li+ user/system observable な挙動は変わらない。wipe-and-copy → diff-targeted copy の置換は手順 wording の差分で、外部 artifact 出力(wiki 状態)は同一。よって per-PR exception 適用、patch 直マージとする。テスト計画
git grep -nE 'Decision[ _-]?Log|docs/Decision-Log'—docs/Decision-Structure.md:146の歴史的記述以外で 0 hit。git grep -n 'rm \[A-Z\]' skills/operations-on-release/SKILL.md— Rationale 段落の説明 1 件のみ (prescribed instruction としては 0 件)。_Sidebar.mdintegrity check / cross-reference integrity check / Windows case-only rename hazard 等の隣接セクションが意図せず壊れていないことを確認。Closes
Closes #1331