# AetherDesk AI PC Contract Smoke - 2026-07-02 06:33 UTC

## Result

Status: passed for both the live backend and the static preview backend.

This pass strengthens the AI PC validation lane from shallow uptime checks to shape-aware API contract checks for the desktop and agent-operation routes the UI consumes.

## Changed validation behavior

`scripts/aetherdesk-ai-pc-smoke.js` now verifies:

- Responses are JSON, not HTML fallback.
- `ok` is not false.
- Manifest/snapshot/workspace contracts are present.
- Queue/status routes expose the arrays or objects the AI PC shell expects.
- Browser capabilities accepts the live backend `tools` array and the static-preview `capabilities` array.
- The runner exits cleanly with `process.exitCode` instead of crashing Node after `fetch`.

## Evidence

### Live backend

Command:

```powershell
npm run aetherdesk:ai-pc:smoke
```

Result:

- Base URL: `http://127.0.0.1:5717`
- Total checks: `20`
- Passed: `20`
- Failed: `0`
- Locked: `5`
- Receipt: `artifacts/aetherdesk_smoke/ai-pc-smoke-2026-07-02T06-33-21-451Z.json`

Notable live-backend counts:

- Workspaces: `4`
- Commands: `23`
- Shell profiles: `7`
- Browser tools: `15`
- Session checkpoints: `1`

### Static preview backend

Command:

```powershell
node C:\Users\issda\AetherDesk\scripts\aetherdesk-ai-pc-smoke.js --base-url=http://127.0.0.1:5724
```

Result:

- Base URL: `http://127.0.0.1:5724`
- Total checks: `20`
- Passed: `20`
- Failed: `0`
- Locked: `2`
- Receipt: `artifacts/aetherdesk_smoke/ai-pc-smoke-2026-07-02T06-33-10-070Z.json`

## Product meaning

The AI PC is now materially more agent-ready because the default validation command proves that the live backend exposes the operating surfaces an agent needs:

- health
- manifest
- snapshot
- workspaces
- task/output queues
- apply/diff/approval/receipt/rollback lanes
- session checkpoints
- system overview
- provider status
- file listing
- commands
- shell profiles
- browser capabilities and sessions
- steady state

## Remaining gap

This proves route contracts, not full human/agent task execution. The next strongest proof should exercise a real bounded workflow end-to-end: create an agent task, produce or attach an output, create a diff/apply request, and confirm locked apply behavior or run the disposable apply drill when explicitly enabling apply mode.