# Nexus Platform — Build 80 Evidence Summary

| Field | Value |
|-------|-------|
| **Version** | `0.1.0-media1` |
| **Build** | **80** |
| **Branch** | `integration/platform-sprint-before-phase1` |
| **Validated** | 2026-06-05 (Release, Windows 10.0.26200) |
| **Validator** | Agent (automated build/test + agent API smoke; UI modules need manual sign-off) |

---

## Moduler bygget

Platform sprint build 80 samler følgende Nexus-moduler i **NexusShell** (WPF, .NET 10):

| Modul | Entry point | Build artefakt |
|-------|-------------|----------------|
| **Shell** | `NexusShell.exe --safe-poc` | `source/nexus-shell/NexusShell/bin/Release/net10.0-windows/` |
| **Nexus Files** | `nexus:files` | In-process WPF |
| **Nexus Browser** | `nexus:browser` | WebView2 + Nexus chrome |
| **Nexus Calculator** | `nexus:calculator` | In-process WPF |
| **Nexus Settings** | `nexus:settings` | In-process WPF |
| **Nexus Photos** | `nexus:photos` | In-process WPF |
| **Nexus Media** | `nexus:media` | In-process WPF (MediaElement / MediaPlayer) |
| **Ninja Store** | `nexus:store` | Mock catalog + install state |
| **Nexus Device Manager** | `nexus:devices` | WMI / perf counters |
| **Nexus Console** | `Ctrl+Shift+Alt+N` (admin) | Whitelist commands only |
| **Nexus Agent** | In-process localhost API `:5055` | Hardware inventory + health |

Understøttende projekter:

| Projekt | Rolle |
|---------|-------|
| `Nexus.Contracts` | Delte DTO'er (Identity, devices, users) |
| `NexusIdentity.Api` | Localhost auth backend (`:5050`) |
| `NexusShell.Tests` | Calculator engine unit tests (9 passed) |
| `NexusInstaller` | Setup/payload tooling |

---

## Build status

Kommando: `dotnet build -c Release` (efter stop af låste processer).

| Projekt | Resultat | Tid | Noter |
|---------|----------|-----|-------|
| `NexusShell.csproj` | **PASS** | ~7.9s | 2 CS-warnings (unused media fields) |
| `Nexus.Contracts.csproj` | **PASS** | ~2.0s | — |
| `NexusIdentity.Api.csproj` | **PASS** (retry) | ~2.6s | Første forsøg **FAIL**: DLL låst af `.NET Host (116332)`; efter kill → OK |
| `NexusShell.Tests.csproj` | **PASS** | ~9.8s | — |
| `NexusInstaller.csproj` | **PASS** | ~3.1s | — |

**Unit tests:** `dotnet test NexusShell.Tests -c Release` → **9/9 passed** (Calculator engine).

**Pre-build:** Stop `NexusShell.exe` og kørende `dotnet`/Identity Host der låser `bin/Release`-DLL'er.

---

## Smoke status

| Modul | Resultat | Metode | Detaljer |
|-------|----------|--------|----------|
| **Shell** | **needs-manual** | Process start | `NexusShell.exe --safe-poc` startede (PID set); login/desktop/dock kræver manuel UI-verifikation |
| **Files** | **needs-manual** | UI | Åbn via dock/launcher `nexus:files` → se `manual-verification.md` |
| **Browser** | **needs-manual** | UI | `nexus:browser`; WebView2 kræver interaktiv test |
| **Calculator** | **pass** (logic) / **needs-manual** (UI) | Unit test + UI | 9/9 engine tests passed; vindue ikke UI-automatiseret |
| **Settings** | **needs-manual** | UI | `nexus:settings` |
| **Photos** | **needs-manual** | UI | `nexus:photos` |
| **Media** | **needs-manual** | UI | `nexus:media` |
| **Store** | **needs-manual** | UI | `nexus:store` |
| **Device Manager** | **needs-manual** | UI | `nexus:devices`; agent-data spejles i status bar når agent kører |
| **Console** | **needs-manual** | UI | `Ctrl+Shift+Alt+N` som `admin@nexus.local` |
| **Agent local API** | **pass** | HTTP | Alle endpoints HTTP 200 efter shell-start (se nedenfor) |

