3 Commits

Author SHA1 Message Date
ad2f0c0b9c
feat(security): add multi-tenancy isolation and demo mode (#90)
Add org-scoped data isolation across all server actions to
prevent cross-org data leakage. Add read-only demo mode with
mutation guards on all write endpoints.

Multi-tenancy:
- org filter on executeDashboardQueries (all query types)
- org boundary checks on getChannel, joinChannel
- searchMentionableUsers derives org from session
- getConversationUsage scoped to user, not org-wide for admins
- organizations table, members, org switcher component

Demo mode:
- /demo route sets strict sameSite cookie
- isDemoUser guards on all mutation server actions
- demo banner, CTA dialog, and gate components
- seed script for demo org data

Also: exclude scripts/ from tsconfig (fixes build), add
multi-tenancy architecture documentation.

Co-authored-by: Nicholai <nicholaivogelfilms@gmail.com>
2026-02-15 22:05:12 -07:00
aa6230c9d4 feat(schedule): add BuilderTrend parity enhancements
Add two-level tab structure (Schedule/Baseline/Workday Exceptions),
calendar view, enhanced list view with progress rings and initials
avatars, split-pane gantt view, workday exception management with
business day integration, and baseline snapshot comparison.
2026-01-23 20:14:09 -07:00
67fed00bbd feat(schedule): add gantt schedule with task management and dependencies
Implements the schedule module for COMPASS construction PM:

- D1/Drizzle schema: tasks, dependencies, phases tables
- frappe-gantt integration for interactive timeline view
- Critical path analysis (forward/backward pass, float calc)
- Dependency validation with cycle detection
- Business day calculations (skip weekends/holidays)
- Date propagation engine for cascading schedule changes
- Task CRUD with phase assignment and progress tracking
- Dependency management (FS/FF/SS/SF with lag support)
- Dual view: sortable list view + gantt chart view

Also includes full Next.js app scaffold with dashboard,
shadcn/ui components, and Cloudflare Workers deployment config.
2026-01-23 19:34:24 -07:00