# Update Channel — Test Results

**Date:** 2026-06-04

## Build

| Test | Result |
|------|--------|
| NexusShell Release build | PASS |
| NexusIdentity Release build | PASS |
| build-package.ps1 | PASS |
| Upload folder structure | PASS |

## Local manifest validation

| Check | Result |
|-------|--------|
| `upload/downloads/latest.json` exists | PASS |
| `product` = Ninja Nexus | PASS |
| `build` = 1 | PASS |
| `packageUrl` points to releases folder | PASS |
| `releases/0.1.0-poc1/manifest.json` | PASS |
| UTF-8 no BOM (local) | PASS |

## Remote channel (pre-nginx redeploy)

| Check | Result | Note |
|-------|--------|------|
| GET /health | 404 | Pending Coolify redeploy with new nginx.conf |
| GET /downloads/latest.json | 200 | Old manifest format still served |
| SHA256 verify remote ZIP | Pending | Republish after Jacob approval |

## Shell UpdateService (code)

| Check | Result |
|-------|--------|
| UpdateService compiles | PASS |
| BOM strip on parse | Implemented |
| Network fail → "Update channel unavailable" | Implemented |
| No auto-download | PASS |
| No auto-install | PASS |

## Publish script

| Check | Result |
|-------|--------|
| -DryRun generates upload folder | PASS |
| -DryRun writes evidence | PASS |
| No hardcoded tokens | PASS |
| Requires NEXUS_COOLIFY_APP_UUID for deploy | PASS |

## Next step (requires Jacob approval)

```powershell
$env:NEXUS_COOLIFY_APP_UUID = '<uuid>'
.\scripts\nexus-laptop-poc\publish-coolify.ps1
```

Redeploy Coolify app with `deployment/coolify/nexus-downloads/nginx.conf` for `/health` and cache headers.
