-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
31 lines (24 loc) · 1 KB
/
Copy pathmain.py
File metadata and controls
31 lines (24 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""Minimal Phase 0 bootstrap for NOVA."""
from nova_core.audit import AuditDecision, AuditLogger, AuditRecord
from nova_core.config import load_settings
from nova_core.identity import DeviceIdentityStore, SessionManager
from nova_core.security import RiskLevel
def main() -> None:
settings = load_settings()
device = DeviceIdentityStore(settings.identity.device_id_path).load_or_create()
session = SessionManager().start_session(device)
audit = AuditLogger(settings.audit.log_path, enabled=settings.audit.enabled)
audit.log(
AuditRecord(
action="session.started",
actor_id=str(device.device_id),
session_id=session.session_id,
device_id=device.device_id,
risk_level=RiskLevel.LOW,
decision=AuditDecision.CREATED,
details={"session_id": str(session.session_id), "profile": settings.profile},
)
)
print(f"NOVA Phase 0 ready: session={session.session_id}")
if __name__ == "__main__":
main()