「ダッシュボード」 framing を放棄し、 /app/me を /app/inbox に置換。
自分宫ての pattern update · 1on1 prep · notice · dispute · audit summary が
時系列 inbox に統合され、 Linear Inbox / Superhuman Split Inbox の self-reflection 版。
最大リスク: member 単独で采用すると mirror-me / admin / ceo / reviewer との cross-surface IA が分裂する。 Round 2 で 5 surface 統一方針を決定する必要あり。
旧 /app/me の 9 ブロック縦長 (banner / role description / readiness / 3 signal cards / what Kashi doesn't know / notices / disputes) を、 単一の 時系列 inbox に flatten。 『どこから読めば良いか分からない』問題を structural に消す。
根拠: 02_proposals/app-me__variants.html Variant C 一行要約 ·
P1 today-first (4/6 refs Linear/Lattice/Notion/Superhuman) ·
P2 progressive disclosure (5/6 refs)
canon: permanent-ui-principles §7 (default visible 3-5 cards) · §8 (cognitive load: equally important 問題解消)
現行 My Personal + My Audit を廴止。
Inbox はこのページ · Reflection は旧 9 ブロックを退避させた /app/reflection (Round 2 実装) ·
Settings は 通知設定, data export request 等。 audit は Inbox の「Audit access」 kind と Privacy bannerからアクセス可能 (nav から削除しても access path 2 本変わらず)。
brief 明示指定 · cross-surface IA 統一 Round 2 斜起(下記 §7 参照)
上部から 70-80vh 内に 「自分が残す構造的されている足跡」と 「今週届いた 3 件」 が同時に見えるように設計。 先週 / 過去 30 日 はスクロールで自然到達。
canon: §7 (1 headline + 3-5 cards + 1 trust note) を inbox 形式に再解釈
--space-4/--space-5
1 ピクセル行だけ 深い 行高 (Linear 風) ではなく、 title + grade chip + window + reason code + 1 行説明 + 1-2 action を 含む中量カード。 kashi の semantic load (grade / reason / window を必ず表示) に対応するため、 Superhuman より少し ごつい。
canon: §5 (evidence 必须项目 7 点は collapse 不可) · §9 (every dashboard card must answer 8 questions)
Linear は 「Today / Yesterday / Last week」 精密 grouping だが、 member の Kashi inbox は 鰣度が 1 日 0-2 件 (最大週 5-7 件) と低かったので、 週単位の方が UX よい。 「過去 30 日」 より前は archive リンクで sub-route に連れて行く(mockup では placeholder link)。
research: app-me__references.html Linear/Superhuman pattern weakly adapted
| Token | Surface |
|---|---|
--color-kashi-evergreen-deep #1F4A33 | page-title, role-badge, button-primary, focus ring |
--color-kashi-evergreen #2F6B4A | nav active border, unread dot, link color |
--kashi-grade-stable #2F6B4A | STABLE pill (text label 必項) |
--kashi-grade-emerging #2563EB | EMERGING pill |
--kashi-grade-insufficient #9CA3AF | INSUFFICIENT pill |
--kashi-grade-blocked #6B7280 | BLOCKED pill (low diarization 事例) |
--emerald-50 #ECFDF5 | Privacy banner background |
--cream #F5F0E6 | btn-secondary hover |
--paper-tint #F7F8FA | is-read state, filter chip default, window chip |
--text-h1 40px / Fraunces 600 | page-title (1 H1 only) |
--text-body 16px / IBM Plex Sans | inbox-item-title |
--text-caption 12px / IBM Plex Mono | kicker, group label, reason code, ts, grade pill |
--space-8 48px | page top padding |
--radius-md 8px | inbox-item, privacy-banner, filter chip |
--shadow-sm / --shadow-focus | resting card / a11y focus ring |
いずれも kashi/src/app/globals.css & kashi/docs/design/design_system_v1.md から逆量準拠。
B 版 (Variant B mockup) の token block を「そのまま継承」し、 新規 token は 0。
| Grade | Mockup 内 使用箭所 | Color · Text label |
|---|---|---|
| STABLE / E2 | 1on1 prep prompt · 還次構造点 | #d9ebe0 bg + #14532d text + STABLE / E2 |
| EMERGING | Notice (割り込まれ率 threshold cross) | #dbeafe bg + #1e3a8a text + EMERGING |
| INSUFFICIENT | ignored: 過去 30 日比較不足 pattern update | #e5e7eb bg + #4b5563 text + INSUFFICIENT |
| BLOCKED | 2026-05-02 会議 low diarization abstain | #e5e7eb bg + #4b5563 text + BLOCKED |
どれも color + text 両方 を表示(design_system_v1.md §1 a11y rule 「never color-only」を遵守)。 grade pill の dot は更に visual reinforcement(color-blind 安全)。
構騰解説は B 22ホᄄイテープーセンテ゚ー (1on1 prep / settings ・ help 連携) に退避。 banner は最重要,「過去 24h アクセス数」 だけ表示。
重要だが 毎回読む内容ではない。 Settings 尿てを persistent に連携させる (Round 2 実装)。
単一の readiness pill は 「一回だけ見れば良い」 framing だったが、 pattern 毎に window/grade が異なる現実に合わせ 各 inbox item に grade pill を付与。
/app/reflection (新) に退避
3-up grid は 封印化された metric snapshot なので、 member が「每日見る,変化に気付く」 場面は inbox の pattern update item の方が ROI 高いと判断。 封印型ブラウスは Reflection tab。
法的免責文風 7 bullet を一殊 に 表示するより、 堳上された 一件 だけ(例: 2026-05-02 会議 low diarization)を inbox item として 届ける方が 事象として理解される。 起源: research §6 指摘「法的免責文に読める」 問題は SOLVED。 7 bullet 一覧は /app/reflection 下に残存。
Superhuman Split Inbox の weak signal(research §4 R5 · 2/6 refs)を mockup では visually-functional に 実装(vanilla JS filter)。 keyboard shortcut は member 用 ROI 低いため 実装せず(translator 判断を履行)。
Privacy banner だけでは、 「自分を誰が見たか」 を中袭されている感覚が足りない。 inbox item として 「過去 7 日,自分自身が 2 回閲覧。 employer = 0 件」 を明示することで、 「自分が自分を残す行為は employer に表示されない」 (§4)を毎週再確認させる。
Justine が越す宰相 Round 2 判断点を失念しないよう、 ページ上部に 黃色注釈バナーを配置。 「mockup 実装時には削除する」 と明記済み。
| 観点 | B (IA 再構成) | C (inbox model) |
|---|---|---|
| P1 today-first | PASS Today's Reflection card で実現 | PASS+ inbox 全体が時系列 (より底底的) |
| P2 progressive disclosure | PASS 1 アコーディオン 4 项目 | PASS+ 1 行 summary + drilldown sub-route |
| P3 privacy ownership | PASS 4-line banner | PASS compact 1-line banner(同等) |
| cross-surface IA | SAFE nav,routing 不変 | RISK 4 surface が dashboard ままだと分裂 |
| routing 変更 | none | /app/me ー /app/inbox |
| i18n key 増加 | ~5-8 | ~15-20 |
| 実装工数 | M (4-6 日) | L (10-14 日, cross-surface 済ませると 4-6 週) |
| 上司 (田中部長) との 1on1 準備 | 1 場所に集約 (Today's Reflection card) | 1 item として inbox に 届く (item 時系で届く) |
| 9 ブロックの残存 | アコーディオン内に残存 | /app/reflection (新・次配備) に移行 |
最大の未解決。 member だけ inbox model にすると、 mirror-me (Manager) / admin / ceo / reviewer は dashboard のまま。 (manager が member の inbox を見て、 自分は dashboard だったら、 「Kashi って何を見せるアプリなん?」 と混乱する)
推奨方針(orchestrator 斜起): mirror-me (Manager) を先に inbox 化するのが ROI 高い(Manager は daily check-in persona で、 。inbox metaphor が完全に fit)。 mirror-me M + app-me C の組み合わせは mirror-me / app-me の IA が同一、 中間層を場を取って良い。
§4 employer-exposure 防止ドクトリンを守るため、 既読状態は DB に書かず localStorage に保存。 結果、端末跨ぎ(PC / iPhone) で既読状態が同期されない。 mockup では localStorage 実装済み。 実装時には次のD選択紾:
mockup は (A) で実装済み。 footer に明記あり。
member の post-login 着地 URL が /app/me ー /app/inbox に変更。
既存 bookmark / muscle memory に影響。 redirect を 6 ヶ月維持 (gradual deprecation) 推奨。
Variant C 新設の Reflection nav item は placeholder。 旧 9 ブロックを 単に移すだけを遴けるのか、 不要なブロック(readiness pill 等)を削減するのか、 Round 2 実装時に判断必要。
下記 3 選択紾。
translator 推奨は (B)。 mockup で B + C 両方に触れて、 上記選択紾を Round 2 kickoff までに決定するのが reasonable。
mirror-me が B 、 app-me が C だと IA 大分裂。 Manager は mirror-me (dashboard) を毎日見、 member は inbox を毎日見る,同一の Kashi なのに 為不取り風景が大きく変わる。 この 場合、 app-me は B (Today's Reflection card 方式)に戻す判断、あるいは mirror-me を C に昇格する判断、どちらかを Round 2 で決定する必要。
mockup では localStorage (A 案) で実装。 だが実装で端末跨ぎ同期本気で欲しい場合, 「既読」 概念自体を捨てて最新 N 件表示 (B 案) に倒す判断を Round 2 実装時に orchestrator に送る必要あり。
/app/reflection に旧 9 ブロックを 焼き直すか?
単に copy (旧 §A-§I をそのまま) するのは不推奨。 readiness pill は inbox の per-item grade に吸収され、 §G 7 bullet は per-item の reason code に吸収されるため, /app/reflection は 「月次 window summary」 + 「Member role description」 + 「data export request」 区りの軽量ページ に圧縮させるのが自然。 mockup 本体は placeholder link のみ、 Round 2 実装時の TODO。
| Canon | 判定 | 実装場所 |
|---|---|---|
| §2 forbidden wording | PASS | 「検知」「予測」「健康スコア」「生産性スコア」「at-risk」「all clear」 一切不使用。 safe wording (insufficient_comparable_meetings 等 reason code) を verbatim 表示。 |
| §3 role boundary | PASS | Member 単独。 inbox 内容は 自分宫て data のみ。 route guard は member 以外 redirect 前提。 |
| §4 visibility per role | PASS | 既読/未読は localStorage。 audit_log write いっさいなし (ゲージfooterに明記)。 member 自身の click action は employer に届かない。 |
| §5 evidence semantics | PASS | 各 inbox item に grade pill + reason code + window + 大半に not-a-verdict disclaimer。 |
| §6 no-signal rule | PASS | 「all clear」「安全」一切不使用。 empty-state (filter result = 0) は 原因を reason code (insufficient_comparable_meetings) で明記。 |
| §7 progressive disclosure | PASS | 1 H1 + 1 banner + 1 filter bar + 3-5 inbox item visible by default。 drilldown は sub-route (新設 /app/me/patterns/[id])。 |
| §8 cognitive load | PASS | 「すべて同じ重さに見える」問題は inbox 1 本化で根本解決。 |
| §9 dashboard rules | PASS | 人を 別ﻳﻱ.SDL6ﻺﻰ6ﻷ やM risk ラベル化,健康スコア, suppress や missing-data 隠蔵や, subordinate data 表示 一切なし。 |
| §11 internal screen | PASS | role label + visibility boundary + grade + reason + empty state + dispute path すべて含む。 |
| §12 a11y | PASS | 1 H1、 sane heading order、 focus-visible ring (3px evergreen)、 semantic nav/main/article、 grade pill = color + text + dot (三重 reinforcement)。 |
| §13 visual system | PASS | off-white + dark evergreen、 calm badge、 surveillance icon、 eye、 red-alert 一切 無し。 |
| DATA_VISIBILITY_MATRIX | PASS | 各 inbox item は Member 列 Y(self) のみ。 AC-15 anonymized source 封印(Notice EMERGING item) 不変。 |
本 mockup を React に実装する場合の注意点:
kashi/src/app/app/inbox/page.tsx · 旧 kashi/src/app/app/me/page.tsx は kashi/src/app/app/reflection/page.tsx に移行 (旧 9 ブロックを选択的に残存)PortalHeader.tsx (member nav 2 items ー 3 items, badge counter 追加) · portal routing (member post-login redirect)InboxList / InboxItem / InboxGroupLabel / FilterChip / InboxEmpty (5 個)/app/me をアクセスする e2e は /app/inbox に redirect する guard 変更 · 6 ヶ月維持、 analytics で実際の bookmark 営業を観察test/i18n-r17-forbidden-marketing.test.ts に safe-wording asserts を追加(empty-state copy を圧さえ)