# AetherDesk AI PC Validation Report - 2026-07-02 06:28 UTC

## Result

Status: partially validated, materially improved.

The served AI PC preview now loads on a narrow in-app browser viewport without visible JSON/runtime errors. Static smoke passes. The preview server now returns JSON for local-preview API routes instead of falling back to `index.html` for `/api/...` requests.

## Evidence

- Static smoke command: `node C:\Users\issda\AetherDesk\scripts\aetherdesk-ai-pc-static-smoke.js`
- Static smoke result: `127/127` checks passing.
- Served preview used: `http://127.0.0.1:5724/?resetDesktop=1`
- Preview server PID for this run: `6460`
- Browser viewport observed: `599x698`
- Browser console for `5724`: no warnings or errors in the checked sample.
- Visible startup problem scan for `5724`: no matches for `Cannot read`, `probe failed`, `Explorer unavailable`, `Invalid Date`, `not valid JSON`, `Unexpected token`, or `TypeError` in the checked startup/status surfaces.
- Keyboard check: `Ctrl+K` focused `.real-pc-start-search` with placeholder `Search apps, actions, workspaces`.

## Fixes made during validation

- Removed UTF-8 BOM from Node helper scripts so Node can execute them.
- Removed UTF-8 BOM from public JSON artifacts so `JSON.parse` accepts them.
- Made static smoke asset checks tolerate `real-pc-shell.css?v=<number>` and `real-pc-shell.js?v=<number>` instead of hard-coding `v=21`.
- Extended `aetherdesk-ai-pc-preview-server.js` so `/api/...` routes return local-preview JSON instead of HTML fallback.
- Added local-preview shapes for receipts, action log, desktop state, browser sessions/capabilities, steady state, system overview, providers, files list, workspace list, task queues, apply/rollback queues, PowerShell status, process list, commands, shell profiles, and related status endpoints.
- Made `index.html` receipt loading defensive when `receipts` is absent or not an array.

## Current evaluation

What looks finished enough to use:

- The visual AI PC shell now lands as a real desktop-like surface in served preview.
- Terminal, Agent Browser, Steady State, taskbar, desktop icons, and Start/search are visible and usable at narrow height.
- The preview server is now a real local-preview backend contract instead of just static file hosting.
- Static smoke is green.

What is almost done:

- The shell feels usable as a keyboard-first AI PC preview, but a full acceptance checklist still needs a human/agent pass across all gates.
- Backend API stubs are good enough for preview stability; live backend execution still needs separate validation.
- Agent Browser renders controls and route contracts; actual attached browser backend/AetherBrowser live control remains a separate integration check.

What is mostly scaffold/notes:

- Acceptance gates and validation templates are useful but need filled reports per gate.
- Package score, desktop parity, provider status, and some full-backend status surfaces are currently preview/stub contract values, not measured production readiness.
- Apply/rollback lanes remain locked/stubbed in static preview.

## Known caveats

- Older preview servers/tabs from this run may still be alive on previous ports; the clean validation target is `5724`.
- The report does not claim full backend execution, host mutation, provider credentials, or AetherBrowser backend attachment.
- Full completion should still require a served-preview acceptance-gate report across the documented checklist.

## Recommended next step

Run the full manual acceptance checklist against `http://127.0.0.1:5724/?resetDesktop=1`, then attach the real backend and repeat the routes that are currently local-preview stubs.