05ed037fe8
- DNS: pilot.landvex.com -> 16.170.83.169 - TLS: Let's Encrypt certificate (expires 2026-09-30) - Nginx: reverse proxy with SSL termination - API: https://pilot.landvex.com/api/v1/missions - UI: https://pilot.landvex.com/ - Upload: POST /api/v1/missions/import (multipart/form-data) Verified: ✅ https://pilot.landvex.com/health ✅ https://pilot.landvex.com/version ✅ https://pilot.landvex.com/api/v1/missions (list) ✅ https://pilot.landvex.com/api/v1/missions/:id (get) ✅ POST /api/v1/missions/import (video upload) ✅ UI loads with title 'LandveX Intelligence Lab' Next: Pilot 001 — Break the system!
328 lines
12 KiB
Markdown
328 lines
12 KiB
Markdown
# System Intelligence Layer (SIL)
|
|
|
|
> Ett lager mellan kodbasen och alla AI-agenter.
|
|
> Inte en sökmotor. Inte en chatbot. En systemkognitiv plattform.
|
|
|
|
---
|
|
|
|
## Arkitektur
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ AI-AGENTER (Bernt, etc.) │
|
|
└──────────────────────┬──────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ SYSTEM INTELLIGENCE LAYER (SIL) │
|
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
│ │ OBSERVER │ │ REASONER │ │ PLANNER │ │
|
|
│ │ (Ingest) │ │ (Query) │ │ (Action) │ │
|
|
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
|
|
│ │ │ │ │
|
|
│ └────────────────┼────────────────┘ │
|
|
│ │ │
|
|
│ ┌──────┴──────┐ │
|
|
│ │ CONFIDENCE │ │
|
|
│ │ SYSTEM │ │
|
|
│ └──────┬──────┘ │
|
|
│ │ │
|
|
│ ┌──────┴──────┐ │
|
|
│ │ CONTINUOUS │ │
|
|
│ │REALITY CHECK│ │
|
|
│ └─────────────┘ │
|
|
└──────────────────────┬──────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ KUNSKAPSGRAF (Graph DB) │
|
|
│ Noder: Services, APIs, Tables, Deployments, Tests, etc. │
|
|
│ Kanter: Med confidence, källa, verifieringsdatum │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ VERKLIGHET (Reality) │
|
|
│ Git · AST · Databases · K8s · Logs · Metrics · Traces │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 1. OBSERVER (Ingest)
|
|
|
|
### Källor
|
|
|
|
| Källa | Vad som extraheras | Frekvens | Confidence |
|
|
|-------|-------------------|----------|------------|
|
|
| Git commits | Ändrade filer, nya endpoints, borttagna tabeller | Real-time (webhook) | 0.99 |
|
|
| AST (abstrakt syntaxträd) | Faktiska funktionsanrop, imports, beroenden | Vid build | 0.98 |
|
|
| Databasscheman | Tabeller, kolumner, constraints, index | Vid migration | 0.97 |
|
|
| API-kontrakt | OpenAPI, GraphQL schema, protobuf | Vid deploy | 0.96 |
|
|
| Kubernetes-resurser | Deployments, services, configmaps | Real-time (watch) | 0.95 |
|
|
| CI/CD pipelines | Testresultat, deployment-status | Real-time | 0.94 |
|
|
| Loggar | Felmeddelanden, access patterns | Strömmande | 0.85 |
|
|
| Metrics | CPU, minne, latency, errors | Strömmande | 0.90 |
|
|
| Traces | Request-flöden, beroenden | Sampling | 0.88 |
|
|
| Feature flags | Aktiva/inaktiva features | Vid ändring | 0.92 |
|
|
| Testresultat | Pass/fail, coverage | Vid körning | 0.93 |
|
|
| Driftstatus | Health checks, alerts | Real-time | 0.91 |
|
|
|
|
### Ingestion Pipeline
|
|
|
|
```
|
|
Reality → Extract → Transform → Validate → Store → Notify
|
|
```
|
|
|
|
1. **Extract**: Läs rådata från källan
|
|
2. **Transform**: Konvertera till graf-noder och kanter
|
|
3. **Validate**: Kolla konsistens mot befintlig graf
|
|
4. **Store**: Spara med confidence-metadata
|
|
5. **Notify**: Meddela agenter om signifikanta ändringar
|
|
|
|
---
|
|
|
|
## 2. REASONER (Query)
|
|
|
|
### Frågetyper
|
|
|
|
#### Konsekvensanalys (Impact Analysis)
|
|
```
|
|
Input: "Ändra Wallet Service"
|
|
Output:
|
|
- Direkt påverkan: wallets-tabell, transactions-tabell, Stripe API
|
|
- Indirekt påverkan: Payout Service, Mission Flow (zoomer får inte betalt)
|
|
- Tester som måste köras: wallet-transactions, payout-request
|
|
- Risker: Finansiell data, compliance
|
|
- Rollback-strategi: Database migration rollback
|
|
```
|
|
|
|
#### Riskbedömning (Risk Assessment)
|
|
```
|
|
Input: "Deploya ny KYC-algoritm"
|
|
Output:
|
|
- Risk: Zoomer-onboarding kan brytas
|
|
- Sannolikhet: Medium (ny kod)
|
|
- Impact: Högt ( blockerar nya användare)
|
|
- Mitigation: Canary deployment, feature flag
|
|
```
|
|
|
|
#### Arkitekturregelkoll (Architecture Compliance)
|
|
```
|
|
Input: "Lägg till direkt databasanrop från App"
|
|
Output:
|
|
- REGELBROTT: Frontend ska inte prata direkt med databas
|
|
- Förväntat: App → API → Service → DB
|
|
- Förslag: Skapa nytt API-endpoint
|
|
```
|
|
|
|
#### Motstridiga beslut (Conflict Detection)
|
|
```
|
|
Input: "Använd Redis för sessioner"
|
|
Output:
|
|
- KONFLIKT: Arkitekturen säger stateless services
|
|
- Tidigare beslut: "All state i PostgreSQL" (2026-05-15)
|
|
- Förslag: Diskutera med arkitekturgrupp
|
|
```
|
|
|
|
---
|
|
|
|
## 3. PLANNER (Action)
|
|
|
|
### Plan-generering
|
|
|
|
```
|
|
Input: "Lägg till Apple Pay"
|
|
|
|
Plan:
|
|
1. Påverkade tjänster:
|
|
- Wallet Service (ny betalningsmetod)
|
|
- Auth Service (ny consent)
|
|
|
|
2. Databasändringar:
|
|
- ALTER TABLE wallets ADD COLUMN apple_pay_token
|
|
- Ny migration: 2026_07_01_add_apple_pay.sql
|
|
|
|
3. API-ändringar:
|
|
- POST /wallet/apple-pay/setup
|
|
- POST /wallet/apple-pay/charge
|
|
|
|
4. Säkerhetsgranskning:
|
|
- PCI DSS compliance check
|
|
- Apple Pay certificate validation
|
|
|
|
5. Tester:
|
|
- Unit: ApplePayServiceTest
|
|
- Integration: WalletApplePayFlowTest
|
|
- E2E: ApplePayCheckoutTest
|
|
|
|
6. Deployment-ordning:
|
|
a. Databas-migration
|
|
b. Wallet Service (ny version)
|
|
c. App (ny UI)
|
|
|
|
7. Rollback-strategi:
|
|
- Feature flag: apple_pay_enabled
|
|
- Database rollback script
|
|
- Circuit breaker på Apple Pay API
|
|
```
|
|
|
|
---
|
|
|
|
## 4. VERIFIER (Validate)
|
|
|
|
### Verifieringsfrågor
|
|
|
|
Efter varje ändring:
|
|
|
|
```
|
|
✅ Mål uppnått?
|
|
- Apple Pay fungerar i testmiljö
|
|
|
|
✅ Graf konsistent?
|
|
- Nya noder: apple_pay_token, ApplePayService
|
|
- Nya kanter: Wallet → ApplePayService → Apple API
|
|
- Ingen konflikt med befintlig arkitektur
|
|
|
|
✅ Nya beroenden?
|
|
- Extern: Apple Pay API (confidence: 0.95)
|
|
- Intern: Wallet Service (confidence: 0.99)
|
|
|
|
✅ Tester täcker?
|
|
- Coverage: 87% (krav: >80%)
|
|
- Integrationstester: 12 st
|
|
- E2E-tester: 3 st
|
|
|
|
✅ Prestanda påverkad?
|
|
- Latency: +15ms (acceptabelt)
|
|
- CPU: ingen förändring
|
|
|
|
✅ Säkerhetsyta ändrad?
|
|
- Ny attack-yta: Apple Pay token storage
|
|
- Mitigation: Kryptering, rotation
|
|
```
|
|
|
|
---
|
|
|
|
## Confidence System
|
|
|
|
### Metadata per kant
|
|
|
|
```json
|
|
{
|
|
"from": "Wallet Service",
|
|
"to": "Stripe API",
|
|
"relation": "calls",
|
|
"confidence": {
|
|
"score": 0.99,
|
|
"source": "AST",
|
|
"last_verified": "2026-06-30T14:23:00Z",
|
|
"verification_method": "Static analysis of wallet-service/src/payment/stripe.rs",
|
|
"verified_by": "sil-observer",
|
|
"history": [
|
|
{"date": "2026-06-15", "score": 0.95, "source": "README"},
|
|
{"date": "2026-06-30", "score": 0.99, "source": "AST"}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Confidence-nivåer
|
|
|
|
| Score | Nivå | Beskrivning |
|
|
|-------|------|-------------|
|
|
| 0.99-1.00 | Verifierad | AST, runtime traces, automatisk verifiering |
|
|
| 0.90-0.98 | Hög | Manuell kodgranskning, tester |
|
|
| 0.70-0.89 | Medium | Dokumentation, konfiguration |
|
|
| 0.50-0.69 | Låg | README, kommentarer |
|
|
| <0.50 | Osäker | Gissning, legacy, outdaterad |
|
|
|
|
---
|
|
|
|
## Continuous Reality Check
|
|
|
|
### Tre modeller som jämförs
|
|
|
|
```
|
|
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
│ INTENDED │ │ ACTUAL │ │ OBSERVED │
|
|
│ (Architecture)│ │ (Code) │ │ (Runtime) │
|
|
│ │ │ │ │ │
|
|
│ "KYC skapar │ │ KYC skapar │ │ 8% av användare │
|
|
│ alltid wallet" │ │ inte wallet │ │ saknar wallet │
|
|
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
│ │ │
|
|
└───────────────────────┼───────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────┐
|
|
│ AVVIKELSE │
|
|
│ Arkitektur ≠ Kod │
|
|
│ Kod ≠ Runtime │
|
|
└─────────────────────┘
|
|
```
|
|
|
|
### Exempel på avvikelsedetektion
|
|
|
|
```
|
|
🚨 AVVIKELSE DETEKTERAD
|
|
|
|
Typ: Arkitektur ≠ Kod
|
|
Allvarlighet: Medium
|
|
Beskrivning: Arkitekturen säger att KYC skapar wallet, men koden gör det inte.
|
|
|
|
Påverkan:
|
|
- 8% av nya zoomers saknar wallet (från metrics)
|
|
- Payouts misslyckas för dessa användare
|
|
|
|
Förslag:
|
|
1. Lägg till wallet-skapande i KYC-flödet
|
|
2. Backfill befintliga användare
|
|
3. Uppdatera arkitekturdokumentation
|
|
|
|
Ägare: backend-team
|
|
Deadline: 2026-07-07
|
|
```
|
|
|
|
---
|
|
|
|
## Implementation
|
|
|
|
### Faser
|
|
|
|
#### Experiment-fas (NU — 2-4 veckor)
|
|
- [x] Kunskapsgraf (JSON)
|
|
- [x] PR-analysator med provenance
|
|
- [x] Diagnostiska metriker (recall, precision, FNR, FPR, calibration)
|
|
- [x] Gold Set-byggare (ground truth)
|
|
- [x] Webhook-server (event-driven)
|
|
- [x] Veckovis experimentrapport
|
|
- [ ] Samla data (50-100 PR:er)
|
|
- [ ] Utvärdera mot kriterier
|
|
|
|
#### Kriterier för aktivering
|
|
| Metrik | Mål |
|
|
|--------|-----|
|
|
| Recall | > 85% |
|
|
| Precision | > 80% |
|
|
| False Negative Rate | < 10% |
|
|
| Calibration Error | < 10% |
|
|
|
|
#### Fas 2: Reality (efter aktivering)
|
|
- [ ] AST-parser (Rust/TypeScript)
|
|
- [ ] Database schema scanner
|
|
- [ ] API-kontrakt scanner
|
|
- [ ] Continuous reality check
|
|
|
|
#### Fas 3: Autonomi (senare)
|
|
- [ ] Plan-generator
|
|
- [ ] Verifierare
|
|
- [ ] Agent-integration
|
|
- [ ] Dashboard
|
|
|
|
---
|
|
|
|
*System Intelligence Layer - Design Document*
|
|
*Version: 0.1*
|
|
*Författare: Bernt (AI-agent) med vägledning från Erik Svensson*
|