Files
boc/EOS/ARCHITECTURE.md
T

112 lines
2.8 KiB
Markdown
Raw Normal View History

# EOS Arkitektur — Fyra nivåer
> "Varje lager bara känner till lagret under."
---
## Layer 1: Foundation
Infrastruktur och verktyg som allt annat bygger på.
- **Git** — Versionshantering
- **Terraform** — Infrastructure as Code
- **OpenAPI** — API-kontrakt
- **Kubernetes** — Container-orkestrering
- **CI/CD** — GitHub Actions / GitLab CI
- **Secrets** — AWS Secrets Manager
- **Logging** — Centraliserad loggning
**Princip:** Foundation är teknik-agnostisk. Den ska kunna bytas ut utan att påverka lager ovanför.
---
## Layer 2: EOS
Engineering Operating System — styrning och process.
- **Engineering Constitution** — 30 hårda regler
- **Policies** — Verkställbara regler
- **Knowledge Graph** — Systemets struktur
- **Project Memory** — Historik och beslut
- **Goal Graph** — Vision och mål
- **Decision Engine** — Riskbedömning
- **STOP Register** — Arbetsuppgifter från blockeringar
- **Capability Registry** — Verksamhetsförmågor
- **Dependency Budget** — Komplexitetsgränser
**Princip:** EOS känner till Foundation men inte till Agents eller Applications.
---
## Layer 3: Agents
Specialiserade agenter som utför arbete.
- **Planner** — Planerar och prioriterar
- **Reviewer** — Granskar kod och beslut
- **Developer** — Skriver och modifierar kod
- **Security** — Säkerhetsgranskning
- **QA** — Kvalitetssäkring
- **Architect** — Arkitekturgranskning
**Princip:** Agenter känner till EOS och använder det för vägledning, men kan inte ändra EOS.
---
## Layer 4: Applications
Produkter och tjänster.
- **quiXzoom** — Fältdatainsamling
- **LandveX** — Samhällsdata
- **Nästa produkt** — ...
**Princip:** Applications känner inte till EOS. Det är EOS som känner till Applications.
---
## Isoleringsprincip
```
Layer 4 (Applications)
| Agenter använder EOS för vägledning
Layer 3 (Agents)
| EOS styr agenter
Layer 2 (EOS)
| EOS bygger på Foundation
Layer 1 (Foundation)
```
**Regel:** Inget i Layer N får direkt påverka Layer N+2 eller högre.
---
## Exempel på dataflöde
1. **Developer Agent** skriver kod för quiXzoom
2. **EOS** granskar: "Bryter denna ändring mot någon policy?"
3. **Capability Registry** kontrollerar: "Överskrider denna ändring dependency-budgeten?"
4. **STOP Register** skapas om något bryter mot regler
5. **Release Gate** kontrollerar innan deployment till staging
6. **Foundation** (CI/CD) deployar om alla kontroller passerar
---
## Fördelar med isolering
- **quiXzoom** kan bytas ut utan att påverka EOS
- **EOS** kan användas för LandveX utan ändringar
- **Agenter** kan bytas ut utan att påverka arkitekturen
- **Foundation** kan moderniseras utan att påverka produkter
---
*EOS Architecture v1.0*
*"Separation of concerns genom strikt lagerisolering"*