offplan · online
Session · conv-18

Session CONV-18

In Progresssessionconv-18

Summary

Resumed v4.4 review document read-through with Sergey (paused at end of Foundational §1). Two architectural simplifications applied: (1) Foundational §7 Reservations removed entirely — Partner manages reservation process in own external CRM, our admin offers only manual unit status flips (availablereservedsold). No system-managed timers, no reservation_request entity, no force-release UI. (2) Stock allocation S·1 reshaped from «Shared default» to Closed pool default + per-project Open mode toggle (Variant 3 — secure by default; guest organisations see 0 units until explicit assignment). Plus VV/offplan.online entity boundary cleanup in §1 glossary, Buyer-row typo fix, Slack-style workspace switcher confirmed. All §8 Edge cases renumbered to §7. Phase callouts (1.3, 1.4, 1.7, 1.10, 1.11) and changelog updated to match. Sergey will continue read-through from §2 next session.

Changes

Decisions

Reservations system removed from Stage 1. Partner manages reservation process in their own external CRM. Our admin offers only manual unit status flips (availablereservedsold) per permission matrix. No system-managed timers, no T+7 ping cadence, no reservation_request entity, no force-release with reason field. Rationale: scope reduction; the reservation process has too much off-platform variance (booking deposits, escrow rules, agency contracts) to model generically Stage 1. Buyer cannot self-reserve anything — cleaner consistency with Partner-managed model. Rejected: keep current sec 7 reservation infrastructure (over-engineered for Stage 1 reality where Partners already use external CRMs).

Stock allocation S·1 — Closed pool default (Variant 3) + per-project Open mode opt-in. Replaces previous «Shared default» semantics. New default «Internal pool» (units not assigned to anyone) visible only to internal team, NOT to guest organisations — guest orgs see 0 until explicit assignment. Open mode = per-project toggle reverting to «all see all» for broker-style multi-agency competition projects. Rejected: keeping Shared default (causes accidental data leak when external Agent invited; counter-intuitive for off-plan deals where developer/studio explicitly hands specific units to specific agencies). Rejected: per-Partner toggle (less flexible than per-project — different projects often have different commercial models).

VV/offplan.online entity boundary clarified in glossary. Removed VV reference from §1 intro paragraph (line 587) — was creating subtle confusion between platform (offplan.online) and example Partner (Volume Vision). VV remains as Partner example in real-world examples below where it's explicitly tagged. Variant B chosen over (A) explicit hero one-liner («VV = our launch customer Partner») and (C) leave as-is.

Workspace switcher = Slack-style, single workspace at a time. Confirmed Stage 1 model: Иван logs into one Partner workspace at a time, switches via header dropdown. No unified personal dashboard / cross-workspace search. Default workspace at login = subdomain whence user came; if N memberships and central login = «Choose workspace» page. Cross-workspace personal aggregation = Stage 2 if requested. «+ Create new workspace» в switcher dropdown'е = shortcut к paid Partner signup'у.

Next Steps

  1. Continue v4.4 review document read-through from Foundational §2 (Регистрация и онбординг) — Sergey paused at end of §1
  2. Capture further Sergey corrections in batch mode (similar pattern to today — read, accumulate observations, then several edits applied together)
  3. After Sergey finishes review → sync preview repo (offplan-online/preview NOT synced yet) + send to Roman
  4. After Roman approves → ratify Phase 1.3: fill plans/permission-and-tenancy-model.md, create ADR 0009 (tenancy/permission), ADR 0010 (stock allocation S·1 — now with Closed/Open modes), update ADR 0005 (Google + email/password)
  5. Post-ratification → send Ilya tech-estimate spec with 7 unknowns from Open Questions
  6. Update memory plan_permission_tenancy_state.md — Block C2 (S·1 closed as Shared default) and Block C4 (reservations) now mismatch real plan
  7. Rotate Perplexity API key (carryover from CONV-17, security hygiene)

Open Questions

Context for next session