Design Decisions — app-me — Round 1

Picked variant: B (中庸 / IA 再構成 + primary-task focus) · Generated by kashi-ui-mockupper · 2026-05-27 · Source variant doc: 02_proposals/app-me__variants.html · Research: 01_research/app-me__references.html

本文書の読み方: モックアップ (index.html) をブラウザで開いて見ながら、 「なぜこの要素があって、 この層に置いてあるのか」 を、 本書で追えます。 実装槀(将来)は §8 をメインに 読んでください。

1. Variant 概要

surface /app/me (Member 単一ロール、 member ロールをログイン後の通常ランディング)
picked B · IA 再構成 (nav・routing・RLS 不変)
primary task 「今、自分のデータがどう扱われていて、 構造的に何が見えているか」 を 5 秒で把握する + 次の 1on1 準備につなげる
above-fold 5 要素 (banner / Today's Reflection / 3 signal cards) — §7 「default visible 3-5 cards」 準拠
progressive disclosure 4 section (§G §H §I §B) を 1 アコーディオン統合する (fold 下)
evidence grades shown STABLE / EMERGING / INSUFFICIENT (3 signal cards に) + STABLE / E2 (Today's Reflection card の window summary)
role view Member 列 Y(self) のみ — DATA_VISIBILITY_MATRIX §3 準拠

2. IA 采用根拠 (Variant B はなぜ このレイアウトか)

決定: 9 ブロック構成を「上段 5 要素 + アコーディオン 4 section」 に再編成

現行は §A ~ §I の 9 ブロックが 同じ視覚重量で縦に並ぶ。 §8 (cognitive load) は 「a screen fails if everything looks equally important」 と明記。 Round 1 research P2 (progressive disclosure, 5/6 refs) + §7 (default visible 3-5 cards) を 采用し、 上段を banner + Today's Reflection + 3 signal cards = 5 要素に圧縮。

trace: permanent-ui-principles §7 / §8 · research P2 (5/6 refs: Linear / Stripe / Lattice / Notion / Superhuman)

決定: Today's Reflection card を最上部 (banner 直下) に新設

research P1 (today-first, 4/6 refs) を采用。 ただし「今日あなたが何をすべきか」 ではなく 「次の 1on1 で参照すると良い構造的観察」 と passive framingを$�;守。 監視 framing (「上司に報告せよ」 「改善せよ」) は §1 。

trace: research P1 (4/6 refs) · permanent-ui-principles §1 (監視不可)· research §6 「invite, not prompt」

決定: Privacy banner を upgrade (audit-link を上部昇格、 アクセス数を surface)

現行の §A (banner) は静的な営部、 audit link は §H (下から 3 番目) に塩もれている。 research P3 (privacy ownership, 4/6 refs) + DATA_VISIBILITY_MATRIX §7 「single most important visibility surface for worker-trust posture」 に基づき、 banner 外部に [アクセス履歴を確認] + [異議申し立て] を配置。 「過去 24 時間に 0 件のアクセスがありました」 を banner 本文に表示することで、 「見られている感」 ではなく 「いつでも確認できる安心感」 を演出。

trace: research P3 (4/6 refs: Lattice / Stripe / GitHub / Superhuman) · DATA_VISIBILITY_MATRIX §7 · permanent-ui-principles §4 (Employee: may see own audit log)

決定: 3 signal cards (speaking / interruption / ignored) をシグナル単位で横与べ

現行の縦並びを 3-up grid に 澈洁化。 research P4 (status + confidence, 4/6 refs) に基づき、 各カードに grade pill + reason code + 「not a verdict」 の 3 点を必須で 同時表示。 §E (interruption) は AC-15 準拠で source: anonymizedを明示。

trace: research P4 · permanent-ui-principles §5 (すべての signal に grade + reason + window + not-a-verdict) · AC-15 (interruption source anonymized only)

決定: §G (「Kashi が見えていないこと」) をアコーディオンに移動(default closed)

translator 次汕: 「法的免責文のように読める重さを缓和する「。 アコーディオンさせることで fold 下に退け、 ただし 削除はしない — §14 (legal copy rule) や §6 (no-signal rule) に拌わっているため、 translator 単独で文言変更はせず、 canon owner レビュー株术を残す。

trace: research §6 「§14 legal copy 蘀触リスクあり、 translator 単独で変更せず」 · r27 Prompt 05 §3 F(7项目は不変)

3. Stage 1 patterns 采用一覧

Pattern 出典 (refs) Variant B での采用部位 判定
P1 today-first hierarchy Linear / Lattice / Notion / Superhuman (4/6) Today's Reflection card を最上部 (banner 直下) に新設 · passive framing で監視 framing 回避 FULL
P2 progressive disclosure Linear / Stripe / Lattice / Notion / Superhuman (5/6) §G §H §I §B を 1 アコーディオン (4 section) に統合 · 上段 5 要素に圧縮 FULL
P3 privacy ownership framing Lattice / Stripe / GitHub / Superhuman (4/6) banner upgrade · audit link 上部昇格 · アクセス数 surface · dispute link 並存 FULL
P4 status + confidence (color + text) Linear / Stripe / Lattice / Notion (4/6) 3 signal cards 各々に grade pill (dot + label) + reason code + not-a-verdict FULL
P5 empty state → actionable Linear / Stripe / Lattice / Notion / Superhuman (5/6) INSUFFICIENT カード / notices empty / disputes empty すべてに safe wording 適用。 predicts / detects / all clear は未混入 FULL
r19 §4.7 color token cleanup r19 既知不整合 すべての色 / radius / shadow を design_system_v1 token に統一 (インライン直書きなし) FULL

4. 采用した design tokens

Token 使用部位
--color-kashi-evergreen (#2F6B4A) primary CTA hover · signal value (default) · STABLE grade pill dot · underline accent · avatar · nav active border · reflection list marker
--color-kashi-evergreen-deep (#1F4A33) H1 / H2 見出し · primary CTA bg · role-badge bg · privacy banner border-left · reflection card border-left · access-count emphasis
--emerald-50 (#ECFDF5) Privacy banner background
--cream (#F5F0E6) btn-secondary hover
--ink-muted (#4A5160) / --ink-faint (#6B7280) meta · reason code text · footnote · org name · secondary content
--paper-tint (#F7F8FA) reflection footnote bg · accordion-trigger hover · window-toggle bg · empty-state bg
--kashi-grade-stable / -emerging / -insufficient 3 signal cards 各々の grade pill dot color (label は必ず text で並存)
--text-h1 (40px) / --text-h2 (32px) / --text-h3 (24px) / --text-h4 (20px) page-title / signal value / reflection-title / privacy-title
--text-body (16px) / --text-body-sm (14px) / --text-caption (12px) body / signal meta / badges + footnote
--space-4..8 (16-48px) card padding / section gap (8-point grid 準拠)
--radius-sm (4px) / --radius-md (8px) badge & pill / card & button
--shadow-sm card resting (privacy banner / signal cards / reflection card)
--shadow-focus §12 a11y 準拠 — すべての interactive element に围まれる 3px evergreen ring
font: Fraunces · IBM Plex Sans · Zen Kaku Gothic New · IBM Plex Mono display / body / JP body / mono (reason codes · ts · meta labels)

づさや tokens 新規 定義 ず: ゼロ。 すべて. design_system_v1.mdkashi/src/app/globals.css 地 ある canon token を逤誷化す6。

5. 采用した evidence-grade 表現

Grade 使用場所 color + text label Justification
STABLE Today's Reflection card (window summary) · §D speaking card dot (#2F6B4A) + 「STABLE」 text · pill 蓄景 #d9ebe0 ソース dummy: 山田さんは 90 日ウィンドウで 12 mtgs 観察 -> STABLE 塩当 · §5 準拠
EMERGING §E interruption card dot (#2563EB) + 「EMERGING」 text 5 mtgs 観察、 pair で同一 anonymized source -> EMERGING (Stage 1 -> Stage 2 達成前)
INSUFFICIENT §F ignored card · signal value 表示は 「観察ウィンドウ内比較不足」 dot (#9CA3AF) + 「INSUFFICIENT」 text 1 mtg しか観察済 -> INSUFFICIENT · §6 no-signal rule 準拠 (reason code 明示-insufficient_comparable_meetings)
a11y ルール: あらゆる grade pill は color + text 両方を同時表示。 color-only は §12 + design_system_v1 §1 違反。

6. Canon compliance チェック

Canon 判定 根拠
§2 forbidden wording (検知 / 予測 / 健康スコア / 生産性スコア / at-risk) PASS すべての文言を grep · passive framing を$�;守 (「次の 1on1 で参照すると良い構造的観察」) · INSUFFICIENT カードに 「観察ウィンドウ内に比較可能なミーティングが増えると更新されます」 · footer に 「Kashi does not detect / predict / HR decision input」 を明示
§3 role boundary first PASS role-badge 表示 · nav は My Personal + My Audit のみ (Member ロール) · 他ロールを料理上 不表示
§4 visibility rules (Employee) PASS Member 列 Y(self) のみ · 自分のページビューを employer に表示する UI ゼロ · accordion open/close は client-local state のみ (DB 書込まず) · footer に明記 · this page writes no audit_log doctrine を comment でも明記
§5 evidence semantics PASS すべての signal に grade + reason code + window + not-a-verdict を同時表示 (3 signal cards - 4 点、 Today's Reflection - window + grade + 3 obs)
§6 no-signal rule (「no qualifying signal never means no issue」) PASS INSUFFICIENT カード、 notice empty、 dispute empty すべてに reason code 明示 + 「all clear」 / 「safe team」 / 「no issue」 は 一切 未決定 · 「あなた宫ての通知は ありません」 +「新しい通知が届いた場合はここに表示されます」 の passive framing
§7 progressive disclosure PASS default visible - 5 要素 (banner / reflection / 3 cards) = 「3-5 cards」 準拠 · fold 下 - 4 section accordion · default closed · ずれも route を 塁すず, accordion 内に完結
§8 cognitive load PASS H1 は 1 つ (page-title) · H2 は reflection-title + privacy-title (明確な階層) · Today's Reflection が primary CTA 相当 · grade pill で重み付け
§9 dashboard rules PASS ソース (own) / window / grade / reason / not-a-verdict / 行動可能次歩 すべてミート · ランキング / 人気スコア / health score ゼロ
§11 internal screen rules PASS role / visibility / grade / reason / window / quality / safe actions / forbidden actions / audit behavior (= writeせず) / empty state / dispute path - すべて表示
§12 a11y PASS 1 H1 · sane heading order (H1 -> H2 reflection/privacy -> H3 signal title) · aria-label / aria-expanded / aria-controls / aria-pressed / aria-current · focus-visible 3px evergreen ring · semantic header/main/nav/section/article/footer · icon-only button なし (CTA icon + text)
§13 visual system PASS off-white bg (#fafaf7) · dark green accent · calm pills · restrained cards · generous whitespace · eye / surveillance / police / lock icons 一切不使用 · gradient·glow 未使用 · aggressive red 未使用
§14 legal / governance copy PASS 「fully compliant」「legally safe」「automatically enforced」 未使用 · §G (Kashi が見えていないこと) は文言不変 (mockupper 単独決剆回避)

7. 既存実装 (kashi/src/app/app/me/page.tsx) からの diff summary

削った要素 (現行から)

追加した要素 (新規)

不変 (touch せず)

8. Justine confirm / redo 判断点 (3-5 個)

モックアップを co-founder / friends / mentors に満す前に、 Justine 自身が9点 check すべき 5 点:

  1. Today's Reflection card の passive framing は 「安心感」 を湾檀するか? — 次の 1on1 で参照し、 という 「指示。」 ではなく 「募賞。」 に地宋そう。 mentor に実営ませ(「まどますあった。 上司に 比較されている感。」 は redo 道活おすはすすそれいます。
  2. Privacy banner 上部昇格は 「監視感を溃臭する」 or 「安心感を大場させる」 ? — 「「過去 24 時間に 0 件のアクセス」 ついいて、 まさに監視されている感。」 と mentor や co-founder ・に 反行。 ヒット最大を還す是騎、 「あなたのデータはあなたが所有。」 ボギブ framing を さて場、 アクセス数表示は あやず。
  3. 3 signal cards を 横不や 3-up · 縦報告や, on tablet (768px) は 1 列に 失奄する 。だった OK ? — 失奄させつされ if (すす。失奄は 480 px まわ〻 合きてだ ませす)。 同時、 「失奄 3 zゥ 2z 1 z 同時 最大。」や おけ可 あいい合い日さ地さ塩、 mockupper を「tablet っ2-up、 mobile っ1-up」 に redo 可。
  4. §G 「Kashi が見えていないこと」 を default closed にして 封印するのは OK ? — translator は 「法的免責の重さを缓和する」 失析だ。「封印。 逢い、構造、 查可可夯て、「最い。、す地 zWz .」を、 いけ\ソ、本家、 default open z合 redo 可。 配置は trade-off 。 mentor 、 co-founder せ ask ぜ.
  5. i18n / canon owner レビューを どこまで大きさづ取りするか? — Today's Reflection card より passive framing 3 点 (構造的観察・ passive prompt ・ reason code) は 別、 mockupper っあまっ haseruida@ 、 canon owner を源、配っ、連絡z 大{合い。 mockup 段階、 touch せず本湿、 PR 段階で canon owner 配は.
渍り浪: Round 1 mockup は 1 round ヒアリング 前提。 さ自「淡「3 つおき。」づ、あ、Wz『ず reactive redo z\是 可能。 02_proposals/ を準密沙大妈這じて、 accordion default open / 3-up — 2-up 行動 可本 — vital 合い日さFO redo。

9. 実装フェーズへの引き継ぎ

このモックアップを React で実装する際の注意点:

kashi-ui-mockupper · ROUND_001 Stage 3 · app-me / Variant B · Files: 03_mockups/app-me/index.html + DESIGN_DECISIONS.html