NAEOS menyediakan sistem governance komprehensif untuk menerapkan kebijakan, memvalidasi artifact, dan mempertahankan audit trail di seluruh alur kerja engineering Anda.

Struktur Governance

┌─────────────────────────────────────────┐
│            Governance Model             │
├─────────────┬─────────────┬─────────────┤
│  Charter    │  Policies   │  Reviews    │
│  Vision     │  Rules      │  Audit      │
│  Mission    │  Evaluator  │  Trail      │
│  Manifesto  │  Enforcer   │  Reports    │
└─────────────┴─────────────┴─────────────┘

Hierarki Dokumen

Governance NAEOS mengikuti hierarki dokumen yang ketat:

DokumenIDDeskripsi
Konstitusi EngineeringNAEOS-CON-001Aturan engineering fundamental
Piagam ProyekNAEOS-GOV-001Cakupan dan tujuan proyek
VisiNAEOS-GOV-002Arah jangka panjang
MisiNAEOS-GOV-003Bagaimana kita mencapai visi
ManifestoNAEOS-GOV-004Keyakinan dan nilai inti
Prinsip IntiNAEOS-GOV-005Prinsip engineering
Model GovernanceNAEOS-GOV-006Kerangka pengambilan keputusan
Peta JalanNAEOS-GOV-007Milestone pengembangan
Kebijakan VersioningNAEOS-GOV-008Aturan SemVer dan konvensi

Sistem Kebijakan

Aturan Default

NAEOS menyertakan 5 aturan kebijakan default:

Rule IDKondisiPrioritasAksi
project-requiredexists:project1block
modules-requiredexists:modules1block
architecture-pattern-validin:architecture.pattern,...2warn
deployment-strategy-validin:deployment.strategy,...2warn
service-port-positivegt:service.port,03warn

Operator Kondisi

OperatorContohDeskripsi
existsexists:projectPeriksa apakah key ada
not_emptynot_empty:projectPeriksa apakah key tidak kosong
containscontains:project,appPeriksa apakah value mengandung substring
gtgt:port,0Greater than
ltlt:port,65535Less than
inin:kind,http,grpcValue ada di daftar yang diizinkan

Kebijakan Kustom

Definisikan aturan kustom di kode Go Anda:

import "github.com/NAEOS-foundation/naeos/internal/governance/policy"

rules := []policy.Rule{
    {
        RuleID:    "require-testing",
        Condition: "exists:testing",
        Priority:  1,
        Action:    "block",
        Scope:     "spec",
        Enabled:   true,
    },
    {
        RuleID:    "limit-modules",
        Condition: "lt:module_count,50",
        Priority:  2,
        Action:    "warn",
        Scope:     "spec",
        Enabled:   true,
    },
}

Sistem Review

Sistem review memeriksa artifact yang dihasilkan terhadap aturan kualitas:

import "github.com/NAEOS-foundation/naeos/internal/governance/review"

reviewer := review.NewReviewer()

result, err := reviewer.ReviewArtifact(
    "main.go",
    string(content),
    []string{"no-todo", "no-placeholder", "no-hardcoded-secrets"},
)

if !result.Passed {
    for _, issue := range result.Issues {
        fmt.Printf("[%s] %s\n", issue.Severity, issue.Message)
    }
}

Audit Trail

Setiap aksi signifikan di-log untuk ketelusuran:

# Jalankan audit pada spesifikasi
naeos audit --input-file spec.yaml

# Ekspor log audit
naeos audit --input-file spec.yaml --output audit-report.json

Audit trail mencakup:

  • Perubahan spesifikasi (create, update, migrate)
  • Eksekusi pipeline (start, complete, fail)
  • Evaluasi kebijakan (pass, block, warn)
  • Generasi artifact (create, review, export)

Integrasi CI/CD

Terapkan governance di pipeline CI Anda:

# .github/workflows/ci.yml
- name: Validate Spec
  run: naeos validate --input-file spec.yaml

- name: Lint Spec
  run: naeos lint --input-file spec.yaml

- name: Audit
  run: naeos audit --input-file spec.yaml

Integrasi Pipeline

Aktifkan governance di konfigurasi pipeline:

cfg := pipeline.Config{
    Policies: policy.DefaultRules(),
    Review:   review.Config{Enabled: true},
    Audit:    audit.Config{Enabled: true},
}

Lihat juga: Prinsip Inti, Validasi