Transformation Cycle

理想を宣言し、収束させる。問題は副産物として消える。
13 / 18 loops closed72%

design_integrity(IPPUKU 含む)の収束。下記 IDE Architecture の Closed/Partial は mirror のルール状態。

宣言
検出
収束
結晶化
Next Convergence
font-familyfontFamily のハードコードが散在し、一貫性が崩れやすい
Design Integrity
設計の完全性
13/18 loops
Security Posture
セキュリティ態勢
1/11 projects
Product Readiness
プロダクト準備
1/11 projects
Information Architecture
情報構造
100%
IDE Pipeline
構想実行パイプライン
3/7 steps

IDE Architecture

Closed Loop Model

YAML → CLAUDE.md → Component → Type → CSS の 5 層が揃うと違反は構造的に不可能になる。事故 → 学習 → ルール追加 のサイクルで 1 つずつ閉じる。

12/12 Closed0/12 Partial0/12 Open
updated: 2026-03-21

CLOSED LOOP MODEL

YAML
CLAUDE.md
Component
Type
CSS
→ loop back

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-width

container-base に幅制約を書いてはならない

CLOSED

Swimming ブログ追加時に maxWidth:720 で全幅が壊れた — closed 2026-02-10

article-authoring

記事コンテンツで生の MUI sx を使ってはならない

CLOSED

記事ページの sx={{}} に約50のスタイル判断点 → 全てが潜在的違反 — closed 2026-02-10

800行, ~50判断点308行, 0判断点
handoff-payload

委任は HandoffPayload のみ。自由文 handoff は型で禁止(task_assignment の content で強制)

CLOSED

計画 #6(グッドサイクル)。sendMessage(task_assignment) を TaskAssignmentContent にし handoffPayload 必須化 — closed 2026-02-16

typography-weight

禁止ウェイト: 600 (semibold), 800 (extrabold)

CLOSED

fontWeight: 600 が24ファイル/55箇所に散在。designSystem.typography.fontWeight.semibold 参照も存在 — closed 2026-02-22

spacing-scale

4px base scale のみ使用(Tailwind半端値 1.5/2.5/3.5 禁止)

CLOSED

Tailwind の py-1.5, px-1.5, gap-1.5, mb-2.5 等が 4px base scale を破る(13ファイル/45箇所) — closed 2026-02-23

color-monotone

gray-50〜900 + white/black のみ使用

CLOSED

MUI sx={{}} やインラインスタイルで任意のカラーが使用可能。SIA コンポーネント移行 + CI ゲートで閉鎖 — closed 2026-02-28

border-radius

2-level system: none (0) / full (9999px)

CLOSED

rounded-sm が HeatmapCell/CrossAnalysisView/PlatformHeatmapGrid 等に散在 — closed 2026-02-28

shadow-tokens

許可されたシャドウトークンのみ(shadow-none〜shadow-2xl)

CLOSED

inline boxShadow / CSS box-shadow が evolution コンポーネントや cardStyles に散在 — closed 2026-02-28

font-family

base: Noto Sans JP, accent: Montserrat, mono: SF Mono。var(--font-*) 経由のみ許可

CLOSED

fontFamily: '"SF Mono", Monaco, ...' のハードコードが 79箇所に散在 — closed 2026-02-28

font-size-scale

12, 14, 16, 18, 20, 24, 30, 36, 48, 60, 72, 96 px のみ

CLOSED

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)

CLOSED

散在する z-index 値がドロワーとヘッダーの重なり不具合を招く — closed 2026-02-28

voice-compliance

