Files
boc/memory/2026-06-30.md
T
Bernt 05ed037fe8 pilot.landvex.com: HTTPS + Full Stack Verified
- 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!
2026-07-02 17:34:19 +00:00

13 KiB

AAMOS System Documentation

Executive Summary

Arkitekturmognad: 6/10 AI-mognad: 7/10 Driftmognad: 5/10 Säkerhetsmognad: 4/10 Skalbarhet: 6/10 Observerbarhet: 4/10 Kodkvalitet: 5/10 Agentautonomi: 6/10 Helhetsförståelse: 5/10


1. High-level Architecture

System Overview

AAMOS (Adaptive Autonomous Multi-Agent Operating System) är en distribuerad mikrotjänstarkitektur byggd för att stödja Landvex/quiXzoom-plattformen. Systemet körs på AWS infrastruktur i regionen eu-north-1 (Stockholm).

Komponenter

Core Services

  • ouroboros-identity (Port 3207) - Rust-baserad identitetstjänst med JWT-autentisering
  • aamos-ledger (Port 3250) - Bokföringsmotor med dubbel bokföring och SIE4-stöd
  • quixzoom-app - React/Vite frontend hostad på S3 + CloudFront
  • mission-service - Node.js/Express API för missionshantering

Infrastrukturkomponenter

  • AWS EC2 - bernt.wavult.com (server-2)
  • AWS S3 - quixzoom-app-prod (frontend-hosting)
  • AWS CloudFront - CDN för app.quixzoom.com
  • AWS RDS/PostgreSQL - Databas för användare, transaktioner, audit
  • AWS Lambda - quixzoom-forgot-password (lösenordsåterställning)
  • AWS SES - E-postutskick
  • AWS API Gateway - REST API-gateway

Agent Infrastructure

  • OpenClaw - Agent runtime och orchestration
  • Bernt - Huvudagent (AI-assistent)

Kommunikation

  • REST API:er mellan tjänster
  • PostgreSQL för persistent lagring
  • S3 för statisk filhosting
  • CloudFront för CDN-distribution

2. Infrastructure

Cloud

  • Provider: AWS
  • Region: eu-north-1 (Stockholm)
  • Konto: 155407238699

Compute

  • EC2 Instance: i-09b2204a52c2f33c9
    • Typ: t4g (ARM64/Graviton)
    • OS: Amazon Linux 2023
    • Kernel: Linux 6.18.30-61.116.amzn2023.aarch64
    • Användare: bernt (wheel, NOPASSWD systemctl/journalctl)

Containers & Orchestration

  • Ingen Kubernetes - Tjänster körs direkt på EC2
  • Processhantering: systemd
  • Reverse Proxy: nginx

Lagring

  • S3 Buckets:
    • quixzoom-app-prod (frontend)
    • quixzoom-assets (statiska tillgångar)
  • RDS: PostgreSQL (host okänd, behöver verifieras)
  • Lokal disk: /opt/amos/ (konfiguration, nycklar, data)

Nätverk

  • DNS: app.quixzoom.com → CloudFront → S3
  • API: api.quixzoom.com → nginx → backend-tjänster
  • SSL: Let's Encrypt / AWS Certificate Manager

Autoscaling

  • Ej konfigurerat - Manuell skalning

Secrets

  • Hantering: Miljövariabler + lokala filer
  • Lokalisering: /opt/amos/data/, ~/.env-filer
  • Rotation: Manuell

3. AI Stack

Modeller

Modell Storlek Syfte Användning Kontext
moonshot/kimi-k2.6 Okänd Huvudagent (Bernt) Konversation, kodgenerering, problemlösning Full systemkontext
Claude (via API) - Backup/assistans Komplexa uppgifter, längre kontext 200K tokens

Embedding & Reranking

  • Ingen dedikerad embedding-modell - Använder Claude/moonshot för semantisk förståelse
  • Vector DB: Ej implementerat

Vision

  • Ingen dedikerad vision-modell
  • Bildhantering via frontend (React) och backend (Node.js)

Speech

  • Ingen speech-modell - Text-baserad interaktion

Kostnad

  • Claude API: Max 20 000 kr/mån (hårt tak)
  • moonshot: Inkluderat i OpenClaw-licens

4. Agent Architecture

Agenter

Bernt (Huvudagent)

  • Syfte: Personlig AI-assistent för Erik Svensson
  • Verktyg: Filåtkomst, kodredigering, systemkommandon, webbsökning
  • Behörigheter: Sudo (systemctl/journalctl), AWS SSM (root), filsystem
  • Ansvarsområde: Systemadministration, utveckling, deployment, support
  • Kommunikation: Telegram, Discord, andra chattkanaler
  • State: Session-baserad, persistent via MEMORY.md och dagliga loggar
  • Minne:
    • Korttids: Session-kontext
    • Långtids: MEMORY.md (manuellt curerat)
    • Dagligt: memory/YYYY-MM-DD.md
  • Rollback: Manuell via git, filbackuper

