品質ダッシュボード
閉鎖ループ、横断違反、プロダクト準備度を確認する
Transformation Cycle
理想を宣言し、収束させる。問題は副産物として消える。design_integrity(IPPUKU 含む)の収束。下記 IDE Architecture の Closed/Partial は mirror のルール状態。
IDE Architecture
Closed Loop ModelYAML → CLAUDE.md → Component → Type → CSS の 5 層が揃うと違反は構造的に不可能になる。事故 → 学習 → ルール追加 のサイクルで 1 つずつ閉じる。
CLOSED LOOP MODEL
5層全てが揃ったとき、違反は構造的に不可能になる。 事故 → 学習 → ルール追加 のサイクルで 1 つずつループを閉じていく。
ROOT CAUSE
【コード/デザイン品質】 全ての partial/open ループに共通する根本原因: 「生の MUI コンポーネント + sx prop」が無制約のまま使われている。 SIA 型システムは完成している(Level 5 達成)。 しかし SIA コンポーネントの採用率が低い(推定 < 10%)。 IPPUKU ハードニング(2026-02-11)で新たな知見: Tailwind プロジェクトでは MUI sx の問題はないが、 Tailwind の便利クラス(py-20, px-5 等)が SIA スケールを破る。 3回の反復監査で 26箇所の違反を検出・修正。 【執筆品質】— CLOSED(2026-02-28) AI生成テキストの断定的・処方的表現偏向に対し、 voice-compliance ゲート(3カテゴリ: 処方的, CANDOR危険信号, 閉じた表現)で 違反ゼロ + CI PR ブロックを達成。46件→0件(3修正 + 除外パターン拡張)。 【共通戦略】 Contract(YAML) → Rules(CLAUDE.md) → Gate(script) → RRL(loop) の パターンを全ドメインに適用し、1つずつループを閉じる。
Closed Loops (12)
container-widthcontainer-base に幅制約を書いてはならない
Swimming ブログ追加時に maxWidth:720 で全幅が壊れた — closed 2026-02-10
article-authoring記事コンテンツで生の MUI sx を使ってはならない
記事ページの sx={{}} に約50のスタイル判断点 → 全てが潜在的違反 — closed 2026-02-10
handoff-payload委任は HandoffPayload のみ。自由文 handoff は型で禁止(task_assignment の content で強制)
計画 #6(グッドサイクル)。sendMessage(task_assignment) を TaskAssignmentContent にし handoffPayload 必須化 — closed 2026-02-16
typography-weight禁止ウェイト: 600 (semibold), 800 (extrabold)
fontWeight: 600 が24ファイル/55箇所に散在。designSystem.typography.fontWeight.semibold 参照も存在 — closed 2026-02-22
spacing-scale4px base scale のみ使用(Tailwind半端値 1.5/2.5/3.5 禁止)
Tailwind の py-1.5, px-1.5, gap-1.5, mb-2.5 等が 4px base scale を破る(13ファイル/45箇所) — closed 2026-02-23
color-monotonegray-50〜900 + white/black のみ使用
MUI sx={{}} やインラインスタイルで任意のカラーが使用可能。SIA コンポーネント移行 + CI ゲートで閉鎖 — closed 2026-02-28
border-radius2-level system: none (0) / full (9999px)
rounded-sm が HeatmapCell/CrossAnalysisView/PlatformHeatmapGrid 等に散在 — closed 2026-02-28
shadow-tokens許可されたシャドウトークンのみ(shadow-none〜shadow-2xl)
inline boxShadow / CSS box-shadow が evolution コンポーネントや cardStyles に散在 — closed 2026-02-28
font-familybase: Noto Sans JP, accent: Montserrat, mono: SF Mono。var(--font-*) 経由のみ許可
fontFamily: '"SF Mono", Monaco, ...' のハードコードが 79箇所に散在 — closed 2026-02-28
font-size-scale12, 14, 16, 18, 20, 24, 30, 36, 48, 60, 72, 96 px のみ
text-[0.625rem], text-[10px], fontSize: 13 等の非標準値が229箇所に散在 — closed 2026-02-28
z-index-stackコンポーネント間の z-index 順序(許可値: 0,1,5,10,1000,1001,1100,1101,1199,1200,1201,1300)
散在する z-index 値がドロワーとヘッダーの重なり不具合を招く — closed 2026-02-28
voice-compliance品を映す言葉の体系。押し付けない、決めつけない、閉じない。執筆品質(#W)ドメイン。
AI生成テキストの断定的・処方的表現偏向。品質ゲートなしでは回帰する構造的問題。 — closed 2026-02-28
Partial Loops (0)
Open Loops (0)
Project Status (12)
North Star - ブランドサイト
Coordinator Agent - 運営基盤
TRUST実装
Service - LIFE診断
Service - PAIR診断
Service
Service
Business
Business
Service - 週次自己認識
Business
Business - 社内ポータル (GAS HTML-only)
Evolution Roadmap
高頻度パターンをコンポーネント化し、CLAUDE.md で誘導する。 事故が起きるたびに 1 つずつループを閉じていく。
SIA コンポーネントの採用率向上。mirror は全39ページのルート・ヘッダーを SIA Box/Text に移行済み(2026-02-16)。 typography-weight は除外2ファイル(design-system, sia カタログ)以外で違反ゼロ。他プロジェクトは段階的移行。
target: SIA コンポーネント採用率 50%(mirror はページ移行完了)
CI/CD で partial loops の検出を自動化。 typography-weight: CI に追加済み(AR)。違反ゼロ(AT 完了)のため quality-gate の continue-on-error を解除し PR ブロック化(AU 2026-02-16)。 color-monotone: check-monotone.sh を CI に追加済み(AS)。報告のみ(|| echo)。違反解消後に PR ブロック化可能。
target: 全 partial loops を CI で検出。typography は PR ブロック済み。
生の MUI sx をプロジェクトレベルで制限。 全ページが SIA/Article コンポーネント経由。
target: closed loops = total rules
Cross-Project Quality
22 projects全プロジェクト横断の品質観測。voice-compliance, color-monotone, border-radius の 3 ドメインで baseline を記録し、回帰を検知する。
| Project | Voice | Color | Radius | Total |
|---|---|---|---|---|
| mirror | 0 | 45 | 62 | 107 |
| one-portal | 1 | 1 | 33 | 35 |
| mix | 3 | 0 | 13 | 16 |
| ippuku | 8 | 0 | 4 | 12 |
| life | 12 | — | — | 12 |
| pair | 12 | — | — | 12 |
| seehub | 12 | — | — | 12 |
| prism | 9 | — | — | 9 |
| one | 6 | — | — | 6 |
| root | 5 | — | — | 5 |
| i2 | 4 | — | — | 4 |
| ngc | 3 | — | — | 3 |
| real | 2 | 0 | 1 | 3 |
| bond | 2 | — | — | 2 |
| lens | 2 | — | — | 2 |
| trust | 2 | 0 | 0 | 2 |
| iconiq | 0 | 0 | 1 | 1 |
| layer | 0 | — | — | 0 |
| leap | 0 | — | — | 0 |
| renew | 0 | — | — | 0 |
| shift | 0 | — | — | 0 |
| tetris | — | 0 | 0 | 0 |
Updated: 2026-02-28 — Source: .quality/voice-compliance.yaml, .quality/cross-project-observations.yaml
ATLAS Product Readiness
v3.1 — 出していいかATLAS v3.1 は「このプロダクトを出していいか」を構造的に問う体系。 Activity は過去(何をしたか)、Five-Layer は現在(壊れていないか)を見る。 ATLAS は未来(出していいか)を見る。3つが揃って品質の全体像になる。
人にとって望ましいか。誰が使い、なぜ必要で、体験は良いか。この柱が欠けると、完璧に動くが誰も使わないものができる。
構築し、提供し続けられるか。動く・安全・届く・耐える・見える・直せる。この柱が欠けると、望ましいものが壊れる。
事業として持続できるか。価値が届き、収支が成立し、法を守れるか。この柱が欠けると、良いプロダクトが資金切れで消える。
対応が必要 (9)
対応が必要 (3)
Hardening Playbook
実践パターンプロジェクトのプロダクションハードニングで得た実践知を再利用可能なパターンとして体系化。 ATLAS 監査サイクル(audit → fix → re-audit × 3回)で発見・検証済み。Origin: IPPUKU (35/60 PASSED, 3 OPEN)
Next.js middleware.ts に認証・レート制限・監査を集約。
外部Webhook(Stripe等)の受信で
GDPR 権利をスキーマ定義→API強制→UI表示の3層で実装。
PII フィールドを AES-256-GCM で暗号化してDBに保存。
SIA 4px base スケール (0,2,4,8,12,16,24,32,48,64,96px) に
Next.js + Clerk + Stripe 構成の標準環境変数セット。
ATLAS v3.1 による品質監査は3回の反復で最大効果を発揮する。
Vercel Cron Jobs は Authorization ヘッダで保護。
回答数ベースの進行(currentWeek = totalAnswers % 52 + 1)に加え、
ユーザー入力(自由記述・ジャーナル・チェックイン)がシステムの
サービスの内部ロジックについて、何を公開し何を秘匿するかを
同一UIコピー(テキスト)が3箇所以上に出現する場合、