A の scope は意図的に狭い:
canon: permanent-ui-principles §1 「The UI wins by showing less」 (A レベルでの実装) / §13 visual system / design_system_v1 §1-§4 token spec
理由:
--kashi-paper-tint 背景 + 1px border outline で統一すれば、 視覚的優先度の混乱は十分解消される。並べ方:
3 行目が 3 枚なのは 11 = 4 + 4 + 3 という現状の自然な分割を尊重した結果。 grid は 4 列のまま、 3 行目は左寄せで自然に並ぶ。
canon: permanent-ui-principles §7 progressive disclosure は A では PARTIAL — 11 並列は 「3-5 cards」 ルールを逸脱するが、 A は意図的にそれを残す (B の存在意義のため)
complaints.md C-A1 「11 並列認知負荷」 未解決 / A の意図的限界
A の主目的の 1 つは token 統一なので、 ここを詳細に列挙します。 全て design_system_v1.md の verbatim 値:
| 箇所 | 適用 token | 解消する r19 課題 |
|---|---|---|
| 11 アクションカード背景 | --kashi-paper-tint (#F7F8FA) を全カード統一 |
r19 §6.2 (濃緑/白混在 → 統一) |
| 11 アクションカード枠線 | --kashi-border (#E5E7EB) 1px outline |
r19 §6.2 (枠あり/なし混在 → 統一) |
| カード内アイコン | --kashi-evergreen (#2F6B4A) + Lucide outline 1.5px stroke + 20px size grid (§7 iconography) |
r19 §6.2 (アイコンの色・サイズ混在) |
| H1 (demo株式会社) | Fraunces 500 + 36px + --kashi-evergreen-deep |
r19 (現状 Inter のみ → serif 統一) |
| H2 セクション見出し (管理アクション/チーム一覧) | Fraunces 500 + --text-h3 (24px) + --kashi-evergreen-deep |
r19 (H レベルの size 不揃い) |
| KPI 数値 (12 / 47 / 156) | Fraunces 500 + 32px + --kashi-ink |
「数字が serious に読める」 (B との共通項) |
| カード hover | border-color → --kashi-evergreen · background → --kashi-paper · --shadow-sm |
r19 (hover state 不揃い) |
| spacing 全体 | card padding --space-5 (24px) · card 間 gap --space-4 (16px) · section 間 --space-8 (48px) |
r19 (8-point grid 違反箇所多数) |
| focus ring (全 interactive 要素) | --shadow-focus (0 0 0 3px rgba(47,107,74,0.4)) |
a11y baseline (§12) |
| radius | カード --radius-md (8px) · 内部要素 --radius-sm (4px) で統一 |
r19 (radius 値混在) |
| font stack | 本文 IBM Plex Sans + Zen Kaku Gothic New · 見出し Fraunces · 数値・ラベル IBM Plex Mono | design_system_v1 §2 typography (現状未適用箇所) |
canon: design_system_v1.md §1 color tokens / §2 type scale / §3 spacing / §4 radius+shadow+focus / §7 iconography / r19 §6.2 「Color semantics inconsistent」 解消
改訂対応表:
| 旧ラベル | 新ラベル (A 版) | 改訂理由 |
|---|---|---|
Longitudinal |
稼働状況確認 | 「縦断的分析」 を連想させる → admin canon §4 「operational のみ」 に違反。 アップロード頻度・連続性の operational 監視であることを明示 |
Coverage |
データ品質 | 「coverage 分析」 と読まれる → transcript 品質・抜けチェック (data quality) という operational concern であることを明示 |
Readiness |
準備度チェック | 「Pilot readiness」 という operational checklist を明示 (分析系の readiness ではない) |
Speakers |
話者管理 | 「Speakers analysis」 と読まれる → speaker_aliases の operational config (alias 追加・未割り当て解消) であることを明示 |
Communication Policy |
コミュニケーションポリシー (改訂不要) | すでに operational config を示しており、 ラベル単独で誤解されない |
各カードの __sub テキストにも 「(集計のみ)」 を 3 箇所明記し、 個別 meeting 内容には飛ばないことを reinforce している。
canon: permanent-ui-principles §4 「System admin: operational configuration + technical logs」 / DATA_VISIBILITY_MATRIX §3 (admin = Pattern summaries N) / §8 (Bypass forbidden)
文言:
🛡 あなたは 組織と利用状況 の管理者です — ミーティング内容や個別パターンは表示されません (役割境界の詳細)
理由:
research: app-admin__references.html §3 P-4 Scope Boundary mention (light) / canon: permanent-ui-principles §3 Role Boundary First (light 適合) / Justine complaint C-A3 部分解決
| 軸 | A 保守 (本 mockup) | B 中庸 |
|---|---|---|
| 11 アクションの扱い | flat grid 維持 (4+4+3) | Primary 1 + Secondary 4 + Tertiary 6 に再構造化 |
| Scope 表示 | H1 直下 1 行サブタイトル (light) | H1 直下 full Banner (paper-tint 背景 + 3px border + icon + 本文 + footnote) |
| Setup checklist | 常駐 (mockup では 3/4 完了表示) | Phase A 用に折りたたみ可、 Phase B/C では Primary CTA に切り替わる |
| Primary CTA | なし — 11 アクションすべて同 weight | あり (filled evergreen button、 phase 連動で動的) |
| 第 2 段ラベル改訂 | 適用 | 適用 |
| token 統一 | 100% 適用 | 100% 適用 |
| 3 段階構造 (P-3 3-Layer Action Architecture) | 採用しない | 採用 |
| Tertiary 折りたたみ accordion | なし | あり (6 項目を default fold) |
| JS の量 | 1 関数 (TeamRow toggle のみ) | 3 ブロック (phase switcher + accordion + TeamRow) |
| 実装工数 (estimate) | S (2-3 日) | M (5-7 日) |
| r19 §6.2 解消 | 解消 | 解消 |
| permanent-ui §7 (progressive disclosure) | PARTIAL — 11 並列は逸脱 | PASS — 3-5 cards layer 準拠 |
| permanent-ui §8 (cognitive load) | PARTIAL — equal-weight 残る | PASS — one primary CTA + grouped |
| Kashi 差別化 (SmartHR/カオナビ との対比) | 弱 (見た目だけ改善、 banner なし) | 強 (banner で構造的明示) |
理由:
tokens.css には --kashi-grade-* 6 色を verbatim で含めているが、 A 版 mockup では 使用しない。 これは正しい canon 適合。
canon: DATA_VISIBILITY_MATRIX §3 (admin = Pattern summaries N) / design_system_v1.md §1 evidence-grade tokens (定義されているが admin 画面では未使用が正解)
A の意図的限界。 Justine が 「実際に画面を見て、 やはり認知負荷を解消したい」 と感じたら B/C に切り替えるべき判断点。
11 並列は 「default visible layer: 3-5 cards」 ルールを満たさない。 これは A の構造的限界で、 token 統一だけでは解決不能。
A の light サブタイトルだけでは 「banner で境界を構造的に示す」 B の強さに及ばない。 Justine が co-founder/メンターに見せた時、 「他社と何が違うのか」 が一目で伝わりにくい可能性。
A は 「setupComplete=true で消える」 既存実装のままを想定。 setup 完了後の admin の next move (Manager に Mirror URL 共有 等) は B の Phase B/C で実装される。 A は意図的にここを残さない。
A は変化が visual のみなので、 co-founder/メンターから 「これって今と何が違うんですか?」 という反応が出やすい。 一方で 「ちゃんと整っている」 という第一印象は得られる。 Round 1 で 「Kashi UI は仕様化されている」 を demo 用に示したい場合は A が最適。
この mockup を Kashi (Next.js / React / Tailwind) に組み込む際の注意:
kashi/src/app/app/admin/page.tsxkashi/test/app/admin/* + RLS テスト kashi/test/rls/admin-*kashi/messages/ja.json + en.json の admin.* ネームスペースPortalHeader.tsx (replica は mockup 内、 実装時は既存コンポーネント使用)SetupChecklist.tsx または admin 専用 setup widget (現状実装の有無を確認)StatCard 等があれば再利用、 なければ新規)AdminActionCard がなければ新規)PageSubtitle.tsx (light Scope サブタイトル、 H1 直下の 1 行) — 他 surface でも再利用可能ActionCard の variant prop (現状の濃緑/白混在を排除した統一 outline style)| i18n key (推測) | 旧 EN | 新 JA (本 mockup) |
|---|---|---|
admin.actions.longitudinal | Longitudinal | 稼働状況確認 |
admin.actions.coverage | Coverage | データ品質 |
admin.actions.readiness | Readiness | 準備度チェック |
admin.actions.speakers | Speakers | 話者管理 |
admin.subtitle (新規) | — | あなたは「組織と利用状況」の管理者です — ミーティング内容や個別パターンは表示されません |
i18n の改訂は 39 test files での verbatim pinning に影響する可能性あり。 PR 前に npm run i18n:verify (pre-commit hook) を走らせること。 admin.actions.* を読んでいる test 全部を grep で洗い出す。
--shadow-focus 適用<header>, <main>, <nav>, <section>--shadow-focus| 項目 | 判定 | 根拠 |
|---|---|---|
| permanent-ui §1 「UI wins by showing less」 | PARTIAL | token 統一で素人感は消えるが、 11 並列は残るので 「showing less」 は不完全 |
| permanent-ui §3 Role Boundary First | PASS | H1 + role-chip + light サブタイトルで role + 不可視範囲を明示 |
| permanent-ui §4 Visibility per Role (System Admin) | PARTIAL | operational 文言改訂は適用、 ただし B/C と比べると境界明示が弱い |
| permanent-ui §7 Progressive Disclosure | PARTIAL | 11 並列が default visible で 3-5 cards ルール逸脱 |
| permanent-ui §8 Cognitive Load | PARTIAL | token 統一で hierarchy は改善するが、 equal-weight CTA spam は残る |
| permanent-ui §9 Dashboard Rules | PASS | 個人スコア / 健康スコア無し、 KPI は組織レベル aggregate のみ |
| permanent-ui §11 Internal Screen Rules | PASS | role label + visibility (サブタイトル) + safe actions + audit リンク (footer) |
| permanent-ui §13 Visual System | PASS | off-white base + 濃緑 accent + Lucide outline icon、 surveillance imagery 無し |
| DATA_VISIBILITY_MATRIX §3 (Admin Pattern summaries N) | PASS | 個別 pattern summary への CTA は 0 件 (検出済み) |
| DATA_VISIBILITY_MATRIX §8 (Bypass forbidden) | PARTIAL | light サブタイトルで 「中身は見えない」 を明示 (banner レベルではない) |
| design_system_v1 §1-§4 token 適用 | PASS | 100% verbatim 適用 |
| design_system_v1 §7 iconography | PASS | Lucide outline 1.5px stroke + 16/20/24px size grid、 eye/surveillance/police icon 無し |
| 「分析」 「ミーティング詳細」 「メンバー発言」 系 CTA | CLEAN | 11 アクション中 0 件、 KPI drill 先も operational のみ |
判定総括: A は permanent-ui-principles の 8 項目中 4 PASS + 4 PARTIAL。 PARTIAL の 4 つは A が意図的に残した 「11 並列 + light Scope」 の構造的限界によるもので、 これらを完全 PASS にしたい場合は B/C を採用する判断になる。 canon violation (forbidden CTA) は 0 件 — 安全に共有可能。
出典: app-admin__variants.html (Stage 2) · app-admin__references.html (Stage 1) · permanent-ui-principles.md §1-§15 · design_system_v1.md §1-§10 · DATA_VISIBILITY_MATRIX.md §1-§10 · kashi/src/components/portal/PortalHeader.tsx · LESSONS.md feedback_i18n_verbatim_test_pinning_governance