V1 Web PWA · Surface walkthrough

Seven Habits · Arete · OSHUN

A per-surface walkthrough of the V1 Web PWA customer surface: layout, states, interactions, data, and cross-references.

walked
8sections2 minread

On this page

Context. surface customer · domain arete · route /domains/arete/seven-habits · auth signed-in · source apps/oshun/web/src/app/domains/arete/seven-habits/page.tsx

Last walked. 2026-05-29 automated runtime walk (Playwright headless) — render, /v1 data (2xx), console/page-errors, expected content, screenshot verified; live screen-reader, touch, offline, and telemetry-delivery checks pending a manual AT pass. Evidence: WALKTHROUGH/results/runtime-sweep-2026-05-29.md

Purpose#

Internal /domains/arete/* alternate surface for Stephen Covey's Seven Habits framework: an overview of the seven habits, maturity continuum, P/PC balance (production vs. production capacity), circle of influence / concern, roles & goals, sharpen-the-saw tracker, and big rocks priority exercise. Backed by fixture constants (COVEY_HABITS, PPC_BALANCE, CIRCLE_ITEMS, COVEY_ROLES, SHARPEN_SAW_TRACKER).

Entry points#

  • Direct URL / bookmark — yes (signed-in)
  • No link from /arete polished surface — verify

Layout regions#

page.tsx is a 'use client' page: SR-only "Seven Habits · Arete · OSHUN" heading + <AreteSevenHabitsSystem />. Component at apps/oshun/web/src/components/domains/arete/AreteSevenHabitsSystem.tsx.

  • Container: max-width: 900px; padding: 24px
  • Header: BookOpen icon (24px, accent) + h2 "The Seven Habits" + subtitle "Build effectiveness through principle-centered living"
  • Tab bar (7 tabs, overflowX: 'auto'):
    • overview — Seven Habits (BookOpen icon)
    • maturity — Maturity (TrendingUp icon)
    • ppc — P/PC Balance (Shield icon)
    • circle — Circle of Influence (Circle icon)
    • roles — Roles & Goals (Users icon)
    • sharpen — Sharpen the Saw (RefreshCw icon)
    • bigrocks — Big Rocks (Target icon)
  • Content area (per active tab):
    • overview<HabitsOverview /> — list of COVEY_HABITS cards; each card is expandable on click (expandedHabit state); icon and color derive from HABIT_ICONS and HABIT_COLORS (per habit number 1–7)
    • maturity<MaturityContinuum />
    • ppc<PPCBalanceView />
    • circle<CircleOfInfluenceView />
    • roles<RolesAndGoalsView />
    • sharpen<SharpenSawView />
    • bigrocks<BigRocksView />

States#

  • Loading — N/A: client component with sync fixture
  • Overview, habit expandedexpandedHabit === habit.number reveals detail; styled border tint
  • Overview, habit collapsedexpandedHabit === null; default
  • Tab switching — instant
  • Error (recoverable) — relies on app-level error boundary
  • Offline — purely client; identical offline
  • Gated — N/A
  • Standalone PWA — no shell chrome around the page

Interactions#

Tab bar (7 tabs)#

  • Seven Habits / Maturity / P/PC Balance / Circle of Influence / Roles & Goals / Sharpen the Saw / Big Rocks (buttons)
    • Function: setActiveTab(tab.id)
    • Telemetry: none

Overview · habit cards#

  • Habit card (button)
    • Function: clicking toggles expandedHabit between habit.number and null
    • Style: expanded gets accent-tinted border

Per-tab interactions#

  • Per-tab views (Maturity / P/PC / Circle / Roles / Sharpen / Big Rocks) have their own interactions that need deeper enumeration; the lucide-icon imports (GripVertical, AlertTriangle, TrendingUp, etc.) hint at drag-handles, alerts, and progress visuals

Data & contracts#

  • Reads: import-time COVEY_HABITS, PPC_BALANCE, CIRCLE_ITEMS, COVEY_ROLES, SHARPEN_SAW_TRACKER from @/lib/arete/arete-extended-simulation. Types: CoveyHabitNumber, CircleZone from @/lib/arete/arete-extended-types. No BFF.
  • Writes: none — expandedHabit is local state
  • Realtime: none
  • Caching: client bundle only
  • Auth/role check: app-level middleware

Cross-references#

  • Domain hub: arete.md
  • Related internal alternates:
  • Component source: apps/oshun/web/src/components/domains/arete/AreteSevenHabitsSystem.tsx
  • Simulation data: apps/oshun/web/src/lib/arete/arete-extended-simulation.ts
  • Types: apps/oshun/web/src/lib/arete/arete-extended-types.ts

Open questions / known gaps#

  • No shared chrome with /arete polished surface
  • No persistence — state resets on reload
  • Per-tab interactions in Maturity / P/PC / Circle / Roles / Sharpen / Big Rocks need enumeration on a deeper walk
  • No counterpart in the polished /arete/* routes — Seven Habits is a domains-namespace-only surface; verify V1-shipping status
  • Verify whether the Covey framework is part of the V1 product or a research/exploration sub-app