Skip to content

feat: tabbed Admin header with drilled Analytics + one standing-context editor - #1283

Merged
ja-818 merged 3 commits into
mainfrom
agent/task-20260809-142402-7c7m5/houston
Aug 10, 2026
Merged

feat: tabbed Admin header with drilled Analytics + one standing-context editor#1283
ja-818 merged 3 commits into
mainfrom
agent/task-20260809-142402-7c7m5/houston

Conversation

@ja-818

@ja-818 ja-818 commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

What

Admin (the org dashboard) adopts the shared page-header lozenge grammar (Integrations / team screen): the identity lozenge (🏢 Admin) carries the h1 and opens Company context, the landing section; People, Billing (capability-gated), Analytics follow as lozenges. Analytics drills into a second header level — a back chip wearing the destination's glyph (new shared PageHeaderBackChip) plus lens lozenges (Activity/Usage/Time worked). The rail's Admin row always opens the dashboard home (the rail rule shared with team rows and Settings).

One standing-prose editor (ContextEditorPage/ContextEditorBox): always-open box, greyed example as the invitation, save-on-blur with quiet Saving/Saved, read-only face drops the write invitation. Adopted by Company context (with a titled hero + 3-part example placeholder), About me, agent Job description, and the team context card; the two previous editor implementations and the orphaned ui/agent InstructionsPanel are deleted.

Review + verification

Two adversarial reviewers (Codex + Claude); all accepted findings fixed in the fix: commit, including: workspace-context save failures now surface through the standard toast path, editor recovers from failed saves, accessible names on all context boxes, Job description realigned in agent settings without a duplicate heading, Analytics lens as view-owned prop state, design tokens restored, e2e helper waits on the mounted section body.

Gates: 3369 unit tests, 297 Playwright e2e, 8 visual baselines (unchanged), typechecks (app/ui/web/e2e), locale parity (en/es/pt), boundary + parity checks — all green. Verified in-app by Julian.

No Linear issue — UI restructure requested directly in session.

🤖 Generated with Claude Code

ja-818 and others added 3 commits August 10, 2026 09:17
…t editor

Admin drops its index/detail grammar for the shared page-header lozenge
cluster (Integrations/team grammar): Admin identity lozenge = Company
context landing, People/Billing/Analytics as tabs, Analytics drilling
into a back-chip + lens-cluster header (new PageHeaderBackChip). The
rail's Admin row always reopens the dashboard home.

All standing-prose surfaces (Company context, About me, agent Job
description, team context) now share one ContextEditorPage/Box: always
open, save-on-blur, no empty states; Company context gains a titled
hero and a 3-part greyed example. Old InstructionsContent and the team
editor's duplicate are deleted, with their dead locale strings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Surface failed context saves (the workspace-context mutation bypassed
the toast layer) and recover the editor's save state on rejection; give
every context box an accessible name and drop the write-invitation
placeholder on read-only faces. Job description rejoins the agent
settings AccessColumn without a duplicate heading. The Analytics lens
becomes view-owned prop state (zustand singleton deleted); the e2e
Admin helper now waits on the mounted section body. Design tokens
restored (ring-focus, text-xs), the orphaned ui/agent InstructionsPanel
deleted, and stale doc comments corrected.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ja-818
ja-818 merged commit b3d2903 into main Aug 10, 2026
12 checks passed
@ja-818
ja-818 deleted the agent/task-20260809-142402-7c7m5/houston branch August 10, 2026 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant