Files
boc/experiments/EP-1.0/E-001-versioning-policy.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

77 lines
2.3 KiB
Markdown

# 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.*