151 lines
2.5 KiB
Markdown
151 lines
2.5 KiB
Markdown
|
|
# Komponentroller — AAMOS Arkitektur
|
||
|
|
|
||
|
|
> **Syfte:** Tydligt ansvar för varje komponent
|
||
|
|
> **Princip:** "En komponent, ett ansvar"
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Hermes
|
||
|
|
|
||
|
|
**Roll:** Transport av händelser
|
||
|
|
|
||
|
|
**Gör:**
|
||
|
|
- Publicerar och prenumererar på events
|
||
|
|
- Skickar meddelanden mellan tjänster
|
||
|
|
- Garanterar leverans (at-least-once)
|
||
|
|
|
||
|
|
**Gör INTE:**
|
||
|
|
- Styr agenter
|
||
|
|
- Lagrar kunskap
|
||
|
|
- Fattar beslut
|
||
|
|
|
||
|
|
**Exempel:**
|
||
|
|
```javascript
|
||
|
|
// Rätt
|
||
|
|
hermes.publish('aamos.ledger.transaction.created', { ... });
|
||
|
|
|
||
|
|
// Fel
|
||
|
|
hermes.decide('should-deploy'); // NEJ
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## EOS (Engineering Operating System)
|
||
|
|
|
||
|
|
**Roll:** Styrning och policy
|
||
|
|
|
||
|
|
**Gör:**
|
||
|
|
- Definierar regler
|
||
|
|
- Verifierar efterlevnad
|
||
|
|
- Blockerar otillåtna förändringar
|
||
|
|
- Loggar alla beslut
|
||
|
|
|
||
|
|
**Gör INTE:**
|
||
|
|
- Transporterar data
|
||
|
|
- Analyserar affärslogik
|
||
|
|
- Lagrar projektkunskap
|
||
|
|
|
||
|
|
**Exempel:**
|
||
|
|
```javascript
|
||
|
|
// Rätt
|
||
|
|
eos.check({ type: 'deploy', target: 'production' });
|
||
|
|
|
||
|
|
// Fel
|
||
|
|
eos.publishEvent('transaction.created'); // NEJ
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## SIL (System Intelligence Layer)
|
||
|
|
|
||
|
|
**Roll:** Analys och resonemang
|
||
|
|
|
||
|
|
**Gör:**
|
||
|
|
- Analyserar kod och beslut
|
||
|
|
- Upptäcker mönster
|
||
|
|
- Ger rekommendationer
|
||
|
|
- Mäter kvalitet
|
||
|
|
|
||
|
|
**Gör INTE:**
|
||
|
|
- Styr direkt
|
||
|
|
- Transporterar data
|
||
|
|
- Fattar slutgiltiga beslut
|
||
|
|
|
||
|
|
**Exempel:**
|
||
|
|
```javascript
|
||
|
|
// Rätt
|
||
|
|
sil.analyze({ code: '...', context: '...' });
|
||
|
|
|
||
|
|
// Fel
|
||
|
|
sil.deploy('production'); // NEJ
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Project Memory
|
||
|
|
|
||
|
|
**Roll:** Kunskap över tid
|
||
|
|
|
||
|
|
**Gör:**
|
||
|
|
- Lagrar beslut (ADR)
|
||
|
|
- Håller historik
|
||
|
|
- Svarar på "varför"
|
||
|
|
- Lär av erfarenheter
|
||
|
|
|
||
|
|
**Gör INTE:**
|
||
|
|
- Transporterar data
|
||
|
|
- Styr direkt
|
||
|
|
- Fattar beslut
|
||
|
|
|
||
|
|
**Exempel:**
|
||
|
|
```javascript
|
||
|
|
// Rätt
|
||
|
|
memory.query('Why did we choose PostgreSQL?');
|
||
|
|
|
||
|
|
// Fel
|
||
|
|
memory.deploy('production'); // NEJ
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Agent Runtime
|
||
|
|
|
||
|
|
**Roll:** Orkestrering av agenter
|
||
|
|
|
||
|
|
**Gör:**
|
||
|
|
- Styr arbetsflödet
|
||
|
|
- Säkerställer att varje steg körs
|
||
|
|
- Loggar alla steg
|
||
|
|
- Blockerar vid fel
|
||
|
|
|
||
|
|
**Gör INTE:**
|
||
|
|
- Utför arbete själv
|
||
|
|
- Lagrar kunskap
|
||
|
|
- Fattar affärsbeslut
|
||
|
|
|
||
|
|
**Exempel:**
|
||
|
|
```javascript
|
||
|
|
// Rätt
|
||
|
|
runtime.execute({ task: 'fix-bug', agent: 'developer' });
|
||
|
|
|
||
|
|
// Fel
|
||
|
|
runtime.analyzeCode('...'); // NEJ — delegera till SIL
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Sammanfattning
|
||
|
|
|
||
|
|
| Komponent | Ansvar | Gör INTE |
|
||
|
|
|-----------|--------|----------|
|
||
|
|
| Hermes | Transport | Styr, lagrar, beslutar |
|
||
|
|
| EOS | Styrning | Transporterar, analyserar |
|
||
|
|
| SIL | Analys | Styr direkt, transporterar |
|
||
|
|
| Project Memory | Kunskap | Styr, transporterar |
|
||
|
|
| Agent Runtime | Orkestrering | Utför, lagrar, beslutar |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
*Definierad: 2026-07-01*
|
||
|
|
*Syfte: Förhindra ansvarsförvirring*
|