ADR-030: VibesPro™ Foundation Integration Strategy


adr_id: ADR-030 title: VibesPro™ Foundation Integration Strategy status: Proposed version: 1.1.0 date_created: 2025-12-27 last_updated: 2026-01-04 supersedes:

Status: Proposed
Version: 1.1
Date: 2025-12-27
Updated: 2026-01-04
Supersedes: ADR-030 (VibesPro™ Integration Strategy)
Related ADRs: ADR-012 (Delivery Pipeline), ADR-011 (IFL), ADR-003 (Foundational Architecture)
Related PRDs: PRD-004, PRD-020
Related SDSs: SDS-015, SDS-021, SDS-045, SDS-050
Identity Specs: SDS-050, REF-CE-002


Context

SEA™ has already adopted VibesPro™ as a governed generator (ADR-030). However, the original integration was positioned as a simple adapter pattern. VibesPro™ has evolved significantly and now offers:

  1. Temporal AI/DB (Rust + redb): Institutional memory with semantic pattern recommendations
  2. End-to-End Type Safety: Supabase → TypeScript → Python Pydantic isomorphic typing
  3. User Journey Framework: 5 validated developer experience journeys
  4. Meta-Generator System: Nx generators that create new generators
  5. Context-Kit Agent System: ce.manifest.jsonc for AI routing and skills
  6. Observability Stack: OpenTelemetry → Vector → OpenObserve → Logfire

Building SEA™ “on top of” VibesPro™ means incorporating these core systems as first-class subsystems, not merely integration points.

Decision

We adopt VibesPro™ as the foundational runtime substrate for SEA-Forge™, with the following architectural commitments:

1. Temporal AI/DB as SEA™ Semantic Memory

VibesPro™’s temporal_db (Rust + redb) becomes the implementation of SEA™’s Temporal Database Service (SDS-015).

SEA™ Spec Component VibesPro™ Implementation
VectorStore temporal_db/repository.rs leveraging redb
PatternOracle crates/temporal-ai/ with multi-factor ranking
MetricIndexer ops/ with OpenTelemetry ingest

2. End-to-End Type Safety as SEA™ Type Sync

VibesPro™’s type generation pipeline becomes the canonical implementation:

1
2
Supabase Schema → just gen-types-ts → TypeScript types
                → just gen-types-py → Python Pydantic models

Invariants:

3. User Journey Framework as SEA™ Developer Experience

VibesPro™ defines 5 journeys (A–E) that map directly to SEA™ personas:

SEA™ Persona VibesPro™ Journey Key Commands
Template Consumer Journey A copier copy, just setup, just test
Template Maintainer Journey B just test-generation, just copier-ci
AI-Assisted Developer Journey C .github/prompts/*, just ai-validate
Operations Engineer Journey D just observe-*, just temporal-ai-*
Data Engineer Journey E just db-migrate, just gen-types

4. Meta-Generator System as SEA™ Code Forge

VibesPro™’s meta-generator (generators/generator/generator.ts) becomes the engine for SEA™’s “No-Agent-Writes-Code” invariant:

1
SEA™ DSL → Manifest Compiler → Generator Schema Compiler → Nx Generators → Generated Code

Generator Types Available:

5. Context-Kit as SEA™ Agent Orchestration

VibesPro™’s ce.manifest.jsonc becomes the Source of Truth for SEA™ agent routing:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  "artifacts": [
    {
      "id": "ce.skill.temporal-ai",
      "path": ".github/skills/temporal-ai/skill.md",
    },
    {
      "id": "ce.skill.architecture-decisioning",
      "path": ".github/skills/architecture-decisioning/SKILL.md",
    },
    {
      "id": "ce.agent.orchestrator",
      "path": ".github/agents/orchestrator.agent.md",
    },
  ],
}

6. Copier Configuration as SEA™ Project Genesis

VibesPro™’s copier.yml becomes the template for SEA-generated projects with mandatory SEA™ extensions:

1
2
3
4
# Extended for SEA™
include_sea_governance: true # Adds CALM validation
include_sea_semantic: true # Adds SEA™ DSL validation
include_ifl_identity: true # Adds Identity Token minting

Rationale

  1. Zero Technical Debt: By adopting VibesPro™’s proven implementations rather than creating parallel systems
  2. Isomorphism: VibesPro™’s hexagonal architecture mirrors SEA™’s foundational principles
  3. Velocity: VibesPro™ provides production-ready tooling
  4. Governance: SEA™ adds governance layers on top of VibesPro™’s generation
  5. Learning: Temporal AI provides the “institutional memory” SEA™ specs require

Constraints

MUST

MUST NOT

Quality Attributes

Attribute Measurement
Generator Latency < 5s per generator execution
Type Sync Accuracy 100% bidirectional consistency
Temporal AI Query < 100ms for pattern recommendations
CI Validation < 5 minutes for full validation suite

Bounded Contexts Impacted

Consequences

Positive

  1. Mature, tested infrastructure from VibesPro™
  2. Unified developer experience across SEA™ and VibesPro™
  3. Institutional memory via Temporal AI
  4. End-to-end type safety without manual synchronization
  5. Production-ready observability stack

Negative

  1. Dependency on VibesPro™ evolution
  2. Must maintain SEA-specific extensions
  3. Increased onboarding complexity for SEA-only developers

Mitigations

Implementation Plan

See: SDS-045 (VibesPro™ Foundation Integration Service)

Phase 1: Foundation Alignment

  1. Sync SEA™ specs with VibesPro™ user journeys
  2. Extend ce.manifest.jsonc with SEA™ skills
  3. Add IFL identity hooks to generators

Phase 2: Temporal AI Integration

  1. Deploy Temporal AI as SEA™ Pattern Oracle
  2. Integrate with Knowledge Graph Service
  3. Add pattern recommendations to generator prompts

Phase 3: Type Safety Pipeline

  1. Adopt VibesPro™ type generation as canonical
  2. Extend with SEA™ DSL type extraction
  3. Add to CI validation gates

Phase 4: Observability Unification

  1. Align SEA™ SDS-030 with VibesPro™ observability
  2. Integrate Logfire as unified logging
  3. Add semantic observability correlation

Migration from ADR-030

ADR-030 positioned VibesPro™ as an “adapter.” This ADR (ADR-030) fully supersedes ADR-030, elevating VibesPro™ to a foundational substrate. Key changes:

ADR-030 (Adapter Model) ADR-030 (Foundation Model)
VibesPro™ generates, SEA™ validates VibesPro™ IS the generator runtime
Separate Temporal DB spec Temporal AI IS the implementation
Type sync as optional feature Type sync as mandatory invariant
Context-Kit as external ce.manifest.jsonc as SEA™ core