### Agent API smoke (automated)

Efter `NexusShell.exe --safe-poc` + ~8s warmup:

| Endpoint | Status | Preview |
|----------|--------|---------|
| `GET /agent/status` | 200 | `connected:true`, `agentVersion:1.0.0`, `shellVersion:0.1.0-media1` |
| `GET /agent/device` | 200 | `deviceId:NEXUS-3639E1A1`, `backendUrl:http://localhost:5050` |
| `GET /agent/inventory` | 200 | CPU/RAM/OS snapshot JSON |
| `GET /agent/health` | 200 | `overall:Warning`, `healthPercent:72` |

---

## Screenshots status

Programmatisk skærmfoto fra agent-miljø er **ikke gennemført** (WPF kræver interaktiv session). Placeholder-noter er oprettet:

| Evidence mappe | Placeholder | PNG'er |
|----------------|-------------|--------|
| `nexus-platform-build-80/` | `manual-verification.md` | Shell desktop/dock — **mangler** |
| `nexus-agent-v1/` | `CAPTURE-NOTES-build-80.md` | 3 — **mangler** |
| `nexus-browser-poc/` | `CAPTURE-NOTES-build-80.md` | 4 — **mangler** |
| `nexus-calculator-poc/` | `CAPTURE-NOTES-build-80.md` | 2 — **mangler** |
| `nexus-console-poc/` | `CAPTURE-NOTES-build-80.md` | 3 — **mangler** |
| `nexus-device-manager-v1/` | `CAPTURE-NOTES-build-80.md` | 5 — **mangler** |
| `nexus-files-v2/` | `CAPTURE-NOTES-build-80.md` | 8 — **mangler** |
| `nexus-media-v1/` | `CAPTURE-NOTES-build-80.md` | 5 — **mangler** |
| `nexus-photos-v1/` | `CAPTURE-NOTES-build-80.md` | se README — **mangler** |
| `nexus-settings-v1/` | `CAPTURE-NOTES-build-80.md` | 4 — **mangler** |
| `nexus-store-v1/` | `CAPTURE-NOTES-build-80.md` | 4 — **mangler** |

**Manuel capture:** Kør Release build med `--safe-poc`, log ind, åbn hvert modul, gem PNG i respektive `docs/evidence/*`-mapper ifølge README + `CAPTURE-NOTES-build-80.md`.

---

## Kendte POC-begrænsninger

- **Lockdown:** Kun app-launch policy i Shell — Alt+Tab, Win-tast, Task Manager og Explorer udenfor Shell virker stadig (`--safe-poc` overlay).
- **Identity:** Localhost `:5050`, SQLite/seed-brugere — ikke multi-user produktion.
- **Agent:** In-process, localhost-only, ingen mTLS; backend offline → graceful degrade (POC).
- **Store:** Mock install — ingen rigtige `.nxp`/MSI.
- **Media:** Ingen streaming/transcoding; thumbnails er placeholders.
- **Files:** System.IO til enumeration — Nexus ejer UI/nav, ikke filsystemet.
- **Updates:** Manifest pipeline klar; fuld auto-update i Shell er POC 2+.
- **Framework-dependent:** Kræver .NET 8 + .NET 10 Desktop Runtime.

Se også: `docs/evidence/nexus-lockdown-poc1-laptop-package/known-limitations.md`.

---

## Hvad der stadig viser Windows

