offplan · online
Session · conv-36

Session CONV-36

In Progresssessionconv-36

Resume Prompt

Continue admin-panel-redesign track — план ratified CONV-36 в plans/admin-panel-redesign.md (~530 строк, Approach A + SPEC-AMEND v1.1). 5 P0 workstreams sequential, start с /build admin-panel-foundation — Phase 1 task 1: создать design-system/admin/colors_and_type.css через @import url('../bundle/project/colors_and_type.css'); затем переименовать все consumed tokens к --color-* / --font-* / --tracking-* / --radius-* / --shadow-* / --ease-* / --duration-* (Tailwind v4 @theme inline convention, H10 amendment). Параллельно создать _admin-overrides.css с unset для gold/glass/navy/warn leftovers (H6) — brand workstream должен co-sign перед Phase 1 close. Затем shell + components + Phosphor sprite + role-switch.js + index.html. Phase 1 exit gate: 16 thumb slots в index.html placeholder-render, drift grep (расширенный H4 regex) + AU + hex-literal greps pass. Workstreams chain: foundation → onboarding-overview (01 + 02 + NEW 02b-guest H2) → project-editor (03–13) → rbac-audit (14-team + 15-activity с pseudonymisation + View-as-Agent + role-scoped filters) → sign-off (a11y axe-core sweep M15 + REGISTER-NOTES + OPEN-QUESTIONS + Roma+Ilya review). Follow-on admin-panel-trial-ux workstream открывается после Phase 5 sign-off, закрывает CONV-35 designer task-list из Sub-plan 2 (2 trial-period locks + 8–12 post-trial locks + 3 success upsells + reactivation modal + 7 email templates). Side context: .mcp.json локально modified (playwright MCP добавлен, не Roma) + docs/decisions/0011-email-sender.md + workstreams/onboarding-trial-implementation.md modified — это из параллельной сессии, не трогать этим handoff'ом. Не трогать sales-app-react track — Roma ведёт параллельно.

Summary

Plan ratified for admin-panel-redesign (plans/admin-panel-redesign.md, ~530 lines). Six items end-to-end: (1) pulled Roma's CONV-30 stream — 5 skills + 4 commands + ADRs 0015/0016 + 68MB bundle synced; setup parity confirmed via SETUP_SERGEI.md onboarding prompt. (2) Flagged design-system/sales/02-exterior.html online hosting blocked on missing Riviera imagery from Roma. (3) Summarised plans/sales-app-react-module-sequence.md for user. (4) /plan plans/admin-panel-redesign.md end-to-end Steps 1-5: Approach A chosen (pure brandbook v2 canon reskin v8 + first-registration onboarding stub) over Hybrid+trial-modals or two-phase split. (5) Business review with 5 parallel concern agents (Customers / Brand / CS / Engineering / Security) returned 51 findings — 16 HIGH applied inline as SPEC-AMEND v1.1: NEW 16th screen 02b-overview-guest.html (Free Guest tenants); Tailwind v4 --color-* prefix on all tokens; [data-app="admin"] cascade scope; @import bundle + _admin-overrides.css over fork (brand workstream co-signs); View-as-Agent entry-point + audit sample; role-scoped activity log filters; pseudonymisation sample; role-tooltips with studio-native examples; sidebar Essentials/Advanced clustering; comprehensive drift grep regex; hide-vs-lock decision tree; full wordmark 3-asset contract; motion tokens; Privacy Policy in shell; trial banner pinned verbatim to Sub-plan 2 Pick #3 + #14; CS modal-stub generic copy; NEW assets/role-switch.js (mockup-only header). 22 MED documented + 13 LOW deferred to OPEN-QUESTIONS. (6) 5 P0 sequential workstreams created — admin-panel-foundationadmin-panel-onboarding-overviewadmin-panel-project-editoradmin-panel-rbac-auditadmin-panel-sign-off. Follow-on admin-panel-trial-ux queued for after Phase 5 sign-off to close CONV-35 designer task-list (Sub-plan 2 modals + email templates).

Changes

Decisions

Visual direction = Pure brandbook v2 canon. User picked over Hybrid (atelier mood + canon tokens) and Pure atelier. Atelier (docs/mockups/admin-panel-atelier.html) becomes layout/density inspiration only. Brandbook v2 (design-system/bundle/project/colors_and_type.css + reference/brandbook-v2.html) is authoritative. Skeleton White + Warm Stone surfaces, VV Moss #6A7061 accent, oxidised status palette, Helvetica Neue 200/300 display, Inter body, JetBrains Mono mono, Phosphor icons — no gold, no glass-panel, no saturated traffic-light status.