Beslutsfattande

  • Autonomi: Bernt fattar självständiga beslut inom definierade gränser
  • Eskalering: Frågar Erik vid:
    • Kostnader > 0 USD
    • Destruktiva operationer
    • Extern kommunikation
    • Osäkerhet

5. Tools

MCP (Model Context Protocol)

  • OpenClaw MCP - Agent-runtime och verktygsintegration

REST API:er

  • ouroboros-identity (port 3207)
  • aamos-ledger (port 3250)
  • mission-service (port ?)
  • quixzoom-capture-pipeline (port ?)

CLI-verktyg

  • aws-cli
  • kubectl (ej aktivt använt)
  • docker (ej aktivt använt)
  • systemctl/journalctl
  • nginx
  • certbot

Programmeringsspråk

  • Rust - ouroboros-identity
  • Node.js/TypeScript - Frontend, API:er, scripts
  • Python - Dataanalys, scripts
  • Bash - Systemadministration

Databaser

  • PostgreSQL - Huvuddatabas
  • SQLite - Lokal lagring (om någon)

Cloud-tjänster

  • AWS EC2, S3, CloudFront, Lambda, SES, API Gateway, RDS

6. Business Systems

quiXzoom - Affärsflöden

Zoomer Onboarding

  1. Registrering (e-post, lösenord)
  2. E-postverifiering
  3. Identitetsverifiering (KYC) - Pass/ID + selfie
  4. Godkännande av villkor
  5. Första mission

Mission Flow

  1. Kund skapar mission
  2. Zoomer accepterar mission
  3. Zoomer fotograferar och laddar upp
  4. AI-granskning av bilder
  5. Godkännande/Avslag
  6. Betalning via Stripe Connect

Betalningsflöde

  1. Godkänd submission
  2. Stripe Connect-utbetalning
  3. Zoomer får pengar direkt till bankkonto

Flaskhalsar

  • KYC-verifiering - Manuell granskning krävs ibland
  • Betalningar - Beroende av Stripe Connect
  • Skalning - Ingen autoscaling konfigurerad

7. Knowledge Model

Kunskapskällor

  1. README-filer - Projektbeskrivningar
  2. Markdown-dokument - MEMORY.md, AGENTS.md, SOUL.md, USER.md
  3. Git-historik - Kodändringar, commit-meddelanden
  4. Konfigurationsfiler - .env, nginx.conf, systemd units
  5. Runtime-kontext - Session-specifik information

Embeddings & Vector DB

  • Ej implementerat - Ingen vektordatabas
  • Sökning: Manuell filsökning, grep, find

Kontextbyggnad

  1. Bootstrap-filer laddas vid sessionstart
  2. Dagliga minnen läggs till
  3. Runtime-kontext injiceras
  4. Användarfråga tillförs

Information som saknas

  • Automatisk kodindexering
  • Semantisk kod-sökning
  • Graf-baserad kunskapsrepresentation

8. Context Pipeline

Steg-för-steg

  1. Bootstrap - AGENTS.md, SOUL.md, USER.md laddas
  2. Dagligt minne - memory/YYYY-MM-DD.md läggs till
  3. Projektkontext - Relevanta filer identifieras och läses
  4. Runtime-kontext - Systeminfo, kanal, capabilities
  5. Användarinput - Fråga/kommando tillförs
  6. Verktygsanrop - Fil-läsning, kommandokörning
  7. Respons - Genereras baserat på all kontext

Begränsningar

  • Kontextfönster: Begränsat av modellens max tokens
  • Filtrering: Ingen intelligent ranking av information
  • Minne: Begränsat till explicit sparade filer

9. Code Intelligence

Kod-sökning

  • ripgrep - Snabb text-sökning
  • find - Fil-sökning
  • Manuell navigering - Filstruktur, importer

Saknas

  • Semantisk kod-sökning (t.ex. Sourcegraph, Cody)
  • AST-baserad analys
  • LSP-integration
  • Dependency graph
  • Code graph

10. Testing

Nuvarande tester

  • Manuell testning - Primär metod
  • Bygg-verifiering - npm run build, cargo build

Saknas

  • Unit-tester
  • Integrationstester
  • E2E-tester
  • Smoke-tester
  • Performance-tester
  • Regressionstester
  • Säkerhetstester
  • Load-tester
  • Chaos-tester
  • Mutationstester
  • Code coverage

11. Deployment

Process

  1. Lokal utveckling - Filredigering
  2. Bygg - npm run build / cargo build
  3. Manuell synk - aws s3 sync / scp
  4. Cache-invalidering - CloudFront
  5. Service-restart - systemctl restart

Branching

  • Ej strikt - Direkt redigering på main/master

CI/CD

  • Ej konfigurerat - Ingen automatisk pipeline

Rollback

  • Manuell - Återställning från backup/git

12. Security

Secrets

  • Lagring: Miljövariabler, lokala filer
  • Rotation: Manuell
  • Kryptering: Ej konfigurerat för secrets i vila

IAM

  • AWS: Grundläggande roller
  • Lokal: sudo-grupper

Audit

  • Systemloggar: journalctl
  • Applikationsloggar: Olika per tjänst
  • Centraliserad loggning: Ej konfigurerat

