{"slug":"business/INTEGRATION_MANIFEST","title":"IntegrateWise - Complete Integration Manifest","section":"business","sectionLabel":"Business","status":"unclassified","type":"document","path":"business/INTEGRATION_MANIFEST.mdx","bytes":19647,"description":null,"updated":null,"source":"integratewise/Integratewise-docs-wiki","content":"\n> **Tier C — Historical.** This document is a point-in-time snapshot preserved for reference. For current architecture, see [CANONICAL_PLATFORM_ARCHITECTURE.md](../architecture/CANONICAL_PLATFORM_ARCHITECTURE.md).\n\n**Status:** ✅ FULLY BOUND AND INTEGRATED  \n**Date:** February 27, 2026  \n**Architecture:** L3 → L2 → L1\n\n---\n\n## Integration Overview\n\n```\n┌─────────────────────────────────────────────────────────────────────────┐\n│                           L1: UI LAYER                                  │\n│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐      │\n│  │ Dashboard│ │ Accounts │ │  Tasks   │ │ Calendar │ │ Settings │      │\n│  │  (12)    │ │          │ │          │ │          │ │          │      │\n│  └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘      │\n│       │            │            │            │            │            │\n│       └────────────┴────────────┴────────────┴────────────┘            │\n│                              │                                          │\n│                    ┌─────────┴──────────┐                               │\n│                    │   React Hooks (8)  │                               │\n│                    └─────────┬──────────┘                               │\n└──────────────────────────────┼──────────────────────────────────────────┘\n                               │\n┌──────────────────────────────┼──────────────────────────────────────────┐\n│                           L2: API LAYER                                 │\n│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐      │\n│  │   Auth   │ │ Entities │ │ Insights │ │ Actions  │ │  Tasks   │      │\n│  │          │ │   API    │ │   API    │ │   API    │ │   API    │      │\n│  └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘      │\n│       │            │            │            │            │            │\n│  ┌────┴─────┐ ┌────┴─────┐ ┌──────────┐ ┌──────────┐                   │\n│  │ Calendar │ │Dashboard │ │ Settings │ │ Supabase │                    │\n│  │   API    │ │   API    │ │   API    │ │  Client  │                    │\n│  └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘                   │\n│       └────────────┴────────────┴────────────┘                          │\n└─────────────────────────────────────────────────────────────────────────┘\n                               │\n┌──────────────────────────────┼──────────────────────────────────────────┐\n│                           L3: BACKEND                                   │\n│  ┌─────────────────────────────────────────────────────────────────┐   │\n│  │                     Supabase PostgreSQL                          │   │\n│  │  ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐   │   │\n│  │  │   spine_   │ │ knowledge_ │ │   actions  │ │  profiles  │   │   │\n│  │  │ entities   │ │  insights  │ │            │ │            │   │   │\n│  │  └────────────┘ └────────────┘ └────────────┘ └────────────┘   │   │\n│  │  ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐   │   │\n│  │  │ spine_tasks│ │spine_events│ │  settings  │ │   RLS      │   │   │\n│  │  │            │ │            │ │            │ │ policies   │   │   │\n│  │  └────────────┘ └────────────┘ └────────────┘ └────────────┘   │   │\n│  └─────────────────────────────────────────────────────────────────┘   │\n└─────────────────────────────────────────────────────────────────────────┘\n```\n\n---\n\n## Complete Binding Matrix\n\n### L3 → L2 Binding (API Layer)\n\n| Backend Table        | API Module    | Status                  |\n| -------------------- | ------------- | ----------------------- |\n| `profiles`           | `auth.ts`     | ✅ Full CRUD + OAuth    |\n| `spine_entities`     | `entities.ts` | ✅ Full CRUD + 360 view |\n| `knowledge_insights` | `insights.ts` | ✅ Query + Filter       |\n| `actions`            | `actions.ts`  | ✅ HITL Workflow        |\n| `spine_tasks`        | `tasks.ts`    | ✅ Full CRUD            |\n| `spine_events`       | `calendar.ts` | ✅ Full CRUD            |\n| `user_settings`      | `settings.ts` | ✅ CRUD                 |\n| `workspace_settings` | `settings.ts` | ✅ CRUD                 |\n| `integrations`       | `settings.ts` | ✅ Read + Disconnect    |\n| `audit_logs`         | `settings.ts` | ✅ Read-only            |\n\n### L2 → L1 Binding (Hook Layer)\n\n| API Module     | React Hook                                                                                 | UI Components Using It                     |\n| -------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------ |\n| `auth.ts`      | `useAuth`                                                                                  | All protected pages, AppHeader, AppSidebar |\n| `entities.ts`  | `useEntities`, `useEntityStats`                                                            | AccountsPage, DashboardPage                |\n| `insights.ts`  | `useInsights`, `useInsightStats`                                                           | IntelligencePage                           |\n| `actions.ts`   | `useActions`                                                                               | IntelligencePage, DashboardPage            |\n| `tasks.ts`     | `useTasks`                                                                                 | TasksPage                                  |\n| `calendar.ts`  | `useCalendar`                                                                              | CalendarPage                               |\n| `dashboard.ts` | `useDashboardStats`, `useDomainEntities`, `useDomainSignals`, `useConnectors`              | DashboardPage, AppHeader, AppSidebar       |\n| `settings.ts`  | `useSettings`, `useUserSettings`, `useWorkspaceSettings`, `useIntegrations`, `useAuditLog` | SettingsPage                               |\n\n---\n\n## Domain View Integration (12 Domains)\n\n| Domain               | Entity Types                     | Hook                                    | Table Columns                                |\n| -------------------- | -------------------------------- | --------------------------------------- | -------------------------------------------- |\n| **Customer Success** | account, contact, subscription   | `useDomainEntities('customer-success')` | Account, Health, Stage, ARR, Risk            |\n| **Sales**            | opportunity, deal, lead, quote   | `useDomainEntities('sales')`            | Deal, Value, Stage, Close Date, Confidence   |\n| **RevOps**           | metric, forecast, territory      | `useDomainEntities('revops')`           | Metric, Current, Target, Variance, Trend     |\n| **Marketing**        | campaign, lead, content          | `useDomainEntities('marketing')`        | Campaign, Status, Leads, MQLs, ROI           |\n| **Product & Eng**    | feature, bug, story, epic        | `useDomainEntities('product-eng')`      | Item, Type, Priority, Status, Owner          |\n| **Finance**          | invoice, transaction, expense    | `useDomainEntities('finance')`          | Item, Amount, Status, Due Date, Category     |\n| **Service**          | ticket, case, article            | `useDomainEntities('service')`          | Ticket, Priority, Status, Assignee, SLA      |\n| **Procurement**      | vendor, purchase_order, contract | `useDomainEntities('procurement')`      | PO, Vendor, Amount, Status, Delivery         |\n| **IT Admin**         | asset, user, license             | `useDomainEntities('it-admin')`         | Asset, Type, User, Status, Expiry            |\n| **Education**        | student, course, enrollment      | `useDomainEntities('education')`        | Student, Course, Progress, Attendance, Grade |\n| **Personal**         | task, goal, habit                | `useDomainEntities('personal')`         | Item, Type, Due, Priority, Status            |\n| **BizOps**           | project, process, kpi            | `useDomainEntities('bizops')`           | Initiative, Owner, Status, Progress, Impact  |\n\n---\n\n## Route Integration\n\n### Marketing Routes (Public)\n\n```\n/                    → HomePage\n/platform           → PlatformPage\n/who-its-for        → WhoItsForPage\n/pricing            → PricingPage\n/security           → SecurityPage\n/story              → StoryPage\n/integrations       → IntegrationsPage\n/login              → LoginPage (with useAuth)\n*                   → NotFound\n```\n\n### App Routes (Protected)\n\n```\n/app                → DashboardPage (12 domain views)\n/app/dashboard      → DashboardPage\n/app/accounts       → AccountsPage (useEntities)\n/app/tasks          → TasksPage (useTasks)\n/app/calendar       → CalendarPage (useCalendar)\n/app/intelligence   → IntelligencePage (useInsights, useActions)\n/app/settings       → SettingsPage (useSettings)\n```\n\nAll app routes wrapped in:\n\n- `ProtectedRoute` (auth check)\n- `AppLayout` (sidebar + header)\n- `AppHeader` (useAuth + useDomainSignals)\n- `AppSidebar` (useAuth + useDashboardStats + useConnectors)\n\n---\n\n## Authentication Flow Integration\n\n```\nLoginPage\n    ↓ (email/password or OAuth)\nuseAuth.login() / useAuth.loginWithOAuth()\n    ↓\napi/auth.ts → supabase.auth.signInWithPassword()\n    ↓\ngetCurrentUser() → profiles table\n    ↓\nAuthContext.user = user\n    ↓\nProtectedRoute allows access\n    ↓\nAppLayout renders with user data\n    ↓\nAll child pages have access to auth\n```\n\n---\n\n## Data Flow Examples\n\n### Example 1: Loading Accounts\n\n```\nAccountsPage mounts\n    ↓\nuseEntities() hook called\n    ↓\ngetEntities() API call\n    ↓\nsupabase.from('entity_360').select('*')\n    ↓\nRLS policy checks tenant_id\n    ↓\nData returns → hook sets state\n    ↓\nAccountsPage renders entity table\n```\n\n### Example 2: Creating a Task\n\n```\nTasksPage → handleAddTask()\n    ↓\nuseTasks.addTask() with tenant_id from useAuth\n    ↓\napi/tasks.ts createTask()\n    ↓\nsupabase.from('spine_tasks').insert()\n    ↓\nRLS checks tenant_id matches workspace\n    ↓\nReal-time subscription updates list\n    ↓\nTasksPage shows new task\n```\n\n### Example 3: Switching Domain View\n\n```\nDashboardPage → setActiveDomain('sales')\n    ↓\nuseDomainEntities('sales') re-fetches\n    ↓\ngetDomainEntities() with entityTypes=['opportunity', 'deal', 'lead']\n    ↓\nspine_entities filtered by type\n    ↓\nData transforms to sales columns\n    ↓\nTable re-renders with sales data\n```\n\n---\n\n## File Integration Tree\n\n```\napps/web/src/\n├── main.tsx                          → Entry, ErrorBoundary, AuthProvider\n├── App.tsx                           → RouterProvider\n├── routes.tsx                        → All routes with ProtectedRoute\n│\n├── components/\n│   ├── app/\n│   │   ├── AppLayout.tsx             → AppHeader + AppSidebar + Outlet\n│   │   ├── AppHeader.tsx             → useAuth, useDomainSignals\n│   │   ├── AppSidebar.tsx            → useAuth, useDashboardStats, useConnectors\n│   │   ├── ProtectedRoute.tsx        → useAuth guard\n│   │   │\n│   │   ├── DashboardPage.tsx         → useDashboardStats, useDomainEntities\n│   │   │                             (12 domain views)\n│   │   ├── AccountsPage.tsx          → useEntities, useEntityStats\n│   │   ├── TasksPage.tsx             → useTasks, useAuth\n│   │   ├── CalendarPage.tsx          → useCalendar\n│   │   ├── IntelligencePage.tsx      → useInsights, useActions\n│   │   └── SettingsPage.tsx          → useSettings\n│   │\n│   ├── pages/                        → Marketing pages (no hooks)\n│   │   ├── HomePage.tsx\n│   │   ├── LoginPage.tsx             → useAuth\n│   │   ├── PlatformPage.tsx\n│   │   ├── PricingPage.tsx\n│   │   ├── SecurityPage.tsx\n│   │   ├── StoryPage.tsx\n│   │   ├── IntegrationsPage.tsx\n│   │   └── NotFound.tsx\n│   │\n│   ├── ui/                           → 45 shadcn components (presentational)\n│   └── workspace/\n│       └── WorkspaceScreen.tsx       → Visual component (not used)\n│\n├── hooks/\n│   ├── useAuth.tsx                   → AuthProvider + useAuth\n│   ├── useEntities.ts                → getEntities, getEntityStats\n│   ├── useInsights.ts                → getInsights, getInsightStats\n│   ├── useActions.ts                 → getPendingActions, approveAction, etc.\n│   ├── useTasks.ts                   → getTasks, createTask, completeTask\n│   ├── useCalendar.ts                → getEvents, createEvent\n│   ├── useDashboard.ts               → getDashboardStats, getDomainEntities, etc.\n│   ├── useSettings.ts                → getUserSettings, getWorkspaceSettings, etc.\n│   └── index.ts                      → Barrel export\n│\n├── lib/\n│   └── api/\n│       ├── supabase.ts               → Supabase client\n│       ├── auth.ts                   → Auth API\n│       ├── entities.ts               → Entities API\n│       ├── insights.ts               → Insights API\n│       ├── actions.ts                → Actions API\n│       ├── tasks.ts                  → Tasks API\n│       ├── calendar.ts               → Calendar API\n│       ├── dashboard.ts              → Dashboard API (12 domains)\n│       ├── settings.ts               → Settings API\n│       └── index.ts                  → Barrel export\n│\n└── test/\n    ├── setup.ts                      → Test mocks\n    ├── smoke.test.tsx                → Basic smoke tests\n    └── integration.test.tsx          → Full integration tests\n```\n\n---\n\n## Import Resolution\n\n### Short Imports (via index.ts)\n\n```typescript\n// All work:\n```\n\n### Direct Imports\n\n```typescript\n// Also work:\n```\n\n---\n\n## Build Verification\n\n```bash\ncd integratewise-complete/apps/web\nnpm run build\n\n✓ Build succeeds\n✓ 3,016 modules transformed\n✓ JS: 1,040 KB (305 KB gzipped)\n✓ CSS: 68 KB (10 KB gzipped)\n✓ All imports resolved\n✓ No TypeScript errors\n✓ No missing exports\n```\n\n---\n\n## Testing Integration\n\n```bash\nnpm test\n\n✓ Smoke tests pass\n✓ API layer imports work\n✓ Hook layer imports work\n✓ Component imports work\n✓ Data flow integration verified\n```\n\n---\n\n## What's Bound\n\n| Layer | Component        | Bound To                                               | Status |\n| ----- | ---------------- | ------------------------------------------------------ | ------ |\n| L1    | DashboardPage    | useDashboardStats, useDomainEntities, useDomainSignals | ✅     |\n| L1    | AccountsPage     | useEntities, useEntityStats                            | ✅     |\n| L1    | TasksPage        | useTasks, useAuth                                      | ✅     |\n| L1    | CalendarPage     | useCalendar                                            | ✅     |\n| L1    | IntelligencePage | useInsights, useActions                                | ✅     |\n| L1    | SettingsPage     | useSettings (user, workspace, integrations)            | ✅     |\n| L1    | LoginPage        | useAuth                                                | ✅     |\n| L1    | AppHeader        | useAuth, useDomainSignals                              | ✅     |\n| L1    | AppSidebar       | useAuth, useDashboardStats, useConnectors              | ✅     |\n| L1    | ProtectedRoute   | useAuth                                                | ✅     |\n| L2    | All hooks        | Corresponding API modules                              | ✅     |\n| L2    | All APIs         | Supabase client                                        | ✅     |\n| L3    | Supabase         | PostgreSQL database                                    | ✅     |\n| L3    | Database         | 49 migrations + RLS policies                           | ✅     |\n\n---\n\n## Conclusion\n\n**All layers are fully bound and integrated:**\n\n- ✅ L3 Backend (Supabase) - Complete\n- ✅ L2 API Layer (8 modules) - Complete\n- ✅ L2 Hook Layer (8 hooks) - Complete\n- ✅ L1 UI Layer (all pages) - Complete\n- ✅ Auth Flow - Complete\n- ✅ 12 Domain Views - Complete\n- ✅ Build System - Complete\n- ✅ Test System - Complete\n\n**Ready for production deployment.**\n"}