Scope = full IA rethink + multi-file output. User picked over pure visual reskin and React scaffold. Keeps 11 v8 sections, adds 01-onboarding first-registration imitation (Trial signup path only), 02-overview post-login workspace landing, 14-team RBAC management, 15-activity audit log per ADR 0004 v2. SPEC-AMEND added 16th screen 02b-overview-guest.html for Free Guest tenants per Customers-HIGH-2 finding.

Approach A — pure visual reskin + onboarding stub, defer trial-UX modals. Chosen over Approach B (full trial-UX surfaces in this plan) and Approach C (two-phase). Reason: keeps the plan tractable (~5–7 sessions) and the modal set (2 trial-period locks + 8–12 post-trial locks + 3 success upsells + reactivation modal + 7 emails) lands in a focused follow-on workstream admin-panel-trial-ux after this plan's Phase 5 sign-off ratifies the visual register. That follow-on closes the CONV-35 (Sub-plan 2) designer task-list cleanly.

Token-fork strategy = @import bundle + _admin-overrides.css, NOT fork. Decided via SPEC-AMEND v1.1 H6. Reason: forking creates a second source of truth that brand-language-and-identity workstream cannot revise by editing the bundle. Override file deletes only the gold/glass/navy/warn leftovers via unset. Brand workstream co-signs at Phase 1 close.

Token names = Tailwind v4 --color-* prefix. Decided via SPEC-AMEND v1.1 H10. Reason: sales-app's globals.css uses Tailwind v4 @theme inline convention with --color-* namespace; mockup tokens prefixed upfront so admin-app React port can @theme inline import directly without rename rework.

CSS namespace = [data-app="admin"] cascade scope. Decided via SPEC-AMEND v1.1 H11. Reason: if admin-app and sales-app eventually share a Next monorepo, identical class names (.btn-primary, .shell, .panel) plus identical token names (--color-moss) would collide. Scoping by [data-app] mirrors sales-app's [data-project] cascade pattern.

?as=<role> URL param needs ~20-line JS, must be mockup-only. Decided via SPEC-AMEND v1.1 H12 + H13. Reason: static HTML cannot read query params without JS, but the ?as= pattern would be a client-side role-impersonation primitive if mirrored into React (any user can append ?as=owner to escalate). assets/role-switch.js ships with header comment "MOCKUP-ONLY. React role-preview MUST be server-issued ephemeral token, Owner+Admin only (cf. View-as-Agent §4.6). Never URL-parse role client-side in production."

Next Steps

  1. /build admin-panel-foundation — Phase 1 task 1: create design-system/admin/colors_and_type.css via @import from bundle + rename to --color-* / --font-* / --tracking-* / --radius-* / --shadow-* / --ease-* / --duration-* prefixes
  2. Phase 1 task 1 sibling: create _admin-overrides.css with unset for gold/glass/navy/warn leftovers; brand workstream co-signs before Phase 1 close
  3. Phase 1 task 2: build _shell.css scoped to [data-app="admin"] with Essentials/Advanced sidebar clustering, data-banner-scope attribute, footer Privacy/Terms/Cookies row
  4. Phase 1 task 3: build _components.css with motion tokens, role-badge 5-stop palette, .modal-stub generic post-trial copy, hide-vs-lock comment
  5. Phase 1 task 4 + 5: Phosphor SVG sprite (assets/icons.svg ~30 icons) + 3 wordmark variants + role-switch.js + scripts/build-phosphor-sprite.sh
  6. Phase 1 task 6: design-system/admin/index.html with 16 thumb slots; Phase 1 exit gate (drift + AU + hex-literal greps pass; brand co-sign recorded in REGISTER-NOTES.md)
  7. After foundation: chain through onboarding-overview → project-editor → rbac-audit → sign-off
  8. After Phase 5 sign-off: open follow-on admin-panel-trial-ux workstream to close CONV-35 Sub-plan 2 designer task-list (2 trial-period locks + 8–12 post-trial locks + 3 success upsells + reactivation modal + 7 trial cascade email templates)

Open Questions

Context for next session