Saknas

  • Automatisk secret-rotation
  • SBOM-generering
  • Supply chain scanning
  • OWASP-top-10 genomgång
  • Penetrationstester

13. Performance

Nuvarande status

  • CPU: Låg belastning (t4g är kraftfull för nuvarande load)
  • RAM: Tillräckligt
  • GPU: Ej använd
  • Lagring: S3 för statiskt, RDS för data

Flaskhalsar

  • Cold starts - Lambda-funktioner
  • Cache - CloudFront, men ej optimalt konfigurerat
  • Databas - Okänd prestanda

14. Cost

Nuvarande kostnader (uppskattade)

Post Kostnad/mån
AWS EC2 (t4g) ~500 kr
AWS S3 ~50 kr
CloudFront ~100 kr
RDS ~500 kr
Claude API Max 20 000 kr
Totalt ~21 000 kr/mån

Största kostnadsdrivare

  1. Claude API (20 000 kr/mån)
  2. AWS-infrastruktur (~1 000 kr/mån)

15. Technical Debt

Prioriterad lista

  1. Inga automatiska tester - Risk för regressioner
  2. Ingen CI/CD - Manuell deployment är felbenäget
  3. Ingen autoscaling - Kan inte hantera plötslig load
  4. Bristfällig observerbarhet - Svårt att diagnostisera problem
  5. Ingen centraliserad loggning - Loggar spridda över systemet
  6. Manuell secret-hantering - Säkerhetsrisk
  7. Ingen backup-strategi - Dataförlustrisk
  8. Ingen disaster recovery - Lång återhämtningstid
  9. Bristfällig dokumentation - Svårt att onboarda nya
  10. Ingen kodgranskning - Kvalitetsrisk

16. Missing Components

För att bli en världsklassplattform:

  1. Automatiserad CI/CD-pipeline
  2. Komplett testsvit (unit, integration, E2E)
  3. Observerbarhet-stack (Prometheus, Grafana, Loki)
  4. Automatisk skalning (Kubernetes eller ECS)
  5. Centraliserad loggning
  6. Säkerhetsskanning (SAST, DAST, dependency scanning)
  7. Backup och disaster recovery
  8. Dokumentationsgenerering
  9. Semantisk kod-sökning
  10. Feature flags

17. Self Awareness

Begränsningar

  • Ingen realtidskontroll av systemet
  • Begränsad kontext - Kan inte se allt samtidigt
  • Ingen automatisk upptäckt av nya tjänster/komponenter
  • Manuellt minne - Måste explicit spara information

Vad som skulle underlätta

  • Automatisk systemupptäckt - Skanna och kartlägga kontinuerligt
  • Centraliserad kunskapsbas - Vector DB med all systeminfo
  • Automatisk dokumentationsuppdatering
  • Self-healing - Automatisk feldetektion och återställning

För att en ny agent ska kunna ta över

  • Komplett systemdokumentation (denna fil)
  • Automatisk kontextinjektion - All relevant info vid sessionstart
  • Graf-baserad kunskapsrepresentation - Relationer mellan komponenter
  • Automatisk upptäckt - Agenten ska kunna utforska systemet själv

18. Top 10 Förbättringar (Prioriterade)

  1. Implementera CI/CD - GitHub Actions eller AWS CodePipeline
  2. Skriv tester - Börja med unit-tester för kritiska komponenter
  3. Sätt upp observerbarhet - Prometheus + Grafana
  4. Automatisera deployment - Eliminera manuella steg
  5. Implementera backup - Automatiska databas-backuper
  6. Förbättra säkerhet - Secret management, scanning
  7. Dokumentera API:er - OpenAPI/Swagger för alla endpoints
  8. Sätt upp autoscaling - Kubernetes eller ECS
  9. Implementera feature flags - Gradvis rollout
  10. Skapa runbooks - Standardprocedurer för vanliga operationer

Appendix: Filstruktur

/home/bernt/
├── .openclaw/workspace/          # Agent workspace
│   ├── AGENTS.md                 # Agent-konfiguration
│   ├── MEMORY.md                 # Långtidsminne
│   ├── SOUL.md                   # Personlighet
│   ├── USER.md                   # Användarinfo
│   ├── TOOLS.md                  # Verktygsanteckningar
│   └── memory/                   # Dagliga loggar
├── repos/
│   └── quixzoom.com/             # quiXzoom frontend
│       ├── src/                  # React/Vite-kod
│       ├── infra/                # Infrastruktur
│       └── package.json
├── rust/
│   └── ouroboros-identity/       # Rust identitetstjänst
│       ├── src/main.rs
│       └── Cargo.toml
├── services/                     # Node.js-tjänster
│   └── ouroboros-identity-proxy/ # Auth proxy
├── quixzoom-forgot-password-lambda/  # Lambda-funktion
└── quixzoom-app-www/             # Byggd frontend

/opt/amos/                        # Systemdata
├── data/keys/                    # JWT-nycklar
└── MEMORY.md                     # Legacy-minne

Dokumentation genererad av Bernt (AI-agent) Senast uppdaterad: 2026-06-30