| Område | Windows-komponent | Bemærkning |
|--------|-------------------|------------|
| **HUB launcher** | `explorer.exe shell:AppsFolder` | Bevidst escape til Windows app-oversigt |
| **Terminal (dock)** | `powershell.exe` | Blokeret i lockdown; stadig i manifest |
| **Noter / Notepad** | `notepad.exe` | Tilladt i lockdown POC |
| **Filsystem** | NTFS paths under hood | Nexus Files viser venlige stier, ikke rå `C:\` |
| **Browser indhold** | WebView2 / Edge runtime | Sideindhold er web; chrome er Nexus |
| **Media afspilning** | Media Foundation (WPF) | Codec/engine er Windows |
| **Device data** | WMI, perf counters, registry | Nexus UI læser Windows APIs |
| **Desktop baggrund** | Windows desktop synlig i `--safe-poc` | Overlay mode — ikke fuld erstatning af Winlogon |
| **Microsoft Store / Settings** | Blokeret via lockdown | Bruger skal bruge Nexus Store / Nexus Settings |

---

## Hvad Nexus nu ejer

| Lag | Nexus-ejet |
|-----|------------|
| **Shell UX** | Login, desktop, top status bar, bottom dock, launcher, glass tema, animationer |
| **Apps (first-party)** | Files, Browser, Calculator, Settings, Photos, Media, Store, Device Manager, Console |
| **Agent** | Localhost inventory/health API, heartbeat mod Identity, status bar KPI |
| **Policy** | `LockdownService` + `lockdown.poc.json` allowed/blocked apps |
| **Persistence** | `%LocalAppData%/NinjaNexus/` (browser, files, media, store, agent, audit) |
| **Identity (POC)** | `NexusIdentity.Api` JWT login, seed users, device register endpoints |
| **Contracts** | `Nexus.Contracts` DTO'er på tværs af shell/backend |
| **Update channel** | Manifest format + Coolify download nginx (separat evidence) |

---

## Sikkerhedsstatus

| Kontrol | Status |
|---------|--------|
| **Lockdown config** | Kun eksisterende POC JSON — ingen nye GPO/registry/AppLocker ændringer i denne sprint |
| **Agent Phase 1** | Ingen remote execution, PowerShell passthrough, registry writes eller Windows service install |
| **Agent API binding** | `127.0.0.1:5055` only (verificeret via smoke) |
| **Console** | Whitelist commands; blocked Windows passthrough (manuel test pending) |
| **Browser** | URL blocklist (`file://`, `powershell:` m.fl.) — manuel screenshot pending |
| **Developer escape** | `Ctrl+Shift+Alt+N` → Nexus Console (admin role); legacy dev console ikke via key chord |
| **Secrets in repo** | Ingen `.env`/credentials staged; **advarsel:** untracked `nexus-test.db*` må ikke committes |
| **POC credentials** | `user@nexus.local` / `admin@nexus.local` — rotate før bredere brug |

Lockdown review: `security/NEXUS_LOCKDOWN_MODE.md`, `docs/evidence/nexus-lockdown-poc1-laptop-package/safety-review.md`.

---

## Git status

**Repo root:** `C:\Users\jtrs\Documents\renninjadk`  
**Branch:** `integration/platform-sprint-before-phase1`  
**Staged:** **0 filer** (intet klar til commit)  
**Ninja Nexus changes:** ~218 entries (modified + untracked)

### Sikkerhedstjek (commit-forberedelse)

| Check | Resultat |
|-------|----------|
| Secrets (`.env`, credentials) staged | **OK** — ingen |
| `bin/` / `obj/` staged | **OK** — ingen (ignoreret via `.gitignore`) |
| dist ZIP staged | **OK** — ingen `.zip` i porcelain |
| Database filer staged | **OK** — ingen staged; **ADVARSEL** untracked: `nexus-test.db`, `nexus-test.db-shm`, `nexus-test.db-wal`, `source/nexus-identity/.../nexus-test.db` — **ekskluder fra commit** |
| Tokens i evidence | **OK** — ingen token-filer i evidence |
| Lockdown/GPO ud over POC | **OK** — kun `lockdown.poc.json` + `LockdownService` (ingen system-wide GPO) |

### Anbefalet commit scope (Ninja Nexus only)

Ekskluder: `../Renninja-v3/*` (submodule/parallel tree), `.cursor/`, `nexus-test.db*`, `bin/`, `obj/`.

Inkluder: `source/nexus-shell/**`, `source/nexus-identity/**`, `platform/contracts/**`, `docs/evidence/**`, `deployment/coolify/**`, `scripts/**`, `.gitignore`.

---

## Proposed commit message

```
Platform sprint build 80: Nexus Media + Agent + multi-module shell integration

Consolidate first-party apps (Files, Browser, Media, Store, Device Manager,
Console, Agent) in NexusShell build 80 (0.1.0-media1). Identity API device
endpoints, lockdown/store wiring, and evidence docs for release validation.
```

**Note:** Commit not performed per instructions.
