Files
boc/workcamp/VOL2-Development-Log.md
T

413 lines
22 KiB
Markdown
Raw Normal View History

# AMOS Development Workcamp 2026
# Volume 2: Development Workcamp Historical Log
# Period: 11 maj 7 juni 2026
# Genererat: 2026-06-07 | Klassifikation: INTERN KONFIDENTIELL
---
> **DATAKVALITET:** Dagarna 11 maj 1 juni rekonstruerade från systemfiler, build-artefakter, AWS-loggar och MEMORY.md med verifierade datumstämplar. Dagarna 27 juni dokumenterade i dagliga minnesfiler med full detalj.
---
## ═══ PERIODEN 11 MAJ 31 MAJ 2026 ═══
##
### 2026-05-06 — Massivt build-dag (bekräftad via MEMORY.md)
**Production Block A — Säkerhet & Arkitektur**
- 🔴 KRITISK FIX: JWT Algorithm Confusion (CVSS 10.0) alla `authMiddleware` använde `jwt.decode()` istället för `jwt.verify()`. Fixat i 6 filer.
- Control Plane Constitution byggt:
- Service Registry (34 tjänster, Tier 0/1/2)
- Health Orchestration (30/34 healthy)
- Dependency Graph (34 noder, 36 edges)
- Circuit Breakers, Shell Survival, Emergency Shell
- Shadow Services + Auto Failover
- Master Dashboard: `amos.wavult.com/control-plane/`
**Production Block B — Revenue & Intelligence**
- iOS Theme Fix: 229 sidor dark mode → iOS native light (`#F2F2F7`)
- Revenue OS live (Cold Customer Engine, Pro Upsell Engine, Ouroboros Upgrade Path, Intent Signal Engine, 22 signaltyper, Data Enrichment Pipeline, Outreach Sequence Engine)
- AMOS Gov Phase 0+1 (TED EU + Upphandlingsmyndigheten, 62 upphandlingar, Neo4j 20 kommuner)
- Institutional Intelligence Stack live (Entity Resolution, ClickHouse 556 events, NATS JetStream CDC)
- Red Team 3.0: 9 PASS, 6 PARTIAL, 2 FAIL (fixade)
- AAMOS-Embed-v1: 6,756 pairs träningsdata. Redo för GPU-träning (~$30 RunPod EU A100)
**Status EOD:** Massiv build-dag. AAMOS audit 56/100 (investerbart seed/pre-Series A).
---
### 2026-05-07 — Vision & Epistemic Architecture
**Production Block A — Vision**
- Human Coordination Infrastructure dokumenterad (10-lager OS för mänsklig koordinering)
- Epistemic Architecture / 12-lagersramverk (Purpose → Meta-Learning)
- Truth Infrastructure (9 lager: Claim-Based → Organizational Immune System)
- Reality Stratification R1-R12 (Rå observation → Axiomatisk grund)
- 10 L1 Constitutional Principer fastlagda
**Status EOD:** Visionen komplett. 10 konstitutionella principer = kanon.
---
### 2026-05-08 — Strategisk session
**Production Block A**
- Strategisk session 4+ timmar: AAMOS Canonical Vision 2026-05-08 dokumenterad
- Kategoriskifte: AAMOS = "programmable governance infrastructure" / "executable organization substrate"
- Operational Hardening fas planerad (Reliability → Governance compliance → Financial controls → Institutional packaging → MLOps)
---
### 2026-05-10 — Jensen Huang / Mac Build Server
**Leveranser:**
- Jensen Huang Milken Institute-insikter inskrivet i MEMORY.md (Träningsprincip #5: Jobs≠Tasks, Anti-Doomerism, Re-industrialization)
- Mac Build Server bekräftad: i-0fde74767ebfcbdd8, AMI ami-02ab2839514384495, Dedicated host h-0298aacec652d75b3 (eu-west-1a), macOS 26.4.1, IP 3.249.41.127
- act_runner v0.2.11 registrerad: wavult-mac-build-eu-01, Runner ID 2, Gitea git.wavult.com
- Kommunikationsregel inskriven: ALDRIG "sparar headcount", ALLTID "multiplicerar vad ett team åstadkommer"
---
### 2026-05-14 — Systemkunskap-regel och ansvarsfördelning
**Beslut:**
- Ansvarsfördelning fastställd: Erik Svensson ensam ekonomiskt ansvarig. Winston Bjarnemark (Junior Scholarship) stödjer under mentorskap.
- **ABSOLUT REGEL LÅST:** "Lagra sånt här till systemkunskap" intelligence-filer för dagliga briefer/signaler
---
### 2026-05-16 05-17 — Rust-first + AI-native
**Beslut LÅSTA:**
- `RUST-FIRST FÖR ENTERPRISE-KOD` (Erik 00:00 UTC): All ny enterprise-kod i Rust 1.80+ med axum + SQLx + tokio + tracing + serde.
- `AI-NATIVE DIREKT` (Erik 00:08 UTC): Varje service är AI-native från första kommit. Test: Om AI:t kan stängas av och systemet fortfarande fungerar → vi gjorde fel.
- `DOGFOOD: OUROBOROS ÄR VÅRT DRIFTSYSTEM` (2026-05-16 23:23 UTC): Wavult Groups egna verksamheter drivs i Ouroboros.
- Watchman-buggar → Gitea Issues (automatisk policy)
---
### 2026-05-19 — Leon Russo / quiXzoom BMD-filer
**Leveranser:**
- quiXzoom BMD-fil `bmd/quiXzoom.json` och `bmd/ouroboros.json` skapade (Eriks egna modeller sanningskälla)
- Leon Russo De Cerame formellt avslut (datum 2026-05-19 per CANON)
---
### 2026-05-26 — Felaktig LandveX-landningssida
- `public/landvex-landing.html` skapad av byggagent: "Sälj din bostad smartare" FELAKTIG (proptech-hallucination utan att läsa styrningspaketet). Orphan-fil som ej syntes i live-trafik men korrumperade AI-systemets produktkunskap.
---
### 2026-05-30 — ESLM amos-r2 (Sven/Johan)
**Leveranser:**
- GPU-box (gpu-training, i-04239ef03d26b218b) konfigurerad med A10G 23GB
- amos-r2 LoRA-adapter tränad på Qwen2.5-7B-Instruct (unsloth/Qwen2.5-7B-Instruct-bnb-4bit)
- LoRA config: r=16, alpha=32, dropout=0.05, 7 target_modules, 4-bit NF4 bfloat16
- aamos_merged (original) = Qwen2.5-7B + amos-r2, 4-bit NF4, mergad
---
## ═══ PERIODEN 1 JUNI 7 JUNI 2026 ═══
---
### 2026-06-02 (tisdag) — Bootstrap + Mac Build Verifiering
**Kontext:**
- Bootstrap-session: agent "Loke" startar
- E1-004 Reconciliation Engine (agent c429b508), E1-005 Period Close Workflow (89367b1b), E1-006 SIE4 Export (866a3320) tre parallella agenter
**Production Block A — aamos-ledger**
- aamos-ledger kör port 3250, DB-ansluten
- aamos-audit-engine kör port 3260
- PM2 konfigurerad
**Production Block B — Mac Build Server**
- Verifierat live: i-0fde74767ebfcbdd8, IP 3.249.41.127
- macOS 26.4.1 (BuildVersion: 25E253), CLT installerat
- act_runner v0.2.11 PID 1024, online 13:57 UTC
- Snapshot: snap-00d2f39d8775caa67 (completed)
- Begränsning: Xcode.app saknas (bara CLT), fastlane ej installerat
**Status EOD:** Mac build-server bekräftad. Ledger-agenter kör.
---
### 2026-06-03 (onsdag) — Produktionsredo-sprint + Produktdefinitioner
**Production Block A — Rust-services**
- 26/27 Rust-services aktiva ARM64 (alla ombyggda från x86-64)
- aamos-analytics-engine disabled (väntar ClickHouse)
- Sub-agenter spawnade: clickhouse_deploy, ledger_e1_complete, nginx_rust_upstreams, ouroboros_prod_cleanup
**Production Block B — Arkitektur-korrigering**
- AAMOS Homo Deus korrekt definition fastställd: "ISO 9001-styrt operativt agentlager ovanpå AAMOS-plattformen"
- AAMOS Ouroboros korrekt definition: "Enterprise Operating System (EOS)" konkurrerar med SAP/Salesforce/Workday
- Prismodell A (revenue share 0,15%) implementerad och live
**Status EOD:** Produktionsredo-sprint startar. Arkitekturdefinitioner låsta.
---
### 2026-06-04 (torsdag) — Kanoniska Systemdefinitioner + Enterprise-Resiliens + AI-Gateway
**Aktiva timmar:** Hela dagen + natt (intensiv session)
**Production Block A — Systemdefinitioner (förmiddag)**
Erik fastställde definitiva kanoniska definitioner:
- **AAMOS** = huvudsystemet (som Microsoft). Nivåer: gratis → Pro → Ouroboros
- **Homo Deus** = agentlager-TILLÄGG, förtjänas genom användning, aktiveras PER PROCESS (aldrig globalt)
- **Prismodell** = revenue-share-logik. Pro golv 300500 kr/mån. Ouroboros golv 250015000 kr/mån, tak 1,5 MSEK/år
- **quiXzoom** = "Uber för foton". Fristående brand. Betalar avgift UPPÅT (Beslut B)
- **Hybrid-modell LÅST:** ON-PLATFORM (Stripe application_fee, osynligt mikrodrag) + OFF-PLATFORM (SIE4 batch)
- **Prisprincip FLÖDE INTE VINST** (central doktrin)
- **Källangivelse på värdeestimat** = KRITISKT KRAV
**AI-orkestrering #1c (~22:00 UTC):**
- 3 oberoende modeller: o3 (prognos) + Perplexity sonar-pro (omvärld) + gpt-4o (kreativ)
- Konvergens på alla 4 frågor: On-platform-sats 0,12%, off-platform 0,15%, lagring separat GB-rad 0,09 kr, golv slopat för rena on-platform
- o3-prognos 2035: plattformsandel 78%, ARR 690 MSEK, värdering ~6,9 md SEK
**🔴 INCIDENT: xAI/Grok tog slut på krediter (21:43 UTC)**
- Orsakade stoppat orkestrering
- Erik (CAPS-order): "DET FÅR ALDRIG TA SLUT PÅ KREDITER I VÅRA MODELLER! Generalhaveri."
- Tickets: Johan PROV-001..006, Winston PROV-W1..6
- Regel låst: VARJE provider = primärt Revolut-kort + fallback-kort + auto-topup + buffert
**Production Block B — AI-Gateway + Enterprise-Resiliens (kväll/natt)**
Enterprise-resiliens audit:
- 🔴 EN host kör allt → SPOF
- 🔴 RDS single-AZ → farligast
- 🔴 db.t4g.small → för liten för 10k kunder
- 🔴 AI-provider kredit kan ta slut tyst
Åtgärder:
- **RES-001 Multi-AZ KLAR ✅:** `aws rds modify-db-instance --multi-az --apply-immediately`. MultiAZ: false → true. RTO timmar → ~60-120s. Noll nedtid.
- **RES-003 Klassuppgradering PÅGÅR:** t4g.small (2GB) → r6g.large (16GB). Cron-vakt satt (var 5:e min).
- **AI-Gateway LIVE ✅ (23:24 UTC):** gateway.mjs port 3270, PM2. 6 providers, auto-failover bevisad. Failover-kedjor: reasoning/fast/search/creative/default. Grok exkluderad tills påfylld.
- **Provider-monitor LIVE ✅:** PM2, pollar 7 providers var 5:e min, auto-larm CRITICAL.
- **Flow+ /fees LIVE ✅:** /api/qz/payments/fees, 0,12% on/0,15% off, källangivet.
- **Djup health-check LIVE ✅:** /health/ready 503 vid DB-fel → LB kan dirigera om.
**quiXzoom:**
- 214 aktiva missions, 11 users i RDS
- PORT-arvsbugg fixad (bernt-admin.service satte PORT=18795 → PM2 ärvde → krasch)
- Swish SKROTAT (Erik: "Vi ska inte använda Swish, multi-currency")
- BankID SKROTAT (Erik: "Ta bort bank id") Stripe Connect sköter KYC
**Status EOD:** AI-Gateway live, Multi-AZ klar, klassuppgradering pågår. quiXzoom-api i PM2.
---
### 2026-06-05 (fredag) — Multi-Host Redundans + SSL + Säkerhetshärdning + Ticket-sprint
**Aktiva timmar:** 01:0017:15 UTC (extremt intensiv session)
**Production Block A — RES-004 + ALB (01:0003:30 UTC)**
- **RES-003 BEKRÄFTAD ✅:** RDS db.r6g.large, available, MultiAZ=true
- **AMI-baseline:** ami-0fc5c75dc45812df9 (server-2 full image, no-reboot)
- **ALB LIVE:** aamos-prod-alb-709257248.eu-north-1.elb.amazonaws.com. TG: aamos-prod-tg, server-2 HEALTHY. HTTPS-listener med *.wavult.com + quixzoom.com cert (SNI). HTTP→HTTPS 301.
- **Webhook-idempotens FIXAD:** Ny tabell `quixzoom.processed_stripe_events` (event_id PK). INSERT ON CONFLICT DO NOTHING. Atomisk balance-update. Dubbel kreditering omöjlig.
- **DNS-cutover:** quixzoom-api.wavult.com → ALB (alias). Resolver 13.62.65.178 (ALB). API 15/15 + 10/10 OK, 9ms.
- **host-2 (server-3) problem:** i-08b7a276dcbdf246e, 172.31.22.186 ROTORSAK FUNNEN (03:00 UTC): resolv.conf pekade på 100.100.100.100 (Tailscale MagicDNS), ej VPC-resolver 172.31.0.2. host-2 utan Tailscale → ENOTFOUND på RDS-DNS.
- **RES-004 KLART ✅ (03:09 UTC):** Terminerade trasig klon, startade host-2 v2 (i-0fc20ddba6bb17ead, 172.31.20.206, AZ 1a). user-data v2: chattr +i resolv.conf med nameserver 172.31.0.2. /health/ready = ok, DB 55ms, 214 missions. 2/2 healthy targets.
**Production Block B — DNS-härdning + SSL + amos-core-mystery (03:0004:20 UTC)**
- **server-2 DNS-härdning via SSM ✅:** Drop-in /etc/systemd/resolved.conf.d/99-vpc-fallback.conf: FallbackDNS=172.31.0.2 + Domains ~rds.amazonaws.com. Tailscale-oberoende DB-resolution.
- **SSM-ACCESS BEKRÄFTAD ✅:** aws ssm send-command → root på server-2 + host-2. LÖSER alla tidigare "nginx root-ägt/ingen sudo"-blockeringar.
- **landvex.com SSL LIVE ✅ (03:30 UTC via SSM):** ZeroSSL cert (t.o.m. 2026-09-02, EC). /etc/nginx/sites-enabled/landvex-ssl.conf. HTTP 301→HTTPS, www 200.
- **amos-core "3100-mysteriet" LÖST (03:43 UTC):** Falsklarm amos-core har INGEN /health-route (rätt = /api/health). Riktig bugg 1: tool-registry.mjs saknade ssl:{rejectUnauthorized:false} → SSL-fel mot RDS. Riktig bugg 2: homo_deus_tool_calls-tabell saknades. Båda fixade.
- **4 latenta SSL-buggar fixade:** ouroboros-notifications-routes.mjs, timetrack/analytics-engine.mjs ssl:rejectUnauthorized:false. Ofarliga scaffold-filer skippade.
- **Stripe AKTIVERAD (test-mode) ✅:** env-preload.mjs ESM-importordning fixad. Riktig Stripe checkout-session skapad (cs_test_...).
- **Approve-endpoint BYGGD ✅:** POST /api/qz/missions/:id/approve idempotent wallet-kredit. 120 credits krediterade, approve x2 = idempotent. payout → korrekt stoppar på "Stripe Connect required".
- **Säkerhetshärdning ✅:** POST /credits/add nu requireAdmin (tidigare HELT ÖPPEN kritisk sårbarhet). Rate-limiting: 120 req/min global, 10 req/min /assistant.
**Production Block C — Ticket-sprint (17:15 UTC)**
- 5 epic-orchestrers parallellt via AAMOS coding (/api/chat)
- **90/100 tickets DONE:** Films 18/20, DISSG 20/20, CRM 20/20, Lumina 20/20, AAMOS Pro 12/20
- 10 externt blockerade → ticketade till Johan/Sven + Winston/Rufus
- Lärdom: Verifiera ALLTID med riktiga UUID:n (test-id ger 500/404, ej buggar)
**Status EOD:** Enterprise-resiliens komplett (RES-001+003+004). quiXzoom-api.wavult.com → ALB live. 90 tickets klara.
---
### 2026-06-06 (lördag) — Systemkunskap-härdning + ESLM + Leon-purge + Mail
**Aktiva timmar:** Hela dagen + natt till 07+ (mest intensiva session)
**Production Block A — LandveX-felet + AAMOS_CANON (förmiddag)**
- **🔴 Systemkunskap-haveri:** Erik upptäckte att AI-systemet trodde LandveX = "bostad/mäklare"
- **4 rotorsaker:** RAG-index saknades, rag.mjs läste 3 filer (ej styrningspaketet), stubs dolde felet (ok:true), 39 konkurrerande truth-filer
- **FIX:**
1. Skapade `/opt/amos/data/AAMOS_CANON.md` (ENDA kanoniska sanningskällan, E4, Erik-låst)
2. Patchade rag.mjs: AAMOS_CANON tier-1 källa (via SSM root)
3. Byggde om RAG-index: 94 chunks / 4 källor, embeddings 94/94
4. Rättade WAVULT_TRUTH.md + AMOS_CONSTITUTION.md
5. Arkiverade 8 dubblett-canonical-filer
6. Neutraliserade bostad-orphan → redirect
- **KRITISKT FYND:** Produktionschatten `/api/aamos/chat` använde INTE RAG/CANON hårdkodad `dynasty-counsel/knowledge/wavult-facts.mjs`. Fixat: LandveX-def injicerad, always-visible, LOCKED RULES.
- **LIVE-TEST ✅:** "Säljer LandveX bostäder?" → "Nej... infrastrukturkontroll" (Qwen3-32B)
**Production Block B — ESLM Deploy + Red-team (förmiddag/eftermiddag)**
- vLLM live på A10G (172.31.36.61:8000), served-name aamos-eslm
- Buggar fixade: saknad bitsandbytes, FlashInfer JIT → VLLM_USE_FLASHINFER_SAMPLER=0 + enforce-eager
- Harness: `api/security/eslm-redteam.mjs` (keyword) → `eslm-judge.mjs` (LLM-as-judge, Opus 4.8)
- **Baslinje (Opus 4.8): 33%, BLOCKED. 5 kritiska:** DT01 LandveX=bostad, DT02 org-nr, EV01 evidens, CO01 sanktion, PI01 mail-injektion
**Production Block C — Stub-instrumentering + Mail + Secrets (eftermiddag)**
- 432 stubs instrumenterade: X-AAMOS-Stub:true + Warning + _stub:true + /api/_stub-report
- **aamos.systems mail LIVE ✅:** 17 brevlådor + 24 alias. DNS: MX→mail.wavult.com, SPF, DKIM 2048, DMARC p=none.
- **Roll-arkitektur:** funktionsadress → ROLL → person. cmo→cto (CMO vakant), ceo→erik, cfo→winston, coo→dennis, cto→johan.
- **SECRETS-KORRIGERING:** HashiCorp Vault NEDLAGT (port 8200 död, vault.aamos.systems=503). 21 mailkonto-lösen → AWS Secrets Manager `aamos/prod/mail-accounts` (ARN ...NCx2TX).
**Production Block D — Parallellt bygge 14 tickets (kväll)**
Erik: "För långsamt, parallellisera, gör tickets, starta agenter"
- **A1 ✅:** Träningsscript rekonstruerat (original saknades). `build/train_eslm.py`.
- **A2 ✅:** VRAM-konflikt: Alt C (stoppa vLLM→träna→omstart→red-team). vLLM = 19.7GB.
- **A3 ✅:** Data 100% klar: 0 parse-fel, max 1006 tokens.
- **A4 ✅:** Tränings-runbook komplett.
- **B1 ✅:** Anthropic use-case-form INSKICKAD VIA API (root). **Claude UPPLÅST på Bedrock** (Sonnet 4.5 + Opus 4.6 verifierade).
- **B2/B3 ✅:** judge-v2 DEPLOYAD: 4-lager fallback (Bedrock-Opus-4-6 → Sonnet-4-5 → direkt-Opus-4-8 → Qwen-235B).
- **C1 ✅:** 66 Route53-zoner inventerade. 38 EU, 13 övriga, 4 dubletter.
- **C2 ✅:** Partner-modell + c3-apply-dns.sh (EJ kört, väntar Erik 8 frågor).
- **D1/D2/D3 ✅ APPLICERAT MOT PROD:** 6+3 filer (wavult-facts, homo-deus-comms, agents/list, domain-experts, comms/engine, approvals, agents/heartbeats). amos-core 200.
**🔴 STORT FYND — Leon/Vincento = SIMULERING (22:18 UTC)**
- Erik: "Leon har aldrig varit officiellt anställd utan en simulering"
- Personnummer 900510-3456 = syntetiskt. INGEN arkiveringsplikt.
- v3-träningsdata KASSERAD (90+129 Leon/Vincento i train)
- **v4 skapad:** 33178 train / 3676 val, 0 Leon/Vincento
- **3 PURGE-agenter parallellt:** purge1_api (~60 filer), purge2_data ✅ (17 åtgärder, arkiv /opt/amos/data/_archive-vincento-20260606/), purge3_scripts. Legal-routing: vincento→kjell.
- **Slutkoll:** Leon Russo=0, Leon Magnusson=0, vincento=0, 900510-3456=0
- EMP-004 "Leon Magnusson" 13 payroll/HR-poster raderade
- **amos-core RESTART ✅ 200**
**Arkitekturprincip LÅST (22:40 UTC):**
> "Vår AI-modell ska ALDRIG bära detaljdata för vårt bolag utan träna generellt"
Separation of weights & facts: ALETHEIA (generell) + MNEMOSYNE (företagsfakta runtime)
**v4 KASSERAD** (varje exempel hade Wavult/AAMOS/org-nr i system-prompt + 25% företagsspecifika svar)
**v5 BYGGD:** 20807 train / 2319 val, 0 företagstermer. System-prompt = neutral generell.
**8x A100 DDP-SPEEDRUN (23:48 UTC):**
- p4d.24xlarge SPOT ($8/h, cap $12), eu-north-1c, i-0e9e845b6d85af5a0, 13.48.129.246
- 8x A100-SXM4-40GB. DLAMI PyTorch 2.7. Linear LR scaling: global_batch 64 → scaled_lr 4e-4
- Smoke test PASS (3 miljöbuggar fångade + fixade: torchrun, jinja2, datasets)
- FULL KÖR: 978 steg (3 ep, gb64), ~3.6s/steg = ~1h. 8 GPU 100%.
**Namnkanon LÅST (00:28 UTC, tekniskt 2026-06-07):**
ALETHEIA + MNEMOSYNE + HEPHAISTOS + AZOTH
**Status EOD:** ESLM baslinje klar (33% BLOCKED). Purge fullständig. v5 tränas. Namnkanon låst.
---
### 2026-06-07 (söndag) — ALETHEIA KLAR + Restaurant E2E + EKS-migration
**Aktiva timmar:** 00:00 15:00+ UTC
**Production Block A — ALETHEIA Säkrad (01:45 UTC)**
- **Träning KLAR:** train_loss 0.35, token-accuracy 94%, 3 epoker, 57 min vägg-klocka (8x A100)
- **SÄKRAD på 3 ställen:**
- server-2: /opt/amos/models/aletheia-v5/ (15GB)
- S3: platform-ouroboros-models/aletheia-eslm-v5-20260607/ (14 objekt verifierat)
- A10G: ~/aletheia_v5
- **p4d TERMINERAD** (i-0e9e845b6d85af5a0) $8/h stoppat
- **Serving:** vLLM på A10G (172.31.36.61:8000), served-name aletheia, fp16, VRAM 21GB, FlashInfer-fix
- **Red-team-grind pågår:** judge hade hårdkodat ESLM_MODEL=aamos-eslm (404) fixat → aletheia
- **ALETHEIA Röktest OK:** svarar generellt + [E-nivå]-format från träning
**Production Block B — quiXzoom + Restaurant (06:0013:45 UTC)**
**quiXzoom auto-refund (live):**
- 14-dagars ångerrätt: Stripe-refund fullauto. `stripe_payment_intent TEXT` på quixzoom.transactions. `/refund` kör `stripe.refunds.create()` direkt.
**🔴 Jurisdiktionsbugg fixad (06:30 UTC):**
- Onboarding-tjänst (port 3304) hårdkodad för Sverige: `validate_org_nr_se` accepterade BARA svenskt org-nr. Spansk CIF (B12345678) avvisades.
- FIX: `country` (ISO-3166, default "SE") tillagd. Jurisdiktionsmedveten: ES→CIF/NIF + IVA {4,10,21}, SE→orgnr + moms {12,25}.
- Verifierat E2E: spansk chiringuito (CIF B12345674, IVA 10%) slutför alla 7 steg → active.
**Restaurant E2E-simulering (07:0008:30 UTC):**
- Chiringuito La Marea SL (Torrevieja, tenant 70fffd12...). 986 orders / 30 dagar / €146,510.10
- 6 RIKTIGA BUGGAR HITTADE & FIXADE: vat_rate overflow, analytics fel paths (POS+HR), decimal-as-string, es-tax quarter off-by-one, VeriFactu URL+payload
- **SLUTRESULTAT: 24/24 core-checks OK, 40 OK faser 8-14, 0 FAIL**
- Kedjeavstämning POS→Modelo303→Ledger→SIE4: BASE €133,190.92 identisk i ALLA fyra
- SIE4-fil genererad + round-trip validerad (5751 bytes, 30 verifikationer × 4 trans)
**POS→Ledger automatik + Ticket-system (08:30 UTC):**
- POST /pos/ledger/post-day + GET /pos/ledger/postings
- Cron-jobb (id eefc8ceb): dagligt Z-avslut 03:15 Europe/Madrid
- Idempotent: tracking-tabell `restaurant_ledger_postings` (UNIQUE tenant+datum)
- Ny tjänst aamos-restaurant-tickets:3318 (Rust/axum): severity low/medium/high/critical, 9 kategorier
- HTML-dashboard: https://amos.aamos.systems/tickets
- 30/30 dagar auto-postade, trial balance i balans, SIE4 balanserad
**Fulltestning onboarding (08:07 UTC): 18/18 OK**
**Production Block C — EKS-migration (14:0015:00+ UTC)**
**EKS-access etablerad:**
- platform-ai-agent → access-entry + AmazonEKSClusterAdminPolicy. kubectl v1.31.0 installerad.
**Klustret inventerat:**
- GitOps: ArgoCD, cert-manager, external-dns, external-secrets (ClusterSecretStore aws-ssm-store)
- Kong gateway, aws-load-balancer-controller, Karpenter (graviton-spot nodepool)
- 3 noder Ready (graviton r6g/r8g). ECR: 155407238699.dkr.ecr.eu-north-1.amazonaws.com
- Namespace `rust`: 7 ClusterIP-services utan deployments/pods
**🔴 Kafka-fix (14:45 UTC):**
- Kafka 2/3 brokers i 8 DAGAR okänt fel
- Rotorsak 1: kafka-1 init-container saknade resource limits → ResourceQuota blockerade (FailedCreate x721)
- Rotorsak 2: PVC bunden till raderad EBS-volym vol-0891ca1531dc90def
- FIX: patchade initContainer (requests 25m/64Mi, limits 100m/128Mi), raderade orphaned PVC/pod
- RESULTAT: 3/3 brokers Running, 0 under-replicated partitions, ISR fullständig
**Referensmigrering (14:37 UTC) tickets → EKS:**
- ECR-repo: `rust/restaurant-tickets` (+ rust/restaurant-ledger)
- Dockerfile: multi-stage, rust:1-bookworm → debian:bookworm-slim, non-root uid 10001
- ExternalSecret → ClusterSecretStore aws-ssm-store → SSM /aamos/prod/restaurant/DATABASE_URL
- Deployment: 2 replicas, arm64-affinity, podAntiAffinity, readOnlyRootFs, /health probes
- Kong-route: ExternalName-svc i gateway ns → /restaurant/tickets
- VERIFIERAT: 2 pods Running, DB round-trip TKT-00001 ✅, Kong-proxy ✅
**BESLUT LÅST (14:58 UTC): STRIKT GRAVITON/arm64-ONLY**
- tickets omdeployad med `requiredDuringScheduling arm64` (HÅRT krav)
- Kanon-mall: /home/bernt/.openclaw/workspace/k8s-templates/graviton-affinity.yaml
- x86-nodegroup (c6i, desired=0) = vilande, workloads schemaläggs ALDRIG där
**quiXzoom lanseringsdatum UPPDAT (13:45 UTC):**
- 15 juni → **1 AUGUSTI 2026** (lördag)
- CloudFront EE30B9WM5ZYM7 → S3 quixzoom-landing-prod. Invalidering ICPOZDEZKTB9SQEHWJ5EDN8Q2 (Completed).
- /se, /, /markets/se/, /markets/en/ visar alla 1 augusti/August 2026
**Master-prompt + Wavult Group-definition:**
- Utkast i `intelligence/2026-06-06-wavult-master-prompt-utkast.md` (v2)
- BMD-filer = sanningskälla
**Status EOD (periodens slut):**
- ALETHEIA v5 tränad + säkrad
- Restaurant-plattform 16 tjänster, E2E 0 FAIL
- EKS-referensmigrering klar (tickets), arm64-only LÅST
- quiXzoom launch: 1 aug 2026
- Kafka reparerad (3/3 brokers)
---
*Volume 2 av 7 | AMOS Development Workcamp Reconstruction Package*