Unclassified

IntegrateWise — Layer Ownership & Twin Runtime Doctrine

Date: 2026-06-09 | Authority: Nirmal (Founder) | Version: 1.0
Status: LOCKED — canonical layer ownership definition
Supersedes: Prior L1-L4 descriptions in IW_FRONTEND_ARCHITECTURE.md (Nuxt/Vue doc is deprecated)
Companions: CANONICAL_TAXONOMY.md, ARCHITECTURE_AND_DATA_FLOW.md, MCP_ADK_ROUTING_SPINE_MEMORY_ARCHITECTURE.md


The Architectural Statement

Open WebUI powers the Twin.
IntegrateWise powers the intelligence.

Open WebUI is not a feature source. It is a runtime.

Most teams start with: Product → Chat → AI.
IntegrateWise ends with:

Product
  ├── Work        (L1)
  ├── Awareness   (L2)
  ├── Twin Runtime (L3)
  └── Memory      (L4)

This is fundamentally different. The moat is not the chat. The moat is the
awareness layer, the governed memory loop, and the Spine abstraction.


Final Layer Ownership

L1 — Workspace

Purpose:    DO WORK
Owner:      IntegrateWise (apps/web)
Nav:        Sections in the left nav (Desk, Inbox, Entity360, domains, tasks, etc.)
Status:     ALREADY BUILT — 12 domains × 20-47 views each, wired to Spine
Contains:   Desk · Inbox · Entity360 · Tasks · Pipeline · Projects
            Reports · Approvals · Actions · Triage · Domain Views (12)

Open WebUI does not own this. These are nav sections in apps/web.

Code: apps/web/src/components/l1/ (12 domains × views)
Shell: workspace-shell-new.tsx (Personal / Work toggle)
Data: useSpineProjection → gateway → D1 spine_vault (real Spine data, no mock)


L2 — Awareness

Purpose:    NOTICE
Owner:      IntegrateWise (apps/web)
Nav:        Sections in the left nav (Signals, Insights, Scoring, Evidence, Triage)
Status:     SPLIT OUT — now nav sections, not just a bottom drawer
Contains:   Signals · Scoring · Predictions · Insights · Evidence
            Lineage · Readiness · Triage · Governance Queue

This is the real moat. Nav sections in the same app.
The overlay drawer ALSO exists for urgent signals that interrupt work.

Code: apps/web/src/components/l2/ (cognitive/, insights/, signals/, spine/)
Trigger: cognitive-triggers.tsx — role-based thresholds still fire the drawer
Nav sections: Signals, Insights, Evidence, Triage — accessible from left nav directly


L3 — Twin Runtime

