Goal
Apply the corrections batch accumulated during CONV-10 and CONV-11 to the three launch-plan files. Concretely:
- Cross-reference Ilya's tech-team backlog (received 2026-04-28) against the plan and apply
[BL](in backlog) and[OPL](offplan.online side designing) markers across confirmed positions. - Backfill Phase 1.9 (Operator Dashboard) into the markdown — currently it exists only in the HTML version.
- Re-scope Phase 1.9 from "build from scratch" → "extend existing Super Admin Panel" (confirmed during CONV-11 after Sergey shared Super Admin Panel screenshots — the panel already exists with project list, feature flag toggles, asset uploads, and action log).
- Add four new sub-phases to Stage 3 + Stage 4 for items that emerged from the backlog discussion.
- Add suggestion callouts for tech team (Organisation/Tenant entity gap + DB security ideas) framed deferentially per Sergey's guidance — "we are not tech team and we should respect their work and knowledge."
- Replace the Operator Dashboard preview in the visual appendix with the refined
operator-panel-v1.htmlmockup and add a description block.
When complete, both plans/launch-plan-v3.md and docs/launch-plan-v3-full.html should be in sync and accurately reflect:
- which phases are already in Ilya's backlog (no duplication of effort)
- which phases offplan.online side is actively designing
- the corrected, narrower scope of Phase 1.9 given the existing panel
- the new items surfaced by the backlog cross-reference
Approach
Edit-in-place across three files. No code changes — pure content editing. Apply changes in 8 ordered groups so each can be reviewed independently without state leaking between groups. Pause for user review after Group 3 (Phase 1.9 reframe) per the agreed checkpoint, then continue.
The markdown is the canonical source per CLAUDE.md. The HTML is the stakeholder-facing version. The visual appendix is the iframe-based companion. All three must stay consistent.
Steps
Group 1 — Markers section (legend)
Files: plans/launch-plan-v3.md (line 71–87), docs/launch-plan-v3-full.html (Markers section, around line 342)
Add two rows to the markers table:
| Маркер | Значение |
|---|---|
| [BL] | Уже в backlog у tech team (Ilya) — не дублируем усилия, дожидаемся апдейта |
| [OPL] | offplan.online side — мы (Sergey + Claude) активно проектируем / уже сделали мокапы |
Group 2 — Add Phase 1.9 to markdown
Files: plans/launch-plan-v3.md (insert at line 1336, between Phase 1.8 closing and # Стадия 2)
Copy Phase 1.9 from docs/launch-plan-v3-full.html (lines 1656–1838) into the markdown using the same heading convention as other phases. Convert HTML markup to markdown. Sub-phases 1.9.1 through 1.9.8.
This is a literal port — corrections happen in Group 3.
Group 3 — Phase 1.9 reframe + scope corrections (PAUSE FOR REVIEW)
Files: both (markdown after Group 2, and HTML)
Intro paragraph rewrite (in both files):
Old: "Внутренний инструмент для команды offplan.online — отдельная staff-панель на subdomain staff.offplan.online, чтобы управлять клиентами-студиями с первого дня после запуска…"
New direction: emphasise this extends the existing Super Admin Panel (which already has project list, per-project feature flag toggles, project managers, asset uploads, action log per Sergey's screenshots from CONV-11). Phase 1.9 = adding multi-tenant client/subscription/payment management on top of what exists. Reference operator-panel-v1.html mockup.
Sub-phase corrections:
- 1.9.1 — Fix dependency line. Currently: *"Зависит от: existing Org/User/Project."* The Organisation entity does not yet exist (this is the gap we're flagging in the suggestion callout). Replace with: *"Зависит от: Phase 1.2.1 (Organisation/Tenant entity — design once, share with Operator Dashboard)."*
- 1.9.2 — Simplify scope. Move 2FA + IP allowlist out of Phase 1 scope, mark as "Phase 2 of 1.9 — добавляется после первых 5–10 paying студий". Phase 1 keeps basic auth (email + password + session).
- 1.9.6 — Simplify. Manual entry adapter only in Phase 1; real provider integration (Stripe / Paddle / PayTabs / Telr) deferred and cross-referenced to Phase 1.5. Remove provider-specific webhook sub-tasks from this sub-phase. Note: Settings page in 1.9 includes a "Payment Provider" placeholder card (see
operator-panel-v1.htmlSettings page). - 1.9.7 — Simplify. Phase 1 = basic capture + viewer. Advanced filters (multi-tenant search, full-text search, JSON diff display) → Phase 2.
- 1.9.8 — Defer entirely to Stage 2 (operator team management + email templates). Mark as "перенесено в Стадию 2".
Effort signal: rough estimate drops from 5–8 weeks → 3–4 weeks given the existing panel covers ~40% of the surface.
🛑 PAUSE for user review after this group.
Group 4 — Suggestion callouts (DB security + Org entity gap)
Files: both, in Phase 1.2.1 (markdown line 250 / HTML data-model section)
Two callouts using the same dashed-border deferential pattern from the brandbook (10 callouts already established with this pattern in docs/brandbook/v1.html).
Callout A — Organisation/Tenant entity gap:
Implementation idea — Organisation entity as shared prerequisite. The plan references
org_idin Phase 1.2.x and Phase 1.9.x but the Organisation table doesn't yet exist in the current data model. Suggesting we design it once during Phase 1.2.1 (shape: id, name, subdomain, plan, status, created_at, owner_user_id) and have both Phase 1.2 and Phase 1.9 consume the same shape. No action needed from product side — flagging in case useful.
Callout B — DB security ideas:
Implementation idea — DB security checklist (suggestions only). Surfacing common patterns the tech team is likely already familiar with, for completeness:
- ORM over raw SQL where reasonable (parameterised queries)
- Cross-tenant filter checks at query layer (every query scoped by
org_id)- Mass assignment protection on all PATCH endpoints
- Audit log table append-only at the DB level
- Sensitive fields excluded from logs/error responses
- Connection pool limits configured
No action needed from product side — purely as a reference.
Cross-reference Callout A from Phase 1.9.1 (after Group 2 brings 1.9 into markdown).
Group 5 — New sub-phases (4 items)
Files: both
5a. New sub-phase 3.3.4 — Visual Debug Mode [BL]
Insert in Phase 3.3 (Admin UX v2 Improvements) after 3.3.3 Audit log. Status: [BL] — already in Ilya's backlog, marked "в работе".
Что это: Режим визуальной отладки в админке — помогает пользователю понять почему загрузка не сработала (неправильный формат файла, размер, отсутствует обязательное поле, конфликт с существующей сущностью). Уменьшает support burden.
Что конкретно нужно сделать:
- Diagnostic overlay при upload errors
- Inline валидация с визуальными hints
- Format/size mismatch индикаторы
Зависит от: — Блокирует: — Маркеры: Средний · [Tech] · ⏱ · [BL]
5b. New sub-phase 3.3.5 — Full Project Import / Export [BL]
Insert in Phase 3.3 after 3.3.4. Status: [BL].
Что это: Одна обширная функция экспорта/импорта проекта целиком — конфигурация, юниты, etajes, медиа, настройки. Use case: backup, миграция между tenant'ами, шаблонизация.
Что конкретно нужно сделать:
- Export: ZIP-пакет (JSON + media)
- Import: валидация + dry-run preview
- Версионирование пакета
- Cross-tenant перенос (с проверками на org boundaries)
Зависит от: — Блокирует: — Маркеры: Средний · [Tech] · ⏱ · [BL]
5c. New sub-phase 3.5.5 — Offplan Lite Fallback [BL]
Insert in Phase 3.5 (SLO + Runbooks) after 3.5.4 Secrets management. Status: [BL] — Ilya's backlog as "Offplan Lite Fallback for Complete Failure".
Что это: Статическая версия каждого проекта, которая обновляется автоматически (раз в неделю или по push) и хранится отдельно от основного сервиса. Если основной сервис лежит — клиент видит lite-версию вместо 404. Базовый просмотр продукта продолжает работать даже при полной деградации.
Что конкретно нужно сделать:
- Snapshot generator (запускается по cron)
- Storage отдельно от main service (S3 / static hosting)
- Routing fallback: при 5xx от main → serve lite snapshot
- Rebuild trigger при значимых правках проекта
- Lite UI: read-only, ограниченные features (нет панорам, нет реалтайм цен)
Зависит от: Phase 3.1.3 (CDN — для serving snapshots) Блокирует: — Маркеры: Средний · [Tech] + [Ops] · ⏱ · [BL]
5d. New sub-phase 4.5.5 — AI Chat for Sales App [BL]
Insert in Phase 4.5 (Advanced Features) after 4.5.4 AI-assisted content generation. Status: [BL].
Что это: AI-чат на стороне sales-app (для покупателей и агентов). На ранних этапах (до Phase 4.5) — sales studios могут подключить сторонний чат-виджет (Intercom / Crisp). Phase 4.5.5 = наша собственная реализация с product-context (знает структуру проекта, юниты, цены).
Что конкретно нужно сделать:
- Chat UI на sales-app
- Контекст: data о проекте/юнитах/ценах в prompt
- Provider: OpenAI / Anthropic / open-source
- Token budgeting (кто платит — студия или offplan.online)
- Hand-off на живого агента если AI не справляется
Зависит от: Phase 4.1 (API surface для AI access) Блокирует: — Маркеры: Низкий · [Tech] + [Product] · ⏱ · [BL]
5e. New sub-phase 1.8.7 — Custom Floor Plan section labels
Insert in Phase 1.8 (Sales-app UX) after 1.8.6. Status: [BL] (Ilya's backlog as "Custom Fields for Floor Plans").
Что это: Возможность переименовывать секции в sales-app — у одних застройщиков "Units", у других "Apartments" / "Residences" / "Studios". Сейчас лейблы хардкоженые, нужно сделать настраиваемыми per-project.
Что конкретно нужно сделать:
- Поля в admin: лейбл для unit / units list / floor plan section
- Sales-app использует эти лейблы вместо хардкоженых
- Default fallback на текущие значения
Зависит от: — Блокирует: — Маркеры: Средний · [Tech] + [Design] · ⏱ · [BL]
Если эстимейт от Ильи >2 недель — переносим в Стадию 2 (вместе с остальными labelling/customisation работами).
Group 6 — "Backlog watch" subsection in Phase 4.5
Files: both, append to Phase 4.5
Single subsection acknowledging items in Ilya's backlog that don't yet have plan homes. Avoids creating 8 new sub-phases. Each item gets [BL] and a one-line description.
4.5.6 — Backlog watch
Items in tech team backlog that are not yet scheduled into stages but worth acknowledging so the plan stays in sync with backlog reality:
- Microservices Architecture
[BL]— архитектурное направление Ильи (split проект на мини-сервисы для resilience). Cross-cutting, не отдельная фаза. - Interior Minimap Functionality
[BL]— на паузе у tech team - Multi-Storey Floor Plan Support
[BL] - Walkthrough Experience for Exterior
[BL]— wow-feature - Information Pins for Location
[BL] - Information Pins for Interiors
[BL] - 360-Degree Video Support
[BL] - Exterior Level Highlighting in Admin Editor
[BL] - Sales App / Admin Panel 3-Screen Prototype (R&D)
[BL]— deliberately unbilled R&D track
These don't enter the priority matrix; they're tracked here so plan readers know they exist on the tech-team side. Promotion into a numbered sub-phase happens when scope/priority firms up.
Group 7 — Apply [BL] and [OPL] markers across confirmed positions
Files: both
Tag each sub-phase header line. The marker appears next to the existing priority/department markers (e.g. **Высокий** · [Tech] · ⏱ · [BL]).
[BL] — confirmed positions (in Ilya's backlog)
| Sub-phase | Backlog item |
|---|---|
| 1.2.3 | Custom Domains for Projects |
| 1.2.6 | Favourite and Email Info/Graphics Flow |
| 1.3 (phase-level) + 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5 | Offplan MCP for AI-Driven Mutations |
| 1.4 (phase-level) | UI/UX Enhancements for Admin Panel |
| 1.4.4 | PDF Support for Gallery (revision note already exists, add tag) |
| 1.8 (phase-level) | UI/UX Enhancements for Sales App |
| 1.8.1 | Advanced Filtering for Exterior |
| 1.8 (any sub-phase that matches) | Sales App Workflow Editor |
| 1.9.2 | Multi-Factor Authentication (relevant for the 2FA portion) |
| 1.9.7 | AI Mutation Audit Log |
| 2.4.3 | Built-In Google Analytics Configurator |
| 3.1.3 | Cache Busting + International Content Delivery Optimisation |
| 3.3.1 | Light/Dark Mode and UI Colour Controls |
| 3.3.3 | AI Mutation Audit Log (also tagged here) |
| 3.3.4 (new) | Visual Debug Mode |
| 3.3.5 (new) | Full Project Import and Export |
| 3.5.5 (new) | Offplan Lite Fallback |
| 4.1 (phase-level) | CRM Integration Groundwork |
| 4.3.2 | Power Editor with AI Capabilities |
| 4.3.6 | Control UI Roundness, Customise Admin/Sales App Colours, Edit Sales App Font |
| 4.5.2 | Remote Control for Physical Models, Remote Session Control |
| 4.5.5 (new) | AI Chat for Sales App |
| 1.8.7 (new) | Custom Floor Plan section labels |
| 4.5.6 (new — backlog watch) | the 8+ items listed there |
[OPL] — confirmed positions (offplan.online side designing)
Phase-level tags:
- 1.1 — brandbook + visual redesign
- 1.2 — onboarding flow
- 1.5 — landing + pricing + payments UX
- 1.6 — Legal & Compliance (we drive, lawyer executes)
- 1.8 — Sales-app UX (synthesised from Nadezhda's feedback)
- 1.9 — Operator Dashboard (mockup at
operator-panel-v1.html)
Sub-phase tags (mockups exist or explicit decisions made):
- 1.1.3 — Visual language refresh (brandbook v1.1)
- 1.5.1 — Landing page
- 1.5.2 — Pricing plans
- 1.9.1 through 1.9.8 — all sub-phases of Operator Dashboard
Both [BL] + [OPL] (overlap)
- 1.1 / 1.1.3 — Sales App Design Language + Admin Panel Design Language in backlog "[in work, give brandbook]" and we're providing the brandbook. Tag both markers — signals: "Ilya's team will execute, we're the design source."
Group 8 — Visual Appendix update
File: docs/launch-plan-v3-visual.html
Replace #staff-mockup section content (currently embeds staff-panel-preview.html, the single-page preview from CONV-10):
- New section title: "Operator Panel — staff.offplan.online"
- Iframe embeds
docs/operator-panel-v1.html - Description block covering what's new vs the preview:
- Multi-page structure (5 pages: Overview, Clients, Payments, Audit Log, Settings)
- Client detail drawer with 5 tabs
- Project settings inside drawer — extends existing Super Admin Panel: feature flag toggles per project (13 flags), Information section, Assets section
- Settings → Payment Provider placeholder showing Phase 1.5 future integration with provider cards (Stripe / Paddle / PayTabs / Telr)
- Provider status indicator on Payments page header
- Note that this extends the existing Super Admin Panel (Sergey shared screenshots in CONV-11), not a from-scratch build
- Update footer link "Staff Panel preview" → "Operator Panel v1"
Files
| File | Edits |
|---|---|
plans/launch-plan-v3.md |
Markers section (Group 1) · ADD Phase 1.9 entire block (Group 2) · Phase 1.9 sub-phase corrections (Group 3) · 2 suggestion callouts in 1.2.1 (Group 4) · 5 new sub-phases: 3.3.4, 3.3.5, 3.5.5, 4.5.5, 1.8.7 (Group 5) · Backlog watch 4.5.6 (Group 6) · [BL] and [OPL] tags across ~30 sub-phases (Group 7) |
docs/launch-plan-v3-full.html |
Mirror of all the above except Group 2 (Phase 1.9 already exists in HTML — only Group 3 corrections apply here) |
docs/launch-plan-v3-visual.html |
Replace #staff-mockup section → new "Operator Panel — staff.offplan.online" section embedding operator-panel-v1.html with descriptive copy (Group 8) |
Dependencies
- Sergey's feedback on Phase 1.9 reframe (Group 3) before Groups 4–8 proceed. Per the agreed checkpoint.
docs/operator-panel-v1.htmlalready exists (created CONV-11) — required for Group 8.- Ilya's backlog list received 2026-04-28 — required for Group 7. ✓ have it.
Validation
- [ ] Markers legend has
[BL]and[OPL]rows in bothplans/launch-plan-v3.mdanddocs/launch-plan-v3-full.html - [ ] Phase 1.9 exists in markdown with all 8 sub-phases
- [ ] Phase 1.9 intro paragraph reflects "extends existing Super Admin Panel"
- [ ] Phase 1.9.1 dependency line points to Phase 1.2.1 (not "existing Org/User/Project")
- [ ] 1.9.8 marked "перенесено в Стадию 2"
- [ ] Two suggestion callouts present in Phase 1.2.1 (both files), dashed-border style matching brandbook
- [ ] New sub-phases 3.3.4, 3.3.5, 3.5.5, 4.5.5, 1.8.7 present with
[BL]markers - [ ] Backlog watch 4.5.6 lists 8+ items with
[BL] - [ ] Spot-check: 5 random sub-phases from Group 7 table actually have
[BL]tag applied - [ ] Spot-check: 1.1 has both
[BL]and[OPL]tags - [ ] Visual appendix
#staff-mockupsection now embedsoperator-panel-v1.html - [ ] Visual appendix description mentions: multi-page · drawer with project settings · feature flag toggles · payment provider section
- [ ] Both plan files agree on phase counts in their executive summary
Workstreams
Single workstream: launch-plan-v3-corrections (P1 priority).
Work breakdown matches the 8 groups above. Group 3 has a built-in checkpoint for user review before Groups 4–8 proceed.
Risks
| Risk | Mitigation |
|---|---|
| Phase numbering shift after inserting new sub-phases (3.3.4, 3.3.5, etc.) breaks cross-references | Search for any → 3.3.x references after insertion and update; existing 3.3.1–3.3.3 numbering preserved |
| Markdown ↔ HTML drift after edits | Run a comparison pass at the end — phase counts, sub-phase counts per stage match between files |
[BL] markers applied incorrectly (false positives — item in plan doesn't actually match backlog item) |
Verification report in this conversation has explicit mapping; user has approved each row |
| Phase 1.9.6 references Phase 1.5 for provider integration but 1.5 doesn't yet have a "Payment Provider config" sub-phase explicitly named | Add a one-line note to Phase 1.5.3 (Payment integration) saying "operator-side configuration UI lives in Phase 1.9.6 → Settings → Payment Provider" |
| Mid-batch user feedback may shift remaining groups | Group 3 pause is the natural point for direction change. Groups 4–8 are independent from each other, can re-order if needed |
| Translating Russian content from HTML to markdown loses formatting | Manual port; preserve emphasis (**bold**, *italic*) and code spans (` ``) |
Evaluation
Plan succeeds when:
- Both plan files (markdown + HTML) reflect all 8 correction groups consistently
- Phase 1.9 backfilled and rescoped — appears in markdown, intro reflects "extends existing panel", sub-phase corrections (1.9.1, 1.9.2, 1.9.6, 1.9.7, 1.9.8) applied
[BL]and[OPL]markers visible across confirmed positions, legend updated- Five new sub-phases (3.3.4, 3.3.5, 3.5.5, 4.5.5, 1.8.7) and the 4.5.6 backlog-watch subsection in place
- Two tech-team suggestion callouts present in Phase 1.2.1, deferential tone matching brandbook pattern
- Visual appendix shows
operator-panel-v1.htmlwith descriptive copy - Sergey reviewed Group 3 (Phase 1.9 reframe) before Groups 4–8 proceeded
Out of scope (explicit non-goals — these are next-conversation work):
- Send updated plan to Ilya for re-estimate
- Resolve open questions (AuditLog retention, payment provider choice, 2FA scope, IP allowlist scope, hard-delete scope, currency support)
- Send brandbook to Ilya separately (already mentioned as in-flight)
Notes for /build
When picking this plan up:
- Use Edit tool for all changes — every file is incremental edits except Phase 1.9 markdown port which is a new block insertion
- Read each file once at the start of its group to anchor on current state (line numbers in this plan are valid as of 2026-04-28 — they will shift after edits)
- Do not re-format unrelated content — surgical edits only
- After each group, run a quick grep to verify the marker / new sub-phase / section is actually present
- Group 3 ends with a STOP — emit a summary diff for Sergey to read before proceeding to Group 4