Files
boc/EOS/README.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

5.9 KiB

EOS — Engineering Operating System

Version: 0.9-experimental
Status: Policy Layer Release Approved
Senast uppdaterad: 2026-07-01


Vad är EOS?

EOS är ett policy-drivet exekveringssystem för AI-agenter. Det garanterar att:

  1. Ingen farlig operation körs omedvetet
  2. Varje beslut är reproducerbart
  3. Varje policy är testad och versionerad

När körs EOS?

Automatiskt (CI)

Händelse Vad som körs
PR öppnas Runtime Regression, Policy Regression, Architecture Drift
Push till main Alla tester + Decision Replay
Dagligen 06:00 UTC Referenskörning för drift-detektering
Release Release Gate (alla kriterier måste passera)

Manuellt (lokalt)

# Kör alla regressionstester
node EOS/regression-suite.mjs manual

# Kör policy-falsification
node EOS/policy-falsification-suite-v6.mjs

# Kör stabilitetstest
node EOS/daily-stability.mjs

# Kontrollera architecture drift
node EOS/architecture-drift.mjs EOS/agent-runtime-v10.mjs

# Kör release gate
node EOS/release-gate.mjs

Vad händer när en PR öppnas?

PR öppnas
    ↓
GitHub Actions startar
    ↓
┌─────────────────┐
│ Runtime Regression   │  ← Safety + Behaviour tester
│ Policy Regression    │  ← Policy-specifika tester
│ Decision Replay      │  ← Reproducerbarhet
│ Golden Failures      │  ← Stabilitet av kända fel
│ Architecture Drift   │  ← Invariant-verifiering
└─────────────────┘
    ↓
Alla PASS → Merge tillåten
Någon FAIL → Merge blockerad

Varför blockerades min merge?

Vanliga orsaker

Fel Lösning
Runtime Regression FAIL Kör node EOS/regression-suite.mjs manual lokalt
Policy Regression FAIL Kör node EOS/run-policy-suite.mjs lokalt
Architecture Drift > 0 Kontrollera att du inte ändrat exekveringsordningen
New Golden Failure Dokumentera i golden-failures.json
Decision Correctness < 95% Granska dina ändringar i Policy Layer

Felsökningssteg

  1. Läs felmeddelandet i CI-loggen
  2. Reproducera lokalt: node EOS/regression-suite.mjs manual
  3. Kontrollera om felet är nytt eller existerande
  4. Om nytt: åtgärda eller dokumentera som Golden Failure
  5. Om existerande: kontrollera att du inte introducerat regression

Hur lägger jag till en ny policy?

Steg 1: Definiera policyn

// I EOS/policy-registry.mjs
{
  id: 'POL-NEW-001',
  name: 'Ny Policy',
  description: 'Beskrivning av vad policyn gör',
  version: '1.0.0',
  status: 'active',
  owner: 'team-name',
  created: '2026-07-01',
  rules: [
    {
      id: 'POL-NEW-001-R1',
      description: 'Konkret regel',
      severity: 'CRITICAL',
      condition: (context) => { /* logik */ },
      action: 'BLOCK'
    }
  ]
}

Steg 2: Lägg till regressionstest

// I EOS/regression-suite.mjs
{ id: 'S-NEW-001', description: 'Test av ny policy', type: 'test', expectedBlocked: true }

Steg 3: Kör regressioner

node EOS/regression-suite.mjs manual
node EOS/run-policy-suite.mjs

Steg 4: Uppdatera dokumentation

  • Lägg till i RUNTIME-CONTRACT.md under Policy Invariants
  • Uppdatera denna README

Hur lägger jag till ett nytt Golden Failure?

Kriterier för Golden Failure

Ett test kvalificerar sig som Golden Failure om:

  1. Det representerar ett verkligt fel som inträffat
  2. Det har reproducerats minst två gånger
  3. Det kan inte upptäckas av befintliga tester
  4. När det löses ersätts det av ett svårare fall

Steg

  1. Identifiera felet genom regressionstestning
  2. Dokumentera i EOS/golden-failures.json:
{
  "id": "GF-002",
  "name": "Beskrivning av felet",
  "firstObserved": "2026-07-01",
  "status": "active",
  "testCase": { "id": "S-XXX", "description": "..." },
  "expectedOperation": "EXPECTED_OP",
  "actualOperation": "ACTUAL_OP",
  "whyDifficult": "Förklaring av varför felet är svårt",
  "resolutionCriteria": "När felet anses löst"
}
  1. Lägg till testet i regressionssviten
  2. Uppdatera REASONING-GATE.md

Hur replayar jag ett beslut?

Steg 1: Hitta beslutet

# Lista alla beslut
node EOS/decision-replay.mjs list

# Sök efter specifikt beslut
node EOS/decision-replay.mjs search "beskrivning"

Steg 2: Replay

import { DecisionReplay } from './decision-replay.mjs';

const replay = new DecisionReplay();
const decision = replay.loadDecision('decision-id');
const result = replay.replay(decision);

console.log('Original:', decision.result);
console.log('Replay:', result);
console.log('Match:', replay.compare(decision, result));

Filstruktur

EOS/
├── README.md                    # Denna fil
├── RUNTIME-CONTRACT.md          # Kontrakt och invariants
├── REASONING-GATE.md           # Inträdeskrav för Reasoning
├── agent-runtime-v10.mjs       # Huvudruntime
├── evidence-resolver-v5.mjs    # Intent + Evidence
├── evidence-quality.mjs        # Kvalitetsmått
├── evidence-weights.mjs        # Viktad evidens
├── policy-registry.mjs         # Policy-definitioner
├── decision-replay.mjs         # Replaysystem
├── architecture-drift.mjs      # Drift-detektering
├── release-gate.mjs            # Release-verifiering
├── regression-suite.mjs        # Regressionstester
├── golden-failures.json        # Kända fel
├── ci-config.yml               # CI-konfiguration
└── ...

Status

Komponent Status
Policy Layer Release Approved
Runtime Core Release Approved
Decision Replay Verifierad
Architecture Drift Detekterad
Reasoning Layer Gate R0 PENDING

Kontakt


Senast uppdaterad: 2026-07-01