Purpose:    THINK
Owner:      Open WebUI (DEPLOYED INSTANCE — we don't build it)
Nav:        Section in the left nav (Twin) — links/embeds to OWUI
Status:     LIVE at twin.integratewise.ai (Hostinger)
Contains:   Conversation · Voice · Planning · Reasoning · Research
            Execution · Playbooks · Tool Usage · Briefings

The Twin is the Conversation Layer for the Spine.
OWUI is a deployed instance we USE. Not code we maintain.

Runtime: Open WebUI instance (deployed, Hostinger)
URL: twin.integratewise.ai
Integration: iframe embed in apps/web OR external link from nav
Bridge: continuity-tool-server → pipeline → Spine


L4 — Library (Memory)

Purpose:    KNOW
Owner:      IntegrateWise (apps/web)
Nav:        Sections in the left nav (Org Memory, Personal, Decisions, Doctrine, Knowledge)
Status:     BUILT — memory views wired to Spine
Contains:   Org Memory · Personal Memory · Book of Projects · Doctrine
            Decisions · Research · Playbooks · Knowledge Assets

The permanent memory substrate. Nav sections in the same app.
The Twin reads from it. The Twin does not own it.

Code: apps/web/src/components/l1/knowledge/ + memory views
Projection: Also syncs to Coda (L4 external) via coda-pack/sync-org-memory.ts


The Left Nav Structure (one app, all layers)

LEFT NAV — apps/web
─────────────────────────────────────────
  L1 WORK
    Desk            /desk
    Inbox           /inbox
    Entity 360      /entity360
    [Domain views]  /work/*
    Tasks           /work/tasks
    Projects        /work/projects
    Reports         /work/grow

  L2 AWARENESS
    Signals         /signals
    Insights        /insights
    Triage          /triage
    Evidence        /evidence

  L3 TWIN
    Twin            /twin  (embeds/links OWUI)

  L4 MEMORY
    Org Memory      /memory/org
    Personal        /memory/personal
    Decisions       /memory/decisions
    Knowledge       /knowledge

  SYSTEM
    Connectors      /connectors
    Settings        /settings
    Profile         (toggle)
─────────────────────────────────────────

All four layers are nav sections in one app. Not four separate apps.
Not four separate surfaces. One left nav. One shell. One surface.
L3 is the only external link (OWUI deployed instance).

What Open WebUI Provides (must use)

FeatureIW Usage
Chat (core)Conversation with the Twin
Voicex.ai "eve" hands-free
File uploadsDrop docs for Twin to reason over
Web searchAgent Zero searches + cites
Code executionOpen Terminal (run code in sandbox)
MCP support4 tool servers connected
Model presets"IW Twin" preset (doctrine + tools + Spine context)
Knowledge (RAG)Doctrine + org_memory loaded as collections
Bound toolsForce-enabled per agent config
Agent runtimeAgent Zero multi-step execution

Nice to Have (later, not v1)

FeaturePotential Use
AutomationsSchedule daily 8am brief trigger
Task managementPlaybook step tracking
Slash commands/brief, /risk, /propose, /entity <name>
SkillsDoctrine as markdown instruction sets
ChannelsTeam + Twin in same thread (future)

Ignore (IW already owns better versions)

FeatureWhy Ignore
RBAC / AdminCF Access + Gateway handles
AnalyticsL1 domain views handle
Native MemorySpine + governed memory loop is stronger
Native AuthCF Access is sole identity
Team GovernanceL2 awareness + L1 triage views
NotesViolates Continuity doctrine — use L4 Library instead

Critical: Open WebUI Notes must NOT be used. They create a fragmented
memory store that violates the Continuity doctrine. Everything durable ends
up in: Spine → Library → Governed Memory. Not inside OWUI's database.


L4 — Library (Memory)

Purpose:    KNOW
Owner:      IntegrateWise
Contains:   Org Memory · Personal Memory · Book of Projects · Doctrine
            Decisions · Research · Playbooks · Knowledge Assets

This is the permanent memory substrate.
The Twin reads from it.
The Twin does not own it.

Projection surfaces: Coda (primary L4 for founder), any queryable surface
Sync: packages/coda-pack/sync-org-memory.ts (--personal for founder mode)
MCP tools: coda.connect_doc, coda.read_page, coda.sync_memory_to_doc
Governance: Triage Bot governs all writes to org_memory. Twin proposes, never writes.
Storage: R2 (raw) + AI Search/Vectorize (semantic retrieval) + D1 (metadata) + Supabase (fortress, promoted)


Briefings — The Missing Category

Briefings deserve their own classification. Not chat. Not memory. Not signals.

Morning Brief
Weekly Brief
Account Brief
Project Brief
Decision Brief
Risk Brief
Deployment Brief

Generated from: Spine + Signals + Memory + Entity360
Rendered through: Twin (L3)
Consumed in: L1 (/desk) + L3 (Twin speaks first)

Briefings are one of the most-used experiences in the platform. They are the
Twin's primary OUTPUT that appears in L1 (the morning brief card on /desk) and
is generated via L3 (MorningContextBuilder → Twin Orchestrator).


The Mental Model

L1 = Work
L2 = Awareness
L3 = Reasoning
L4 = Memory

Spine = Truth
Continuity Bridge = Access Layer
Twin = Conversation Layer

Layer Boundaries (hard walls)

L1 ↔ L3:   L1 NEVER embeds chat. Twin outputs surface as cards/proposals in L1.
            L3 NEVER owns views. It reasons. L1 renders the result.

L2 ↔ L3:   L2 surfaces signals + evidence + [Open Twin ↗].
            L3 does the thinking when the user clicks through.
            L2 NEVER reasons. L3 NEVER signals.

L3 ↔ L4:   Twin READS from Library (via MCP/Vectorize).
            Twin PROPOSES to Library (via memory.propose → governance).
            Twin NEVER writes to Library directly.

L2 ↔ L4:   L2 may reference memory (evidence context).
            L4 is not surfaced as an overlay. L4 is a separate projection surface.

OWUI ↔ Spine:  Open WebUI NEVER accesses Spine directly.
               continuity-tool-server is the ONLY bridge.
               All OWUI memory features are UNUSED (Spine owns memory).

Ownership Summary

LayerOwnerWhat Dies If Removed
L1 WorkspaceIntegrateWiseAll operational views, domain projections, daily work
L2 AwarenessIntegrateWiseSignals, scoring, predictions, governance — THE MOAT
L3 Twin RuntimeOpen WebUI (runtime) + IW (intelligence via Bridge)Reasoning, conversation, voice, planning
L4 LibraryIntegrateWiseInstitutional memory, doctrine, decisions, knowledge
SpineIntegrateWiseOperational truth (entities, relationships, signals)
Continuity BridgeIntegrateWiseAccess layer (MCP + Gateway + ADK + Auth)

If Open WebUI is swapped for another chat runtime: L1, L2, L4, Spine, and Bridge are unaffected. Only L3's UI changes. The Twin is model-agnostic AND runtime-agnostic.

If IntegrateWise is removed and only OWUI remains: Everything that matters disappears. No awareness. No governance. No memory loop. No entity resolution. No Spine. Just a generic chat app.

That's where the moat lives.


Open WebUI powers the Twin. IntegrateWise powers the intelligence.
The chat is not the product. The continuity is.