R-Plan Layer 2 architecture LOCKED 2026-04-28: Next.js 16 + pnpm 10 +…

Decision

R-Plan Layer 2 architecture LOCKED 2026-04-28: Next.js 16 + pnpm 10 + Tailwind 3 + shadcn/ui + Drizzle + Postgres 17 + Better-Auth + pg-boss + next-pwa + Frappe Gantt (AJ-locked). Monorepo apps/web + 5 packages (cpm-engine, ev-engine, db, contracts, gantt-react). L3-SAP marriage: R-Plan L1-L2-L3 structurally locked to SAP WBS, R-Plan owns L4+ activities. Cost data via manual Excel upload at L3 only. EV (PV/EV/AC/SV/CV/SPI/CPI) computed at L3. CPM engine TDD’d against Vanhoucke PSPLib. Personal-VPS tier deployment at r-plan.arjtech.in.

Rationale

Reasoning chain (4 thoughts on session b09bb29c — analysis + evaluation + premortem + conclusion). L3-SAP marriage is the keystone differentiator (without it R-Plan is MSP-clone; with it, the platform natively integrates with SAP at the WBS-cost level). Stack lock is low-risk: all choices blessed-stack defaults per feedback_stack_preferences.md, zero deviations. Frappe Gantt is the right v1 pick (zero license, MIT, simpler API; swap to Bryntum is UI-only refactor if needed). 6 risks identified + mitigated (Frappe FF/SF gap → Wave 0 spike, CPM correctness → TDD-first, L3 code mismatch → strict validator, offline conflicts → LWW per activity+date, audit log volume → monthly partitioning, RBAC field-level → enforced at Server Action layer). All decisions reversible (file edits, repo not yet created). architecture,real-estate,reversible,st-derived

Alternatives Rejected

Outcome

Pending