Files
boc/experiments/EP-1.0/E-001-versioning-policy.md
T

77 lines
2.3 KiB
Markdown
Raw Normal View History

# Engineering Policy E-001 — Versionering och spårbarhet
**Status:** Engineering Policy. Gäller oavsett verktyg eller miljö.
---
## Princip
> Ingen ändring av kod, konfiguration eller infrastruktur får göras utanför versionshantering. Varje förändring ska kunna spåras till:
> - ett Change Request (CR-ID),
> - en Git-commit,
> - en granskning (när tillämpligt),
> - och en reproducerbar version av källkoden.
---
## Tillåtet
| Praktik | Krav |
|---------|------|
| All kod i Git-repositorier | Obligatoriskt |
| Varje commit refererar till CR-ID | Obligatoriskt |
| Branch → commit → merge | Enligt arbetsprocess |
| Releases kopplas till commits | Reproducerbarhet |
## Förbjudet
| Praktik | Konsekvens |
|---------|-----------|
| Direkt redigering på produktionsservrar | Bryter spårbarhet |
| `nano`/`vim` av produktionskod | Skapar "snowflake"-server |
| Uppladdning utan Git-motsvarighet | Obestyrbart tillstånd |
---
## Undantag — Akuta incidenter
Tillåtet endast om:
1. Incidenten dokumenteras
2. Hotfixen omedelbart förs tillbaka till Git
3. Ordinarie pipeline återställs efter incidenten
**Inga "snowflake"-servrar. Någonsin.**
---
## Sanningskälla
> **Git är system of record för all kod. Driftmiljön är en deployment-target, aldrig den primära sanningskällan.**
---
## Koppling till EP-1.0
E-001 och EP-1.0 kompletterar varandra utan att överlappa:
| Fråga | Svar |
|-------|------|
| *Hur får förändringar ske?* | **E-001** — via Git, med spårbarhet till CR-ID och commit |
| *Hur får observationer samlas in och bevaras?* | **EP-1.0** — via append-only ledger, frysning och hash |
### Artefakttyper och integritetsmekanismer
| Artefakt | Primär integritetsmekanism | Syfte |
|----------|---------------------------|-------|
| Kod, konfiguration, IaC | Git-historik | Versionshantering |
| Ledger (`ledger.jsonl`) | Freeze + SHA256 + append-only | Bevara observationer |
| Härledda KPI:er | Härledbara från ledger | Reproducerbar analys |
| Metadata | Versionshanteras tillsammans med experimentet | Reproducerbar kontext |
En fryst ledger **kan** ligga i Git för distribution och backup. Git är då inte beviset på att observationerna är oförändrade — det är hashen och den definierade freeze-punkten.
---
*E-001: Hur förändringar sker. EP-1.0: Hur observationer bevaras.*