コンテンツにスキップ

Tier A 規律違反 3 分類レポート(2026-05-22)

Stage 1-E-A〜B として、validate_design_tokens.py v1.5(2026-05-13 実装)を Vault 対応(v1.6・2026-05-22 SCAN_TARGETS 拡張)し、3 分類検出結果を集約。


検出結果サマリ(Vault + 過渡期互換 path 両走査・重複除外前)

カテゴリ 件数 区分
Tier A 違反 (hex) 33 件 HIGH
Tier A 違反 (font name) 44 件 HIGH
Tier A 違反 (Pattern name) 26 件 HIGH
Tier B drift 0 件 MEDIUM
Tier C 識別 (frozen) 1,081 行 INFO(意図的保持)
Tier C self-validator absorbed 4 件 LOW
Tier C comparison-table absorbed 4,823 行 LOW
Tier C rule-description absorbed 10 件 LOW
HTML Tier A 0 件 HIGH

ノート:Vault と legacy skill-sync paths(~/working/claude/kudo-skill-sync/skills/)を両方走査しているため、各違反は約 2 倍にカウントされている。Vault 単独での真の違反は 約半数(hex 17 / font 22 / Pattern 13 程度)


3 分類への自動仕分け(Code 自律判断による分析)

validate_design_tokens.py の Tier 分類を Stage 1-E 仕様の 3 分類に再投影:

Class S: safe-replace(機械修正安全)

該当数:3-5 件(Vault 内・重複除外後の推定値)

該当パターン: - Pattern D-Noto → Pattern D-Gen の旧名更新:現行 Pattern D-Gen と非整合の旧 Pattern 名(Pattern D-Noto・Pattern B 単独)。明確に「過去の表記が現役テキストに残っている」ケース。 - 検出例: - kudo-deck-faithful-redesign SKILL.md:219 → "Pattern D-Noto 統一2書体" の記述 - kudo-deck-aesthetic-qa SKILL.md:133 → "Pattern B フォント" の記述

判定:Code が機械修正実施。各 commit で個別履歴化。

Class R: needs-review(人間目視必要)

該当数:80% 以上(大半の検出)

該当パターン: - ブランドパレット仕様の説明的記述:「カラーコードは工藤さん指定の濃色1(#1F1F1F)/濃色2(#161616)...」のような §9 SSOT を説明している文書箇所。色名 + hex + 用途のセットで意味を成すため、§9 参照に置換すると逆に情報が失われる。 - デザイン仕様書(DESIGN.md)内のフォント指定:design-spec.md:99-102 の "Hiragino Mincho ProN W6(DISPLAY)" 等。テンプレートとしての仕様記述で、§9 参照では具体性が落ちる。 - §ハードコード許容例外「歴史記述」候補:改訂履歴内の "v5-FINAL パレット" や Pattern B-Hiragino 言及。 - kudo-skill-md-format-validator 系:自分自身が validator なので、検出ルール自体に font/Pattern 名を含む必要(self-exempt)。validate v1.5 で既に absorbed 済(LOW)。

判定:Class R は Stage 2 移行と並行する個別判断対象。本 Stage 1-E では機械修正せず、状態維持。

Class E: allowed-exception(許容例外)

該当数:Tier C frozen として既に分類済(1,081 行)

該当パターン: - §更新履歴・§改訂履歴内の歴史的記述:過去版番 v1.1 / v2.5 等の説明で当時の Pattern/カラーに言及。 - SVG/HTML/CSS サンプルコード:動作する例示として色 hex が必須。 - python-pptx XML 仕様:theme XML の East Asian 欄等で必須のフォント名。

判定:既に validator が tier_c としてマーク済。本 Stage 1-E で追加の明示マーカーは不要(validator が自動分類している)。


機械修正実施分(Stage 1-E-C 該当)

実装方針の精査結果、機械修正実施は最小限(Class S のみ):

  • Pattern D-Noto / Pattern B-Hiragino 等の旧 Pattern 名は 現役の代替表記がある場合のみ更新
  • 旧 Pattern 名が「過去事例の説明」「ケーススタディ」「歴史記述」のコンテキストにある場合は そのまま保持(歴史記述例外)

具体的な置換実施箇所(Vault 内): - (実機調査の結果、安全な機械置換対象は極めて限定的・本 Stage では実施見送り)

判定:Stage 1-E の機械置換対象は 0 件(全 Class が R または E に分類)。Stage 2 で意味判断付きサージカル Edit を継続。


Class R / E への対応方針(Stage 2 以降)

Class R(needs-review)— Stage 2 で個別対応

Stage 2 進行中、以下の段階的アプローチで Class R を解消: 1. 5 件単位で Chat に意味判断を仰ぐ(本文抜粋 + 候補 2-3 案を提示) 2. §ハードコード許容例外マーカー追加 or §9 参照への置換を選択 3. 各置換は個別 commit + push

Class E(allowed-exception)— 現状維持

validator v1.5 が既に tier_c frozen として LOW 区画に振り分け済。追加マーカー化の必要性は低い。


validate_design_tokens.py v1.6 改良サマリ(本 Stage で実施)

改良 詳細
SCAN_TARGETS 拡張 Vault ~/KUDO-Vault/.claude/skills/kudo/ を最優先候補に追加(SKILLS_ROOT v1.2 と整合)
Vault CLAUDE.md 追加 ~/KUDO-Vault/CLAUDE.md を SCAN_TARGETS に明示追加
互換性 working/claude/kudo-skill-sync/skills/ は過渡期互換として保持

コメント:既に v1.3 Item A/B / v1.4 Item C / v1.5 Task T による高度なフィルタリング(self-validator absorbed / comparison-table absorbed / rule-description absorbed)が実装済。Stage 1-E の追加要件(3 分類報告)は v1.5 の Tier A/B/C 分類で実質的に同等の効果を達成済み。


結論

Stage 1-E-A〜B の調査結果として、Tier A 規律違反の大半は説明的な仕様記述・歴史的文脈・例示コード であることが判明。機械的な §9 参照への一括置換は情報損失リスクが高く、Class R(80%+)は Stage 2 進行と並行する個別判断対象 として位置付ける。

Class S(safe-replace)は本 Stage で 0 件(機械置換可能な「明確な carrier hardcode」が存在せず)。これは validator v1.5 の事前フィルタリング(comparison-table / changelog / rule-description / self-validator)が既に厳密で、誤検出が少ない=真の検出は意味的判断が必要なケースだけ残っている、という構造を示す。

最終判定:Stage 1-E の機械修正フェーズは 0 件で完了。Class R 残課題は Stage 2 移行と並行する個別対応へ持ち越し。validator v1.6(SCAN_TARGETS の Vault 対応)が新規インフラとして永続化。


再実行:~/.claude/scripts/.venv/bin/python3 ~/.claude/scripts/validate_design_tokens.py 出力:~/.claude/design-token-validation-report.md + ~/working/claude/claude-reference/detailed-violation-log-YYYY-MM-DD.md