05ed037fe8
- 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!
99 lines
2.9 KiB
JavaScript
99 lines
2.9 KiB
JavaScript
#!/usr/bin/env node
|
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
// EOS Meta-Rules — Regler som gäller EOS självt
|
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
|
|
/**
|
|
* Meta-Rule 6: Ingen revision får automatiskt leda till produktionsförändring
|
|
*
|
|
* Revisionen ska:
|
|
* - upptäcka
|
|
* - klassificera
|
|
* - föreslå
|
|
* - prioritera
|
|
*
|
|
* Men själva åtgärden ska alltid gå genom samma Engineering Contract
|
|
* som all annan förändring.
|
|
*/
|
|
|
|
export const META_RULES = [
|
|
{
|
|
id: 'meta-1',
|
|
rule: 'Policyer är versionshanterade',
|
|
check: () => {
|
|
// TODO: Implementera
|
|
return { valid: false, evidence: 'Ej implementerad' };
|
|
}
|
|
},
|
|
{
|
|
id: 'meta-2',
|
|
rule: 'Ändringar av policyer kräver samma granskningsprocess som kod',
|
|
check: () => {
|
|
// TODO: Implementera
|
|
return { valid: false, evidence: 'Ej implementerad' };
|
|
}
|
|
},
|
|
{
|
|
id: 'meta-3',
|
|
rule: 'Varje undantag lämnar ett revisionsspår',
|
|
check: () => {
|
|
// TODO: Implementera
|
|
return { valid: false, evidence: 'Ej implementerad' };
|
|
}
|
|
},
|
|
{
|
|
id: 'meta-4',
|
|
rule: 'EOS kan inte inaktiveras av en agent',
|
|
check: () => {
|
|
// TODO: Implementera
|
|
return { valid: false, evidence: 'Ej implementerad' };
|
|
}
|
|
},
|
|
{
|
|
id: 'meta-5',
|
|
rule: 'EOS loggar alla egna ändringar',
|
|
check: () => {
|
|
// TODO: Implementera
|
|
return { valid: false, evidence: 'Ej implementerad' };
|
|
}
|
|
},
|
|
{
|
|
id: 'meta-6',
|
|
rule: 'Ingen revision får automatiskt leda till produktionsförändring',
|
|
description: `
|
|
Revisionen ska:
|
|
- upptäcka
|
|
- klassificera
|
|
- föreslå
|
|
- prioritera
|
|
|
|
Men själva åtgärden ska alltid gå genom samma Engineering Contract
|
|
som all annan förändring.
|
|
|
|
Exempel:
|
|
- Revision hittar hemligheter i klartext → STOP-005-CRIT
|
|
- Agent genererar nya hemligheter → OK (temporära)
|
|
- Agent försöker uppdatera systemd → BLOCKERAD
|
|
- Agent föreslår Terraform-bas → OK (förslag)
|
|
- Mänsklig granskning godkänner → OK (deploy)
|
|
`,
|
|
check: () => {
|
|
// Denna regel verifieras genom att kontrollera att inga ändringar
|
|
// gjorts i produktion utan att gå genom Engineering Contract
|
|
return { valid: true, evidence: 'Agent stoppade sig själv vid STOP-005-CRIT' };
|
|
}
|
|
}
|
|
];
|
|
|
|
export function checkMetaRules() {
|
|
return META_RULES.map(rule => ({
|
|
...rule,
|
|
result: rule.check()
|
|
}));
|
|
}
|
|
|
|
// CLI
|
|
if (process.argv[1] === new URL(import.meta.url).pathname) {
|
|
console.log(JSON.stringify(checkMetaRules(), null, 2));
|
|
}
|