品を映す言葉の体系。押し付けない、決めつけない、閉じない。執筆品質(#W)ドメイン。

CLOSED

AI生成テキストの断定的・処方的表現偏向。品質ゲートなしでは回帰する構造的問題。 — closed 2026-02-28

Partial Loops (0)

Open Loops (0)

Project Status (12)

seehub4 closed

North Star - ブランドサイト

types: deployedcomponents: partial
mirror9 closed

Coordinator Agent - 運営基盤

types: sourcecomponents: partial
trust0 closed

TRUST実装

types: deployedcomponents: minimal
life0 closed

Service - LIFE診断

types: deployedcomponents: minimal
pair0 closed

Service - PAIR診断

types: deployedcomponents: minimal
mix0 closed

Service

types: deployedcomponents: minimal
iconiq0 closed

Service

types: deployedcomponents: minimal
bond0 closed

Business

types: deployedcomponents: minimal
root0 closed

Business

types: deployedcomponents: minimal
ippuku7 closed

Service - 週次自己認識

types: deployedcomponents: native
lens0 closed

Business

types: deployedcomponents: minimal
ngc-internal5 closed

Business - 社内ポータル (GAS HTML-only)

types: n/acomponents: n/a

Evolution Roadmap

Pit of Success(正しい道を楽にする)in_progress

高頻度パターンをコンポーネント化し、CLAUDE.md で誘導する。 事故が起きるたびに 1 つずつループを閉じていく。

Component Coverage(採用率向上)in_progress

SIA コンポーネントの採用率向上。mirror は全39ページのルート・ヘッダーを SIA Box/Text に移行済み(2026-02-16)。 typography-weight は除外2ファイル(design-system, sia カタログ)以外で違反ゼロ。他プロジェクトは段階的移行。

target: SIA コンポーネント採用率 50%(mirror はページ移行完了)

Automated Enforcement(自動強制)in_progress

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 ブロック済み。

Full Impossibility(完全不可能性)planned

生の MUI sx をプロジェクトレベルで制限。 全ページが SIA/Article コンポーネント経由。

target: closed loops = total rules

Cross-Project Quality

22 projects

全プロジェクト横断の品質観測。voice-compliance, color-monotone, border-radius の 3 ドメインで baseline を記録し、回帰を検知する。

Total Findings
243
Clean Projects
5/ 22
Voice
83in 15 projects
Color Monotone
46in 2 projects
Border Radius
114in 6 projects
ProjectVoiceColorRadiusTotal
mirror04562107
one-portal113335
mix301316
ippuku80412
life1212
pair1212
seehub1212
prism99
one66
root55
i244
ngc33
real2013
bond22
lens22
trust2002
iconiq0011
layer00
leap00
renew00
shift00
tetris000

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つが揃って品質の全体像になる。

D: Desirable望ましいか

人にとって望ましいか。誰が使い、なぜ必要で、体験は良いか。この柱が欠けると、完璧に動くが誰も使わないものができる。

F: Feasible構築できるか

構築し、提供し続けられるか。動く・安全・届く・耐える・見える・直せる。この柱が欠けると、望ましいものが壊れる。

V: Viable持続できるか

事業として持続できるか。価値が届き、収支が成立し、法を守れるか。この柱が欠けると、良いプロダクトが資金切れで消える。

14 LayersD3層 + F6層 + V4層 + Scale/Exit。各Layerに具体的なCheckpointを配置。
5 Status PASSED / OPEN / MITIGATED / DEFERRED / N/A
3 TiersT1 MVP ($0-50) → T2 Growth ($50-500) → T3 Scale ($500+)。 段階に応じて求められる水準が変わる。
SEEHUBT1OPEN: 9
!最終精査: 8週間前
PASSEDOPENMITIGATEDDEFERREDN/A

対応が必要 (9)

1.対象ユーザーD1
ブログ読者(広い)、結婚/人生診断のユーザー(広い)。ペルソナ未定義
カテゴリ別(catalyst/solitude/ima/診断)のペルソナを定義
2.実ユーザー検証D1
実ユーザーテスト未実施。診断フローの体験検証なし
5人に診断フローを使ってもらい、体験をインタビュー
3.継続の仕組みD2
再訪導線なし。ニュースレターAPI実装済だが導線未整備
ブログ更新通知+ima記事群のシリーズ化で再訪理由を設計
4.不要な摩擦D2
診断フローは認証不要で開始可能。ブログは直接アクセス可能。MUI+Tailwind二重構成によるUI不整合が摩擦源の可能性あり
MUI+Tailwind共存のUI一貫性を検証し、不整合箇所を特定
5.説明可能性D3
診断スコアリングロジックはクライアントサイドだが、ユーザーへの説明UI(なぜこの結果になったか)は未実装
診断結果画面にスコアリングロジックの簡易説明を追加
6.依存パッケージ安全性F2
npm audit未実施。Dependabot未設定
npm audit + Dependabot有効化
7.到達経路V1
到達経路未定義。SEO基盤はNext.js SSGで整っている
SEO戦略 + SNS展開計画を策定
8.収益モデルV2
完全無料。収益モデル未定義
収益化の仮説を明文化(例: 診断の詳細レポート有料化、コンテンツスポンサー等)
9.技術的負債管理V4
主な技術的負債: MUI+Tailwind二重構成、コンテンツのTSXハードコード(CMS化未定)、テストカバレッジ不足
ATLASのOPEN項目 = 残負債リスト。MUI+Tailwind統一を優先的に検討
IPPUKUT2OPEN: 3
!最終精査: 7週間前
PASSEDOPENMITIGATEDDEFERREDN/A

対応が必要 (3)

1.実ユーザー検証D1
テストプロトコル設計済(docs/user-test-protocol.md)。テスト実施待ち
5人にプロトタイプを使ってもらい、テストプロトコルに従ってインタビュー
2.体験品質D2
回答レベル: Afterglow・マイクロインタラクション・スケルトンUI・エラーリカバリ・Archive洗練・既回答画面の意図的停留感。年単位: 深度進行の体感設計・年次完了体験・Echo強調が未設計。prefers-reduced-motion対応済
5人テスト後に年次レビュー体験を設計。テスト結果で優先度を判断
3.到達経路V1
未定義。口コミ想定だが具体施策なし
LP + 初期10人への直接案内を設計

Hardening Playbook

実践パターン

プロジェクトのプロダクションハードニングで得た実践知を再利用可能なパターンとして体系化。 ATLAS 監査サイクル(audit → fix → re-audit × 3回)で発見・検証済み。Origin: IPPUKU (35/60 PASSED, 3 OPEN)

Centralized Security Gateway

Next.js middleware.ts に認証・レート制限・監査を集約。

Three-Layer Webhook Defense

外部Webhook(Stripe等)の受信で

Schema-to-API Enforcement Chain

GDPR 権利をスキーマ定義→API強制→UI表示の3層で実装。

AES-256-GCM Field Encryption

PII フィールドを AES-256-GCM で暗号化してDBに保存。

Tailwind Anti-Pattern Dictionary

SIA 4px base スケール (0,2,4,8,12,16,24,32,48,64,96px) に

Next.js + Clerk + Stripe Standard Config

Next.js + Clerk + Stripe 構成の標準環境変数セット。

Triple-Pass ATLAS Audit

ATLAS v3.1 による品質監査は3回の反復で最大効果を発揮する。

CRON_SECRET Production Enforcement

Vercel Cron Jobs は Authorization ヘッダで保護。

Server-Side Time Gate for Sequential Content

回答数ベースの進行(currentWeek = totalAnswers % 52 + 1)に加え、

Translucent Feedback Loop Disclosure

ユーザー入力(自由記述・ジャーナル・チェックイン)がシステムの

OPEN / TRANSLUCENT / CLOSED Disclosure Zones

サービスの内部ロジックについて、何を公開し何を秘匿するかを

UI Copy Constant Extraction (TIP C2)

同一UIコピー(テキスト)が3箇所以上に出現する場合、