AI Pipeline Consolidation

Backend responsibilities, Vitto flow generation extension, and ai-gateway pattern absorption

AI Pipeline Consolidation - Session 136

Backend Responsibilities (Locked In)

backend-api (port 3000) - Persistence + Validation

Owns: CRUD for all entities, UniverseDataController, deployment, schemas.

Capability Endpoint Pattern
Space CRUD /api/spaces/*
Universe CRUD /api/spaces/:id/universes/*
Galaxy CRUD /api/spaces/:id/universes/:id/galaxies/*
Module CRUD /api/spaces/:id/modules/*
Page CRUD /api/spaces/:id/space-pages/*
Widget CRUD /api/spaces/:id/widgets/*
Dynamic Data CRUD /api/spaces/:id/universes/:id/data/:collection/*
Entity Schemas /api/spaces/:id/universes/:id/data/schemas/* (Session 136)
Deployment /api/universes/:id/publish, /api/:tenantId/deployment/*
Global Resources /api/global-modules/*, /api/global-widgets/*, /api/global-flows/*
Unified Discovery /api/modules/unified/*
UI Builder /api/ui-builder/*
Platform Code /api/platforms/*

backend-ai-api (port 3001) - AI Execution

Owns: LLM calls, code generation, module intelligence, pattern extraction.

Capability Endpoint Pattern
Platform AI Training /ai-api/platform/*
AI Agent Registry /ai-api/platform/agents/*
Platform Orchestration /ai-api/workflow/platform/*
Generated Modules /ai-api/modules/*
Module Intelligence /ai-api/ai-agents/module-intelligence/*
Chat Sessions /ai-api/sessions/*

backend-vitto-api (port 3003) - Orchestration

Owns: Agent chains, NL-to-blueprint, multi-agent coordination, flow generation.

Capability Endpoint Pattern
Space Builder (NL -> Universe) /vitto-api/space-builder/*
Module Generation Pipeline /vitto-api/module-generation/*
Agent-to-Agent Protocol /vitto-api/a2a/*
Vitto Engine /vitto-api/engine/*
Skills /vitto-api/engine/skills/*
Channels /vitto-api/engine/channels/*
Workflows /vitto-api/engine/workflows/*
Memory /vitto-api/engine/memories/*

Extending Vitto to Generate Flows

New Capability: NL -> Entity + CRUD Flows + Pages

When a user says: "Create a product management system"

Vitto should generate:

  1. Entity schemas (via POST /api/.../data/schemas)

    {
      "collection": "products",
      "displayName": "Products",
      "fields": [
        { "name": "name", "type": "string", "required": true, "label": "Product Name" },
        { "name": "price", "type": "number", "required": true, "label": "Price" },
        { "name": "description", "type": "string", "required": false, "label": "Description" },
        { "name": "category", "type": "string", "required": false, "label": "Category" }
      ]
    }
    
  2. CRUD flows (using existing CrudFlowTemplate from flow-engine-lib)

    • Create Product flow
    • List Products flow
    • Update Product flow
    • Delete Product flow
    • Get Product flow
  3. Page layouts

    • Products List page (with data table widget bound to List flow)
    • Product Detail page (with form widget bound to Get/Update flow)
    • Create Product page (with form widget bound to Create flow)
  4. Module definition (linking flows to pages)

    • "Product Management" module with 3 pages
    • Navigation items
    • Dashboard widget

Implementation Location

Add to backend-vitto-api/src/app/space-builder/:

gmodules1 ai-gateway Patterns to Absorb

1. Template Registry

Source: gmodules1/apps/ai-gateway/src/app/templates/template-registry.service.ts

What it does: Maintains a registry of code templates (CRUD, Dashboard, Analytics, Integration, Basic) with variable substitution. Reduces LLM token usage by 25-45%.

Target: Add TemplateRegistryService to backend-vitto-api/src/app/module-generation/

2. Phase-Based Workflow

Source: gmodules1/apps/ai-gateway/src/app/modules/modules.service.ts

Phases: spec (5 min) -> implement (10 min) -> finalize (8 min) -> test-e2e (5 min, optional)

What it does: Each phase has timeouts, max iterations, checkpoint saves. If a phase fails, it can retry from checkpoint.

Target: Integrate into backend-vitto-api/src/app/module-generation/module-generation.service.ts

3. Checkpoint/Recovery

Source: gmodules1/apps/ai-gateway/src/app/context/

What it does: Saves generation state between phases. If the process crashes, it can resume from the last checkpoint.

Target: Add to backend-vitto-api module generation pipeline

4. Multi-Provider LLM Abstraction

Source: gmodules1/apps/ai-gateway/src/app/providers/

Providers: Claude, Gemini, DeepSeek -- all extend BaseLLMProvider

What it does: Abstract base class with standardized interface for tool calling, streaming, retry logic, token estimation.

Evaluation: backend-ai-api may already have provider abstraction. Compare before porting.

Overlap Resolution

Module Generation

Capability gmodules1 ai-gateway backend-vitto-api backend-ai-api Resolution
Generate module spec Phase 1 (spec) /module-generation/generate - Use vitto-api, port phases
Generate module code Phase 2 (implement) /module-generation/generate-single /workflow/platform/deploy-modules Use vitto-api for generation, ai-api for deployment
Template pre-generation Template registry - - Port to vitto-api
Multi-provider LLM BaseLLMProvider - Has own provider system Evaluate ai-api's system
NL to universe - /space-builder/blueprint + /build - Keep in vitto-api
Agent chains - /space-builder/chain - Keep in vitto-api

Clear Boundaries After Consolidation

User Intent
    │
    ▼
backend-vitto-api (Orchestration)
    ├── NL → Blueprint (space-builder)
    ├── Blueprint → Module specs (module-generation)
    ├── Module specs → Code generation requests (→ sends to ai-api)
    ├── Flow generation (new: entity + CRUD flows)
    └── Agent chain coordination
         │
         ▼
backend-ai-api (Execution)
    ├── LLM calls (Claude, Gemini, etc.)
    ├── Code generation
    ├── Module intelligence
    └── Pattern extraction
         │
         ▼
backend-api (Persistence)
    ├── Save modules, pages, widgets
    ├── Save entity schemas
    ├── Save flows
    └── Deploy