Goal
Перенести 12 пунктов из звонка с Романом (CONV-15) + 7 уточняющих заметок Сергея в Stage 1 главного плана. Это надстройка над launch-plan-v3-full.html, не отдельный plan-файл.
Tasks
- [x] План split (v4.0 → v4.2): Stages 3+4, Changelog, Appendices в отдельные файлы
- [x] Phase 1.10 → 1.3 (renumber + insert): Tenancy & Permission Model
- [x] Phase 1.11 (append): Sales Presentation Layer
- [x] Delta callouts на 7 существующих фаз (1.2, 1.4, 1.5, 1.7, 1.8, 1.9, 1.10)
- [x] Phase Navigation sidebar обновлён (11 фаз в Stage 1)
- [x] Hero subtitle / phase counter tables / changelog v4.3 — обновлены
- [x] Mockup admin-quick-build-v2.html — Brandbook strict + Calatrava cues
- [x] Sub-plan 1:
plans/permission-and-tenancy-model.md(P0 — Phase 1.3 deep design + ADR 0009/0010) — fully ratified CONV-33: Part 1 (10 разделов Behavioural Spec) + Part 2 (11 разделов Decision Log) + Risks (21 HIGH / 29 MED / 15 LOW из business review) + Workstreamphase-1-3-implementationcreated. SPEC-AMEND CONV-34 ✅ closed via v4.17 (Themes 1+2 = 10 HIGH) + v4.18 (Themes 3+4 = 11 HIGH) inline patches. ADR 0004 v2 + ADR 0013 (proration) + ADR 0014 placeholder shell (MCP wrapper auth) added. - [x] Sub-plan 2:
plans/onboarding-trial-mode.md(Phase 1.2 deep + ADR 0008 Tier model) — fully ratified CONV-35: 14 picks (Step 1 CONV-34) + 2 recommendations (R1 abuse mitigation + R2 ADR 0017 Stripe Stage 1) + 12 Implementation Steps + NEW Step 13 Operator playbook + 76 business review findings (16 Category A applied + 13 Category B ratified) + Workstreamonboarding-trial-implementationcreated. Total ~1750 lines plan body + Part 3 amendments. ADR 0017 NEW (Stripe Stage 1) + ADR 0013 v1.1 (endpoint rename) + ADR 0008 amendment (Trial T2 default + config-driven pricing) + Phase 1.2.2 v4.19 HTML amendment (Org subdomain + project path). Awaits blockers: ADR 0011 (email sender) + ADR 0014 (MCP wrapper auth) + Roman pricing input + legal entity lock. - [ ] Sub-plan 3:
plans/buyer-profile-and-presentation.md(Phase 1.11.1-5) - [ ] Sub-plan 4:
plans/remote-presentation.md(Phase 1.11.6-8 + ADR 0012, условный после Илья estimate) - [ ] Sub-plan 5:
plans/landing-pages-by-audience.md(Phase 1.7 — 4 лендинга) - [ ] Sub-plan 6:
plans/legal-multi-party-framework.md(Phase 1.9 — multi-party access framework) - [ ] 5 ADRs написать: 0008 (Tier+admin mode), 0009 (Tenancy), 0010 (Stock allocation), 0011 (Email sender), 0012 (Real-time sync)
- [ ] Илья — tech estimate на Phase 1.11.6-8 (Remote Presentation), Phase 1.3 целиком, Phase 1.5.X (AI file upload)
- [ ] Юрист — расширение объёма Phase 1.9 (multi-party access framework, +4 documents)
What's Next
Sub-plan 2 RATIFIED CONV-35 ✅ closed. plans/onboarding-trial-mode.md — 5 steps closed: interview (CONV-34, 14 picks) → research (Perplexity Sonar Deep Research, 12 findings) → approaches (single + 3 ratifications: Stripe ADR 0017 / Trial daily caps DROPPED / Cyprus e-invoicing DROPPED jurisdiction shift) → plan body (~1750 lines + 13 Implementation Steps + Step 13 Operator playbook) → business review (5 concern agents → 76 findings → 16 Category A applied + 13 Category B ratified inline) → ratification sweep → workstream onboarding-trial-implementation created. ADR 0017 NEW (Stripe Stage 1 formal — closes launch-plan-v3 «Stripe vs Paddle TBD»). ADR 0013 v1.1 amendment (deprecated upcoming_invoice → create_preview). ADR 0008 amendment (Trial = T2 Pro default + config-driven pricing). Phase 1.2.2 v4.19 HTML amendment (Org subdomain + project path resolution). Commits: 34b6a80 (Steps 2-4) + b8b5c74 (Step 4.4) + 7e5957f (Step 4.5) + 7728261 (Step 5 + ratification flip). 4 local commits ahead origin/main (awaiting push).
Next priorities:
- Sub-plan 3:
plans/legal-multi-party-framework.md(P1) — jurisdiction-dependent (Abu Dhabi likely candidate per CONV-35). 4 new legal documents для multi-party access framework. Anchors Phase 1.3 § 2.4.Ccontroller_org_idbuyer joint-controller v4.18 gate + § 1.4.C reverse-invite legal basis v4.17 gate + Sub-plan 2 §1.3.C Free Guest × host-project capability amendment (B2 ratification — Model B Edit content no publish). - Sub-plan 4:
plans/buyer-profile-and-presentation.md(P1) — anchors ADR 0012 + Phase 1.11.1-8. - ADR 0011 (email sender architecture) full spec — separate /plan session needed before Phase 1.2 launch (7 trial cascade emails depend on it). Carry-over from CONV-34.
- ADR 0014 full spec — pending dedicated /plan session before Phase 1.5.6 implementation (MCP wrapper auth + prompt-injection sanitisation). Carry-over from CONV-34.
- 2 stale Learnings deprecation в Notion (CONV-7 5-tier model + «Invite клиента» VV legacy) — carry-over CONV-31 → CONV-35.
- Roma scaffold kickoff (Phase 1.2 implementation) — может стартовать параллельно через
workstreams/onboarding-trial-implementation.md5-phase tasks (1.2.1-1.2.5). Phase 1.2.2 URL middleware = smallest discrete chunk, unblocks routing for everything else. Awaits: Roman pricing input + designer email copy + ADR 0011 + ADR 0014 + legal entity lock. - UAE-specific tax research (parallel к Cyprus research) — triggered on legal entity lock. Currently Abu Dhabi likely candidate per CONV-35 user signal — Stripe Tax UAE support 2024 GA available, but FTA e-invoicing format + reverse-charge specifics need parallel research.
Wave 2 closed (8/8 chunks) — Chunk 8 done CONV-31. All architectural decisions now codified в 5 ADRs + 0005 v3 revision (Microsoft + Custom SSO scope для Tier 3 Stage 2). All Phase callout pointers переведены с «pending» status text на live links на новые ADR файлы (~29 fixes). Changelog v4.14 entry. Preview repo synced. Wave 2 timeline: Chunks 1-6 (Foundational + Edge cases) → Chunk 7 (Phase 1.7 deep rewrite) → Chunk 7.5 (Phase callouts cleanup sweep) → Chunk 8 (ADR placeholders + 0005 v3 + callout cleanup) ✓.
Pivot — 4 sub-plan ratifications (separate /plan sessions in priority order):
- P0
plans/permission-and-tenancy-model.md— Part 1 ratified CONV-32; Part 2 pending. Anchors ADRs 0009 (Tenancy) + 0010 (Stock allocation). Behavioural spec (UX flows + edge cases + permission matrix as business rules) — NOT tech-level (DB schema / API contracts = Roma scaffold + Ilya estimate, implementation choice). - P0
plans/onboarding-trial-mode.md— anchors ADR 0008 (Tier model). Pricing per tier, exact limits (X projects / Y team / N units), naming finalisation (T1/T2/T3 vs Starter/Studio/Agency/Enterprise), Free Guest expiry policy + conversion triggers. Depends on hosting cost projection (Phase 1.7.13) + Roman input. - P1
plans/legal-multi-party-framework.md— jurisdiction-dependent (pending Cyprus confirmation). 4 new legal documents для multi-party access framework. - P1
plans/buyer-profile-and-presentation.md— anchors ADR 0012 (Real-time sync) + Phase 1.11.1-8. Buyer entity + tokenised URL + Remote Presentation flow. Если Phase 1.11.6-8 не лезут в Stage 1 timeline → переезжают в Stage 2.
Pending cross-cutting items:
- Cyprus jurisdiction confirmation — memory says «decided 2026-04-30», CONV-27 user reopened «под review»; все ADRs jurisdiction-agnostic, не блокирует ratifications но блокирует legal sub-plan.
- Brandbook reconciliation (Sergey atelier vs Roma Skeleton White из CONV-29 parallel track) — отдельная сессия после HTML plan polish.
- 2 stale Learnings flagged для /handoff update: CONV-7 «Multi-level access 5-tier model» (superseded by Org-based RBAC per ADR 0009); CONV-16 «S·1 Shared default» (reshaped to Closed pool default per CONV-18 + ADR 0010).
- Roma's Path 2 Next.js scaffold — не блокирует sub-plans но overlaps с buyer-profile thinking.
Wave 2 Chunk 7.5 closed (Phase callouts cleanup sweep). Plan plans/stage1-chunk-7.5-callouts-sweep.md built end-to-end across 8 фаз Stage 1. Hybrid approach: A — re-label sub-plan-pointer callouts (1.2 / 1.3 / 1.9 / 1.11); B — absorb placeholders в numbered tasks (1.4 → +5 tasks 1.4.9-1.4.13; 1.5 → +1 task 1.5.6 + merge 1.5.Y в 1.5.1; 1.8 → +3 tasks 1.8.7-1.8.9; 1.10 → +7 tasks 1.10.8-1.10.14, 2 deduplicated); collapse v4.7-v4.10 cross-link pointers → 1 v4.13 summary callout (1.4 + 1.10). Phase 1.11 v4.12 parking-lot нетронут per L1. Total: 11 old callouts удалены, 16 new numbered tasks added. Changelog v4.13 entry. Cross-refs cleaned (1.10.0 deps + §4.4 + Phase 1.3 1.2.T → sub-plan link).
Parking-lot (deferred awaiting jurisdiction + lawyer + sub-plan ratifications + ADRs):
- §7.2 GDPR / ADGM right-to-erasure proper sweep
- §7.3 Multi-jurisdiction compliance (AML / cookies / data residency / tax / hosting)
- Access expansion (новые роли / actions / invitation types из Roman call'а)
- Cyprus jurisdiction confirmation — memory
project_legal_entity_cyprus.mdговорит «decided», user в CONV-27 сказал «под review» — clarify в next session - ADR 0008 Free tier scope — blocks 1.7.11 full spec
- ADR 0011 Email sender architecture — blocks 1.7.10 final scope
После Chunk 7.5: Chunk 8 ADR placeholders — 0008 (Tier model) / 0009 (Tenancy) / 0010 (Stock allocation) / 0011 (Email sender) / 0012 (Real-time sync) + 0005 v3 update. После Chunk 8 — Wave 2 closed. Затем 4 sub-plan ratifications: permission-and-tenancy-model.md / onboarding-trial-mode.md / legal-multi-party-framework.md / buyer-profile-and-presentation.md (включая CONV-30 buyer-profile + agent-driven session handover idea).
Sales-app mockup track (parallel): Roma в CONV-29 запустил Path 2 (Next.js 16 + Tailwind v4 + shadcn/ui + Storybook) — design-system/sales-app/. Brandbook reconciliation question (atelier vs Skeleton White) — отдельная сессия после HTML plan polish.
What's Next (CONV-20 archived)
Sergey-review v4.4 mostly done + plan split locally + phase rework pending. В CONV-19 прошлись по Foundational §2-§5 с clarity polishes (Partner type wording, tier shape qualitative scaffolding, §4.3 Scoping rewrite, §5 Visibility lead + Custom preset + viewer-state row 4 fix); counter badges 8→7 закрыли; stage 1 contents extracted in launch-plan-stage-1.html (NEW, 2870 строк); main file shrunk 3576→1268. Priority table in stage-1 fixed (added Phase 1.3 ⭐ + 1.11 ⭐ which были missing). NOT YET DONE: (1) визуальный sanity-check split'а; (2) sync 3 файлов в preview repo + commit + push (split не commitнут даже локально в os/); (3) phase rework вокруг Atelier prototype — Sergey прислал /Users/diver/Downloads/admin-quick-build-atelier-standalone.html как новое направление для Phase 1.2 (заменяет демо-режим). Phase 1.2 упрощается; Phase 1.5 (MCP/AI tagging) priority может бумпнуться 🟡 High → 🔴 Critical (Atelier promises «AI tags pages» on Floor Plans upload). После phase rework → Roman send → ratification. Memory plan_permission_tenancy_state.md уже flag'нут DIVERGENCE callout'ом наверху (Block C1 + C4 stale).
Key Context
- Plan (главный):
docs/rendered/launch-plan-v3-full.html(синкается в preview-репо) - Mockup для Quick Build mode:
docs/mockups/admin-quick-build-v2.html - Memory:
~/.claude/projects/-Users-diver-code-offplan-online-os/memory/project_phase1_roman_integration.md - 4 решения утверждены: 360° walkthrough → α (basic в 1.10), Remote Presentation → keep with [needs-tech-estimate], Quick Build mode → отдельная sidebar секция, UI стиль → v2 brandbook strict
- Free tier scope (ADR 0008) — отложен на отдельную сессию
- Цепочка зависимостей: Phase 1.3 → 1.4 → 1.10 → 1.11; параллельные треки 1.5/1.6/1.7/1.8/1.9
Session Log
- CONV-35 (2026-05-11): Sub-plan 2 (
plans/onboarding-trial-mode.md) RATIFIED — Phase 1.2 sub-plan fully closed. 5 steps executed end-to-end: Step 2 Research (Perplexity Sonar Deep Research → 12 findings persisteddocs/research/stripe-billing-onboarding-stage1-2026-05-11.md) · Step 3 Approaches (single approach + 3 ratifications: D1 Stripe ADR 0017 YES / D3 Trial daily abuse caps DROPPED layer #1 only / D5 Cyprus e-invoicing DROPPED on Abu Dhabi jurisdiction shift signal) · Step 4 Plan body (~720 lines + 12 Implementation Steps) · Step 4.4 Business review (5 concern agents Studios/Sales motion/CS/Finance/Security → 76 findings 24 HIGH+32 MED+20 LOW persisteddocs/research/business-review-sub-plan-2-2026-05-11.md— 16 Category A objective fixes applied inline incl. Finance H1 Checkout-vs-update bug, Finance H2/H3/H4 5 missing webhooks, Security H1 7-stage deletion_journal atomic cascade, Security H2 custom domain DNS verification, Security H3 token URL hardening + NEW Step 13 Operator playbook 9 actions + chargeback dispute resolution; webhook count 8→14) · Step 4.5 Ratification sweep (13 Category B inline ratifications: B1 3 seats Trial / B2 Model B Free Guest × host-project Edit-content-no-publish / B3 Optional invoice reference / B4 Full Pro 14d Trial Stripe Price tier_2_monthly / B5 Current price + transparent reactivation modal / B6 3 success-moment upsell modals Stage 1 / B7 Mailto Stage 1 Enterprise / B8 Checkout redirect Free Guest first paid / B9-B13 Step 13 confirms) · Step 5 Workstreamonboarding-trial-implementation(P0; 5 phases + cross-cutting). ADR 0017 NEW (Stripe Stage 1 formal — closes launch-plan-v3 «Stripe vs Paddle TBD»). ADR 0013 v1.1 (endpoint rename). ADR 0008 amendment (Trial T2 default + config-driven pricing). Phase 1.2.2 HTML v4.19 amendment (Org subdomain + project path canonical table). Plan callout flipped scratch-interview-closed → ratified вlaunch-plan-stage-1.html. Memory updated:project_legal_entity_cyprus.md→ Abu Dhabi leading candidate per user signal. 4 commits:34b6a80(Steps 2-4) +b8b5c74(Step 4.4) +7e5957f(Step 4.5) +7728261(Step 5 + ratification flip). 4 local commits ahead origin/main (awaiting push). Rebased on Roma's CONV-30 stretch (6 remote commits: Cloudflare Pages auto-deploy + INFRASTRUCTURE_CLOUDFLARE.md + index generator + .wrangler gitignore). Session ran ~4h/resume→ ratification — within Resume Prompt trajectory estimate. - CONV-34 (2026-05-11): Phase 1.3 sub-plan SPEC-AMEND patch session — 21 HIGH closed via v4.17 + v4.18 inline patches. /resume → drive top-to-bottom. Sub-plan status
ratified(unchanged — patches, не re-ratification). v4.17 closed Themes 1+2 (10 HIGH): reverse-invite TTL 7d→30d (§1.4.A + §1.4.C); reverse-invite funnel visibility + legal basis stub + gate к legal sub-plan (§1.4.C); invite token entropy ≥128-bit CSPRNG + rate-limit + burst alert + constant-time hash compare (§1.4.D); buyer tokenised URL mechanics new §1.7.J (scope-to-(buyer,unit), forced rotation, noindex/Referrer-Policy/CSP headers); role-change cross-subdomain session revoke + per-action DB permission check + stock-wipe modal с audit snapshot (§1.5.B); cascade triage view + batch digest email (§1.5.E); ownership transfer target-Orgfirst_successful_payment_atgate + operator SLA + identity-verification + 30d cooldown (§1.5.F); SA project-switcher non-jarring banner + 24h grace (§1.3 Edge cases). v4.18 closed Themes 3+4 (11 HIGH): insert-onlyaudit_writerDB role + monthly hash-chain seal + off-box S3 Object Lock archive + pii_class column + JSONB metadata registry + pseudonymisation HMACactor_user_idpost-12mo + controller_org_id annotation (§2.4.C); ADR 0004 v2 (12mo + 7yr Cyprus archive + WORM Stage 2 deferred + KMS pepper); ADR 0014 placeholder shell (MCP wrapper auth — Phase 1.5.6 implementation gate); Stripe customer cleanup на Trial → Free Guest (§1.8.B); chargeback overrides 14d grace immediately + cash-basis revenue Stage 1 (§1.8.C); ADR 0013 (Tier change proration — asymmetric: upgrade prorated, downgrade end-of-period); §1.8.F proration policy section; referral payout 12mo retroactive cap (§2.3 pick 1); referral attribution bound к Organisationcreated_atnot usersignup_at(§2.3 pick 5); 2FA-loss backup codes + self-service recovery flow + operator-mediated reset (§1.2.F); operator dashboard per-email lookup cross-link (§1.5.C). Architectural risks expanded (MCP wrapper block + audit DR runbook + pseudonymisation vault key custody). Treatment plan section flipped «pending» → «closed CONV-34» с full mapping. Sub-plan changelog v4.17 + v4.18 entries added. Phase 1.3 callout updated. launch-plan-changelog.html v4.17 + v4.18 entries on top. Workstreamphase-1-3-implementationTrack A closed; Track B (Roma scaffold) unblocked. 6 plan-document touches: sub-plan +189 lines, ADR 0004 v2 +84 lines, 2 new ADRs (0013 + 0014), launch-plan-stage-1.html callout, launch-plan-changelog.html v4.17+v4.18. Commits: os2447c55+ preview8bcb5e5, pushed origin/main. .mcp.json local Playwright addition left uncommitted (out of scope). Session ran ~2h after /resume "go" — duration within Resume Prompt estimate. - CONV-33 (2026-05-11): Phase 1.3 sub-plan Part 2 ratified pack-mode + business review —
/planformal workflow over Part 2 ratification ceremony. Status:draft → ratified. Part 2 = 11 разделов Decision Log + 6 new picks (referral dual-condition / 6-char base32 code / audit log 9 categories × 5 roles matrix / 58 subdomain reservations / Free Guest → paid migration split /home_org_idformalisation / pool reversibility Variant A / Microsoft OAuth Stage 2 Tier 3 resolution). Step 4.4 business review through 6 parallel concern agents (Studios / Sales motion / Customer Success / Legal+Compliance / Security / Finance+Billing) — 21 HIGH + 29 MED + 15 LOW findings consolidated в Risks section. 21 HIGH grouped в 4 SPEC-AMEND themes для CONV-34 patch session (~2-3h): token mechanics hardening · session/permission re-eval policy · audit immutability + GDPR retention · ownership transfer + billing precision. Workstreamphase-1-3-implementation(P0, tags architecture/ux/security/domain) created. Foundational §2 patched (Microsoft OAuth bullet removed → Stage 2 Tier 3 gate per ADR 0005 v3). Phase 1.3 callout flippeddraft → ratified CONV-33. Step 4.5 ratification sweep added 1 new live Learning (PaymentProvider abstraction). Commits:befac90(os) +d9e94ec(preview), pushed origin/main. Notion CONV-32 auto-assigned (local CONV-33 maintains ahead-by-1 pattern; workstream relation came back empty 4th session running — investigate в CONV-34). Sub-plan total ~1500 lines. Roma+Ilya self-contained для tech estimate. - CONV-32 (2026-05-09): Phase 1.3 sub-plan Part 1 ratified — pack-mode
/plansession. Ratified 10 разделов Behavioural Spec вplans/permission-and-tenancy-model.md(statusstub→draft, ~620 lines): 1.1 Signup + onboarding (3 paths A/B/C, 4 picks: magic link verification / automatic trial / single-use decline / explicit «already member» message) · 1.2 Login surfaces + 4 viewer states (2 picks: generic error на чужой subdomain / single-cookie logout scope) · 1.3 Workspace switcher (Org + Project, 1.3.G new — SA visibility = ≥1 assigned unit) · 1.4 Cross-entity invitations (4 типа + Forward/Reverse flows, 3 picks: Owner+Admin only / re-invite auto-revoke + supersede / self-invite blocked) · 1.5 Role transitions (1 pick: role change SA-involving = clear assignments) · 1.6 Stock assignment (consolidation §4.4) · 1.7 Reserve unit flow (1 pick: lock 500ms timeout fall-through) · 1.8 Tier transitions (1 pick: tier downgrade explicit block) · 1.9 Internal vs External SA (1 pick: badge «External») · 1.10 Permission matrix (verbatim §4.2). Total 14 new picks + 95% consolidation Foundational §2/§4.1-4.6/§5/§6.1/§7.1. Sub-plan scope re-framed mid-session: behavioural spec + decision log, NOT tech-level (Sergey pushback «зачем эти детали? описать тех команде как реализовать?»). Pack-mode applied для последних 5 разделов (1.6-1.10) после interview-style 1.1-1.5. Plus: Phase 1.3 callout updated вlaunch-plan-stage-1.html(statusstub→draft, Part 1 ratified CONV-32; inline summary 10 разделов + 14 picks + Microsoft OAuth flag), changelog v4.15 entry (~80 строк, 5 sub-sections), preview repo synced. Commits71c01cd(os) +c28fe9f(preview) pushed origin/main. 2 memories updated:feedback_read_existing_scaffolding_before_drafting.md(new — grep launch-plan-stage-1.html before drafting any section, Sergey ткнул что я пропустил 3-option entry-point screen в Section 1.1) +feedback_russian_only_phrasing.mdstrengthened с recurring slip-list (16 слов: ratify / rewrite / cover / scope / verbatim / etc + переводы — Sergey ткнул третий раз). Notion CONV mapping: local CONV-32 ↔ Notion auto CONV-31 (local sequence ahead by 1 после Roma's parallel git CONV-29 не registered в Notion). Workstream relation в Notion Sessions row снова came back empty (3rd time — investigate в next session). Part 2 (Decision Log, 10 пунктов + Microsoft OAuth Stage 1 vs Tier 3 inconsistency) — pending ~2.5-3h. Step 4.4 likely skip + Step 4.5 ratification sweep + workstreamphase-1-3-implementation(P0) после Part 2. - CONV-31 (2026-05-09): Wave 2 Chunk 8 closed (ADR placeholders + 0005 v3 + callout cleanup) — Wave 2 done (8/8 chunks). /plan + /build executed. /plan interview (6 questions, ~25 min): scope clarification на ADR 0005 (variant B — Microsoft + Custom SSO для Tier 3 Stage 2; «Google + email/password» уже сделано CONV-17 revised 2026-05-07); per-ADR depth pattern locked; ADR 0012 narrow scope (только Buyer Remote Presentation, 4 architectures расписаны для Илья); 12 locked decisions L1-L12. Approach B (Draft-all + single ratification, 3 commits). Step 4.4 skipped (pure plan-document refactor). Step 4.5 surfaced Resend как 4-я email architecture (CONV-20 session note). Plan:
plans/stage1-chunk-8-adr-placeholders.md(~195 lines). /build executed Stage A → B → C (3 commits). Stage A (commitc09d5f4): 5 new ADRs (0008 Skeleton ~67 lines / 0009 Full ~105 lines / 0010 Full ~71 lines / 0011 Shell ~44 lines / 0012 Shell ~47 lines) + 0005 v3 in-place revision (Microsoft + Custom SSO Stage 2 Tier 3 scope; Revision 3 added on top, Revision 2 CONV-17 preserved below; new «Stage 2 Tier 3 SSO methods» subsection в Decision area; Alternatives + Consequences updated). Cross-references between ADRs verified (0008→0009/0010/0011/0005 v3/0001; 0009→0008/0010/0005/0012; 0010→0009/0008; 0011→0008/0009; 0012→0009). Stage B (commit683ffd3): ~29 callout pointer fixes вlaunch-plan-stage-1.html— Type A 3 broken-pointer fixes на 0005 (lines 753/1388/1531) + Type B ~26 «pending»/plain-text → live links (Foundational §3 + §4; Phase 1.2/1.3/1.7/1.8/1.11/Cyprus parking-lot/Pricing reminder/Naming TBD). Verification 3 sweeps passed: 0 empty href placeholders / 0 stale status text / 0 «pending Chunk 8» mentions. Stage C (this commit): changelog v4.14 entry с full breakdown + preview repo sync + workstream pivot. Wave 2 closed → 4 sub-plan ratifications next (P0 permission-and-tenancy-model + onboarding-trial-mode; P1 legal-multi-party-framework + buyer-profile-and-presentation). - CONV-15 (2026-05-04): Workstream создан. План split (v4.0-v4.2), Stage 1 rewrite (v4.3) — 2 новые фазы + 7 delta callouts + renumbering + sidebar/hero/counter updates. Mockup admin-quick-build-v2.html создан. Memory сохранена.
- CONV-16 (2026-05-05): Sub-plan 1 (
/plan plans/permission-and-tenancy-model.md) — interview Blocks A/B/C2 закрыты. Решено: Partner = платежник, Модель 4 billing, Buyer = passwordless per-presentation magic link, 5 ролей (Manager = Editor + stock + buyers), S·1 stock allocation (assignment = exclusivity). Paused mid-Block-C, resume at C3 (buyer visibility) next session. Interview state в memoryplan_permission_tenancy_state.md. No git-repo files changed. - CONV-17 (2026-05-06): Interview closed (Blocks C3-C4-D-E-F-G all closed). Решено: Buyer flow = Variant E2 (tokenised unit links, no dashboard), Public Visibility = 3 presets (Private / Discovery default / Full sales), 2FA optional Stage 1 (mandatory Owner+Admin Stage 2), Reservations frozen при suspension. Built v4.4 review document directly into
docs/plan/launch-plan-v3-full.html(+510 строк): Foundational Decisions section (8 anchored subsections) + 7 v4.4 / CONV-17 phase callouts на 1.2/1.3/1.4/1.7/1.9/1.10/1.11 + Open Questions section перед Stage 2. Changelog v4.4 entry добавлен. Brandbook v2 imported. Perplexity MCP + statusline configured. Awaiting Roman review — formal ratification (sub-plan + ADR 0009/0010 + ADR 0005 update + memory deletion) deferred to post-review. - CONV-20 (2026-05-07): Context-refresh session. DKIM/white-label email discussed (informational, no files). Built Levels screen in
docs/mockups/admin-panel-v8.html(1,767→2,091 lines, 4 states). Stage 1 v4.4 read-through NOT continued — still paused at Foundational §1 end. - CONV-23 (2026-05-07): Admin panel mockup session. Added Amenities, Floor Plates, Floor Plans, Units screens to
admin-panel-v8.html(2,091→3,163 lines). Fixedmin-height:0layout bug. Builtadmin-panel-atelier.html— Theme screen in brandbook v2.2 + operator-panel-v3 atmospheric style (3 iterations, approved). Stage 1 plan work not touched. - CONV-30 (2026-05-09): Wave 2 Chunk 7.5 closed (Phase callouts cleanup sweep) — /plan + /build executed. /plan interview after stale CONV-28 Resume Prompt (Chunks 4-7 already shipped); inventory выявил 54 placeholders accumulated in 8 фаз. Approach C (Hybrid sub-plans-aware) выбран из 3 (A Light / B Full / C Hybrid). 12 locked decisions L1-L12. /build of
plans/stage1-chunk-7.5-callouts-sweep.md(13 implementation steps A1-A4 + B1-B6 + C1-C3, ~9 commits). Steps A1-A4 (light treatment) — re-labelled callouts pointing to stub sub-plans: Phase 1.2 (onboarding-trial-mode), 1.3 (permission-and-tenancy-model), 1.9 (legal-multi-party-framework), 1.11 (buyer-profile-and-presentation, v4.12 parking-lot preserved separately per L1). Steps B1-B6 (absorbing) — placeholders → numbered tasks: Phase 1.4 +5 (1.4.9-1.4.13: Fullscreen Org card / Suspension UI / GDPR erasure / Stock conflict / Owner lockout) + reserved subdomain absorbed в 1.4.2; Phase 1.5 +1 (1.5.6 AI file upload PDF→JPEG) + 1.5.Y merged в 1.5.1; Phase 1.8 +3 (1.8.7 two-domain / 1.8.8 DKIM / 1.8.9 hosting cost projection); Phase 1.10 +7 (1.10.8-1.10.14: 360° rotation / Hotspot / Buyer-aware / Anonymous / Status badge / Status change UI / attribution preservation), 2 dedup (1.10.X covered by 1.7.12, 1.10.Y absorbed в 1.10.0). Cross-link pointers v4.7-v4.10 в 1.4 + 1.10 collapsed в 1 v4.13 summary callout каждый (links на §4.6 / §5.1 / §6.1 / §6.2 / §7). Cross-refs cleaned: 1.10.0 deps (1.10.BB/CC/EE → 1.10.10/11/13), §4.4 (Phase 1.5.X → 1.5.6), Phase 1.3 (см. 1.2.T → sub-plan link). Steps C1-C3 — changelog v4.13 entry с full breakdown (A/B/Удалено/Parking-lot sections), workstream Session Log, preview sync. Plus parking-lot v4.12 (CONV-30 buyer-profile + agent-driven session handover idea) saved в memoryidea_buyer_profile_session_handover.md+ Phase 1.11 callout. Roma's CONV-29 parallel track обнаружен (Path 2 Next.js 16 + Tailwind v4 + shadcn/ui scaffold вdesign-system/sales-app/) — brandbook reconciliation deferred. - CONV-28 (2026-05-08): Sales-app-atelier mockup complete (all UX flows demo-able). Built Login modal + Buyer-unit screens. Added real renders (Tapestry/Riviera Residences/Pipis assets). Agent-mode panel gate, fp-drawer with filters + split-zone cards, walkthrough anchor badges on building, unit-212 full 5-step path, apt-stack arrows wired to buyer-unit. Figma MCP configured (.mcp.json). No plan work — Wave 2 Chunk 4 /build still pending.
- CONV-27 (2026-05-08): Wave 2 Chunk 7 closed (Phase 1.7 deep rewrite) — /build executed. /build of
plans/stage1-chunk-7-phase17-rewrite.md(13 steps A-M, ~50 мин): Steps A+C combined — v4.3 (CONV-15 Roman call) + v4.4 (CONV-17 permission-and-tenancy) callouts dropped (10 bullets absorbed) и replaced single v4.11 callout summarising rewrite + sub-plan pointer; Step B — Phase 1.7 desc updated с cross-links на §5 (Public Visibility) + §4.4 (Stock allocation) + 1.7.12 (config UI); Step D — 1.7.1 title «Landing page» → «Landing pages (4 audiences)», desc updated с pointer наplans/landing-pages-by-audience.mdsub-plan, 9 → 11 sub-bullets (added: demo iframe per-audience pattern + anonymous viewer rendering on per-Org sales page per §5); Steps E + F — stale Q's cleaned в 1.7.5 (resolved per §3 Trial CONV-24) + 1.7.7 (refund/currency resolved per payments-research; chargeback Q updated с ADR 0006 cross-link); Steps G + H + I + J combined — 4 new tasks inserted (1.7.9 Subdomain selection с reserved blacklist + 30d soft redirect + project URL namespacing; 1.7.10 Custom domain self-serve flow + DKIM Tier 2+ с Let's Encrypt SSL via Cloudflare + email routing fallback; 1.7.11 Free tier billing tracking awaiting ADR 0008 + conversion funnel events; 1.7.12 Public Visibility config UI 4-bullet + anonymous render middleware 5-bullet с 4 preset behaviours + buyer-token bypass per §7.4); Step K — changelog v4.11 entry с Removed/Added/Не закрыто sections; Steps L + M — workstream + preview sync. Pattern Chunks 3-6 (single feat commit + sync). Planplans/stage1-chunk-7-phase17-rewrite.mdcommitted в /build commit (был untracked from CONV-27 /plan). - CONV-27 (2026-05-08): Wave 2 Chunk 7 plan ratified, NOT yet built. /plan interview по Phase 1.7 deep rewrite (deferred из CONV-24 Chunk 2). Прошлись по всему Phase 1.7 inventory — выявлено 10 накопленных callout-bullets (v4.3 CONV-15 + v4.4 CONV-17), stale resolved Q's в 1.7.5 + 1.7.7, dupe с Foundational §4.4 (Stock allocation toggle) и §5/§5.1 (Public Visibility detail). Approach C (Hybrid surgical) выбран из 3 (A Conservative / B Restructure / C Hybrid). 12 locked decisions: 4 новых tasks (1.7.9 Subdomain selection + Project URL structure namespacing с reserved blacklist, 1.7.10 Custom domain self-serve + DKIM Tier 2+ feature с Let's Encrypt SSL, 1.7.11 Free tier billing tracking — awaiting ADR 0008, 1.7.12 Public Visibility config UI + anonymous render — реализация §5/§5.1 spec); 1.7.1 Landing получает pointer на sub-plan landing-pages-by-audience.md (sub-plan владеет 4-audience детальной спекой) + demo iframe sub-bullet + anonymous viewer rendering note; stale Q's cleaned в 1.7.5 (resolved per §3 Trial CONV-24) + 1.7.7 (refund + currency resolved per payments-research; chargeback → ADR 0006 link); v4.3 + v4.4 callouts dropped после absorbing; new single v4.11 callout summarising rewrite. Plan:
plans/stage1-chunk-7-phase17-rewrite.md(~330 lines, status: ratified, untracked локально — закоммитится в /build commit). Open Questions: Chunk 7.5 vs combined для других Phase callouts cleanup; Subdomain change frequency limit; Email sender architecture (→ ADR 0011); «Request access» CTA destination в Discovery preset. Step 4.4 Business review skipped (doc-only plan; future build phases получат свой review). Step 4.5 Notion DS-id continues to fail. - CONV-27 (2026-05-08): Wave 2 Chunk 6 closed (§7 Edge cases) — /build executed. /build of
plans/stage1-chunk-6-edges.md(9 steps A-I, ~30 мин): parking-lot callout в начале §7 (visible DEFERRED status для §7.2/§7.3 + 3 conditions: jurisdiction lock + lawyer + sub-plan activation) + §7.1 deactivation расширен 4 → 7 bullets (3 new: buyer-records SA persist after deactivation per CONV-22 attribution, deactivated user UX = анонимный посетитель без спецбаннеров (Public Visibility per §5), self-leave с confirmation modal + Owner-cannot-self-leave; 1 amend: re-invite same email → assignments/buyer-records НЕ auto-restore) + §7.4 conflicts расширен 4 → 7 bullets (3 new: Open-pool race-condition first-click-wins с collision modal «Только что зарезервировал X в TIMESTAMP» + audit log обоих attempts, Org-suspension tokens продолжают работать read-only до 90d expiry с CTA disabled, Visibility-flip с active tokens — tokens bypass'ят new setting consistent с §5.1 PIN bypass + §6 token mechanics) + §7.5 referrals расширен 4 → 7 bullets (3 new: multi-Org referee только первая Organisation триггерит payoutOrganisation.referred_by_user_idset once, cycle preventionpayout_status: ineligible_cycleдля self/reverse-ref, sponsor visibility screen Settings → Referrals с inline table — anonymized Org #abc12, current status, payout state — без PII, без invite-link generator Stage 1) + Phase 1.4 v4.10 callout (operator audit для self-leave events distinct actor + suspension token state в Project drawer + Visibility-flip log + ineligible_cycle aggregate counter) + Phase 1.10 v4.10 callout (Open-pool optimistic lock 409 Conflict modal + Suspension Organisation middleware read-only paths + Visibility-flip middleware token bypass) + changelog v4.10 entry. Pattern Chunks 3-5 (single feat commit + sync). Planplans/stage1-chunk-6-edges.mdcommitted в /build commit (был untracked from CONV-27 /plan). - CONV-27 (2026-05-08): Wave 2 Chunk 6 plan ratified, NOT yet built. /plan interview по §7 Edge cases — прошлись по всем 5 subsections turn-by-turn. Locked 10 architectural additions: §7.1 (4 — buyer-records SA persist after deactivation / deactivated user = анонимный посетитель без спецбаннеров / self-leave с modal + Owner-cannot-self-leave / re-invite same email БЕЗ auto-restore assignments-buyer-records), §7.4 (3 — first-click-wins race condition в Open pool с collision modal / Org-suspension tokens продолжают работать read-only до 90d expiry / Visibility-flip с active tokens — tokens bypass'ят new setting), §7.5 (3 — multi-Org referee только первая Org триггерит payout / cycle prevention через
payout_status: ineligible_cycle/ sponsor visibility screen Settings → Referrals с anonymized table). §7.2 GDPR + §7.3 Multi-jurisdiction — пропущены и помечены parking-lot (Cyprus jurisdiction под review per user в CONV-27 vs memory says decided; ждут jurisdiction lock + юриста + sub-planlegal-multi-party-framework.mdactivation). Plan:plans/stage1-chunk-6-edges.md(~290 lines, status: ratified, untracked локально — закоммитится в /build commit). Approach A (surgical inline + parking-lot callout, no new anchors). Step 4.4 Business review skipped (doc-only plan). Step 4.5 Notion DS-id continues to fail. /handoff before /build для clean context. - CONV-26 (2026-05-08): Wave 2 Chunk 5 closed (§6 User Journeys) — /build executed. /build of
plans/stage1-chunk-5-journeys.md(10 steps A-J): §6 lead intro paragraph (cross-link to §6.1+§6.2) + new §6.1 «Sales Agent status-change form (D+E unified)» (anchorfd-buyer-status) — 4 boxes (form shape augmented single-click + smart-match 3-step lookup + triggers/symmetric reverse direction + audit log) + new §6.2 «Channels — Email + WhatsApp + Copy link» (anchorfd-buyer-channels) — 3 boxes (channel table с light deep-linkwa.me/<phone>?text=approach + UI flow modal с phone-empty WhatsApp disable + default message text + Stage 2 backlog для SMS / centralised WA Business API) + §4.2 reverse-flip notification paragraph под matrix + §1 SA cross-link refresh#phase-1-10→#fd-buyer-status+ Phase 1.10 v4.9 callout (verification form UI + 3-channel send) + Phase 1.4 v4.9 callout (status-flip audit visibility + reverse-flip emails + channel analytics) + changelog v4.9 entry. F-A (buyer browse scope from token) deferred Open Question с двумя candidate variants для Roman ratification после Wave 2 close. Planplans/stage1-chunk-5-journeys.mdcommitted в /build commit (was untracked from CONV-26 /plan). - CONV-26 (2026-05-08): Wave 2 Chunk 5 plan ratified, NOT yet built. /plan interview — 12 locked decisions для D+E (status-change form augmented single-click + email-required smart-match с auto-fill, optional notes/file upload; symmetric reverse-flip с email notification one level up; buyer-record retains link voids on reverse) + G (3 channels Email + WhatsApp + Copy link через light deep-link approach с
?ch=tracking; SMS deferred Stage 2). Plan:plans/stage1-chunk-5-journeys.md(~280 lines, status: ratified в frontmatter, untracked локально — закоммитится в /build commit). F-A (buyer browse scope from token) deferred as Open Question с 2 candidate variants ((i) Token=elevated to Full sales project-wide vs (iii) Token=Discovery elevation + per-project Owner toggle) для Roman ratification после Wave 2 close. Approach B (Restructured + new §6.1 + §6.2 subsections) chosen over surgical (A) and full rewrite (C). Notion Sessions row CONV-26 written; workstream relation came back empty — UUID likely не Workstreams DB row id, non-blocking. /handoff before /build для clean context на следующую session. - CONV-25 (2026-05-08): Wave 2 Chunk 4 closed (§5 Visibility). /plan interview (12 locked decisions) + /build of
plans/stage1-chunk-4-visibility.md(ratified mid-session). §5 lead rewrite — «global per Organisation» → «per-project» (org-default deferred Stage 2). Preset table — Custom row removed; PIN-protected added as 4-й preset с blur + PIN gate описанием. Advanced overrides<details>block repurposed как Stage 2 deferral note. Новая §5.1 PIN-protected detailed spec (anchorfd-visibility-pin) — 4 styled boxes: anonymous flow (URL → blur + overlay → submit → 30d cookie), bypass cases (cookie / buyer-token / auth / Owner-PIN-change invalidation), config UI (4 conditional fields: PIN free-format min 4 char + After-PIN view Discovery|Full sales + contact email required + contact phone optional), audit log (PIN set/changed without value + failed attempts >3/hr flagged + aggregate counter). Viewer states table получил substate note про PIN-passed cookie. §4.2 matrix row label updated (Public Visibility +PIN-protected). 3 phase callouts (1.2 Object Builder UI / 1.10 routing middleware sequence / 1.4 operator visibility без PIN value). Changelog v4.8 entry поверх v4.7. Open Questions для plan: «Request access» CTAs в Private/Discovery (mini-patch после Chunk 4 если нужно). Strategic insight: PIN-protected — формализация уже задекларированного 4-го preset'а из §1.2; «Custom» удалён как смущающая mental model. - CONV-25 (2026-05-08): Sales-app atelier mockup session. Built
docs/mockups/sales-app-atelier.htmlfrom scratch — 20 of 22 screens (Welcome, Video, Building Exterior with Pannellum 360°+static dual-mode, Apartments filter flow, Interior/Amenities 360 walkthroughs, Unit Views ×3, Floor Plates/Plans modals, Gallery ×4, Unit List). Brandbook v2.2 tokens (atmospheric gradient, glass panels, Cormorant Garamond, neutral status palette). Global info panel architecture (fixed left, CSS--panel-wvariable drives all screens). 2 placeholder assets copied from Dropbox (CÔTE exterior + Nineteen balcony 360°). Figma MCP integration deferred, memory saved. Model switched Opus 4.7 → Sonnet 4.6 1M mid-session. - CONV-25-prev (2026-05-08): Wave 2 Chunk 3 closed (§4 Access). /build of
plans/stage1-chunk-3-access.md(ratified в начале сессии). §4.2 matrix получил 2 новые action rows (Invite/remove internal SA — Owner/Admin/SM ✅; Invite/remove External SA — Owner/Admin ✅) + header note про identical permissions для Internal/External. Новая §4.5 Internal vs External Sales Agent — comparison table 5 осей (stock pool default, cross-team visibility, invitation source, removal authority, reports/analytics). Новая §4.6 View-as-Agent — admin debug tool (Owner/Admin/SM), read-only mode с persistent banner, audit log requirement, distinct from Stage 4 operator impersonation. §1 SA definition получил cross-link на §4.5. 4 phase callouts (1.3 RBAC variants / 1.4 boundary vs operator imp. / 1.10 view-as render / 1.11 Preview-as-Buyer placeholder). Changelog v4.7 entry вlaunch-plan-changelog.htmlповерх v4.6. Plan ratified в фронтматере. Risks: reports/analytics row — гипотеза, может потребовать пересмотра при Roman ratification. - CONV-24 (2026-05-08): Wave 2 Chunk 2 closed (§3 Billing). Atelier mockup migration of Features screen (admin-panel-v8 → admin-panel-atelier) — 706→833 lines + screen-switching JS + toggle/search-box/feat-table styles. Then /plan interview (4 decisions): trial scope=Path A 14d T1 без карты, trial expiry=auto-downgrade Free Guest read-only, ownership transfer=self-serve до first payment, tier naming=Custom→Tier 3 (Enterprise). Plan ratified
plans/stage1-chunk-2-billing.md. /build executed: §3 rewrite (Trial subsection + Transfer subsection + tier table update + 4-bullet guest/trial→paid restructure), 5 cross-link patches (§1 Owner, §1 footer, §2 Path A, Phase 1.2 v4.5, 1.2 Object Builder spec), Phase 1.7 surgical patches (hero CTA, billing structure, open question resolved, 1.7.5 task desc), changelog v4.6 entry. Stage-1 plan вырос с 3021 до ~3070 строк. Strategic insight crystallised: trial без карты + ownership transfer pre-payment = единый sales motion студия→девелопер. - CONV-18 (2026-05-06): Sergey-review v4.4 read-through started. Через Foundational §1 (entity glossary). 2 architectural changes applied: (1) §7 Reservations удалён целиком — Partner менеджит reservation процесс в своей внешней CRM, у нас только manual unit status flips (no system timers / locks /
reservation_requestentity / force-release). §8 Edge cases renumbered → §7. (2) Stock allocation S·1 переделан: «Shared default» → «Closed pool default + per-project Open mode toggle» (Variant 3 — secure by default). Guest orgs не видят юниты пока не assign'нули. Plus: VV reference removed from §1 intro (entity boundary cleanup), Buyer-row rewrite (typo + ambiguity), Slack-style workspace switcher confirmed. Phase callouts 1.3/1.4/1.7/1.10/1.11 + changelog обновлены. Next: continue read-through с §2 next session. Memoryplan_permission_tenancy_state.mdтеперь diverge от плана — Block C2 (S·1) и C4 (reservations) outdated. - CONV-21 (2026-05-07): Phase 1.2 полный Atelier rework (v4.5 callout, 1.2.4 rewrite, 1.2.5 deprecated). 1.2.1+1.2.7 → 1.3.11+1.3.12 (вариант B). Task 1.10.0 added (login icon на sales-app). User Journeys section добавлена в Foundational. ADR 0005 updated (Google + email/password). Foundational §2+§3 language cleanup. Mockups: operator-panel-v3 + atelier-standalone added. Обзор плана с Романом.
- CONV-22 (2026-05-07): Большая сессия по entity model. Обработали транскрипт долгого звонка с Ромой/Сергеем (~22 пункта). Главное решение: Client (login) ≠ Organisation (tenant) — Client создаёт Organisation, внутри живут Projects. Wave 1 (bulk rename ~120 замен: Partner→Client, Workspace→Organisation, Manager/Editor/Agent с Sales-/Content- префиксами + Russian формы) и Wave 1.5 (§1 entity glossary переписан с диаграммой и двумя таблицами + ~25 entity-vs-identity disambiguation) — закоммичены (a56033a). Preview repo засинкан после 4 коммитов отставания (e4f736a). Wave 2 запущен — Chunk 1 of 8 готов (§2 Onboarding & Auth: entry-point choice screen + Microsoft SSO Stage 1 + Custom SSO Stage 2/Tier 3), не закоммичен.
- CONV-19 (2026-05-07): Sergey-review v4.4 продолжен через Foundational §2-§5 + clarity polishes (Partner type wording multi-select; tier shape 4 rows + namespace flag; §4.3 Scoping bullets rewrite; §5 Visibility lead + Custom preset + viewer-state row 4 fix; counter badges /8 → /7). Major refactor: extracted Stage 1 from
launch-plan-v3-full.html→ newlaunch-plan-stage-1.html(2870 lines) via sed-based extraction with cross-link substitution; main shrunk 3576→1268 lines + Stage 1 stub callout. Priority table fixed (added Phase 1.3 ⭐ + 1.11 ⭐ which были missing, cleaned 1.2 row). Atelier React prototype shared by Sergey as new direction for Phase 1.2 — design opinion captured (5 issues flagged: hero consistency, AI tags copy, Object Builder wording, SKIP semantics, 3 uploads scope) but plan не модифицирован — phase rework next big item. Memory updated: divergence callout onplan_permission_tenancy_state.md(Block C1/C4 stale), newfeedback_stage1_only_focus.md, newproject_conv19_resume_point.md. NOT YET: visual sanity-check, preview repo sync + commit + push.