84 lines
2.9 KiB
Markdown
84 lines
2.9 KiB
Markdown
# Velocity-OS
|
|
|
|
> **The AI-Augmented Real Estate Operating System** — a production-grade, air-gapped, containerized appliance for luxury property sales teams.
|
|
|
|
Built on the Jobs/Ive mandate: *design is how it works, not just how it looks.*
|
|
|
|
---
|
|
|
|
## Architecture at a Glance
|
|
|
|
```
|
|
Velocity-OS/
|
|
├── webos/ React 19 + Framer Motion + Zustand — 3-Pillar UX
|
|
├── core/ FastAPI + PostgreSQL + Oracle NL Engine
|
|
├── agents/ NemoClaw sandboxes (OpenShell policy)
|
|
├── media-engine/ Dream Weaver gateway (ComfyUI async)
|
|
├── perception/ MediaPipe WASM + QD scoring
|
|
└── infrastructure/ K3s + ECR + MIG GPU + s5cmd model hydration
|
|
```
|
|
|
|
## The 3-Pillar Model
|
|
|
|
| Pillar | Route | Purpose |
|
|
|---|---|---|
|
|
| ⚡ **Command** | `/command` | Morning briefing — KPIs, Oracle NL, AI priority cards |
|
|
| 🎯 **Pipeline** | `/pipeline` | Deal intelligence — Kanban, Client 360, Showroom |
|
|
| 🎨 **Studio** | `/studio` | Asset hub — Properties, Dream Weaver, Campaigns |
|
|
| ⚙ Control Room | `/control-room` | Admin-only — system, schema, users, GPU |
|
|
|
|
## GPU Architecture
|
|
|
|
Target: **NVIDIA RTX 6000 Blackwell (96GB VRAM)**
|
|
|
|
MIG partitioned into two concurrent slices:
|
|
- **Slice 0 (48GB)** — SGLang: Qwen3.6 35B LLM inference
|
|
- **Slice 1 (48GB)** — ComfyUI: Wan 2.2 + Qwen-Image staging
|
|
|
|
Zero-contention. No operator toggle required.
|
|
|
|
## Deployment (Air-Gapped Workstation)
|
|
|
|
```bash
|
|
# 1. Hydrate AI models from S3 (one-time, ~105GB)
|
|
cd infrastructure/model-hydration
|
|
./hydrate_models.sh
|
|
|
|
# 2. Apply K3s manifests
|
|
kubectl apply -f infrastructure/k3s/namespaces/
|
|
kubectl apply -f infrastructure/k3s/volumes/
|
|
kubectl apply -f infrastructure/k3s/secrets/secrets-template.yaml # fill real values first
|
|
kubectl apply -f infrastructure/k3s/deployments/gpu-mig-config.yaml
|
|
kubectl apply -f infrastructure/k3s/deployments/deployments.yaml
|
|
kubectl apply -f infrastructure/k3s/services/services.yaml
|
|
kubectl apply -f infrastructure/k3s/ingress/ingress.yaml
|
|
|
|
# 3. Run DB init job
|
|
kubectl wait --for=condition=complete job/db-init -n velocity-os --timeout=120s
|
|
|
|
# 4. Access at https://velocity.local
|
|
```
|
|
|
|
## CI/CD Pipeline
|
|
|
|
Internet-connected CI (GitLab) builds and cosign-signs images → pushes to AWS ECR.
|
|
Ingress Box (LAN node) polls ECR every 5 min → verifies signature → SCP to air-gapped workstation → `k3s ctr images import` → `kubectl rollout restart`.
|
|
|
|
**Unsigned images are physically rejected at the Ingress Box.**
|
|
|
|
## Design System
|
|
|
|
- **Base**: `hsl(225, 25%, 8%)` deep navy
|
|
- **Accent**: `#7C3AED` Velocity Violet (AI/actions)
|
|
- **Intent**: `#F59E0B` Amber (QD / alerts)
|
|
- **Glass**: `backdrop-filter: blur(20px)` · `rgba(255,255,255,0.05)` panels
|
|
- **Motion**: `300ms cubic-bezier(0.4, 0, 0.2, 1)` standard · spring for reveals
|
|
|
|
## Immutability Constraint
|
|
|
|
`Project_Velocity` (source) is **read-only**. All files in this repository are copies + refactors. No source files were modified or deleted.
|
|
|
|
---
|
|
|
|
*Velocity-OS v2.0 · Desineuron · © 2026*
|