HolonDesktop Real Desktop Validation
Use this guide when you need evidence about the actual HolonDesktop shell instead of renderer-only behavior.
When To Use This Lane
Run npm --prefix ./Frontend/HolonDesktop run test:real-desktop for claims about:
- desktop startup through the real Tauri shell
- workspace navigation in the real desktop window
- chat send behavior through real Tauri IPC
- host diagnostics, log capture, and runtime truth from the running app process
Do not use Frontend/HolonClient/tests/e2e as proof of those behaviors. That surface is still useful for renderer regression coverage, but it does not prove the real desktop shell started or that Rust host commands responded.
Current Validation Floor
The current lane is Windows-first and runs against dev:light.
It proves:
- the Tauri app launched
- Playwright attached to the live WebView2 DOM over CDP
window.__TAURI_INTERNALS__existed in the running page- real host commands and diagnostics responded
- the shell could create or open a workspace and submit a chat request
If provider or model configuration is unavailable, a clearly captured blocked state is still valid smoke evidence for this lane. Do not report a successful model-backed reply unless the evidence shows a configured provider path and a real accepted response.
Supported Command
From the repo root:
npm --prefix ./Frontend/HolonDesktop run test:real-desktop
From Frontend/HolonDesktop:
npm run test:real-desktop
Evidence Expectations
Each run writes evidence under Frontend/HolonDesktop/tests/real-desktop/artifacts/.
Important artifacts include:
evidence-manifest.jsonagent-snapshot.jsoncurrent-page.pngdev-stdout.logdev-stderr.logevent-streams.jsonfailure-diagnostics.json- Playwright
results.jsonandreport-html/
Agent or reviewer claims about real desktop behavior should reference these artifacts when they are present.
Runtime Isolation
The harness sets HOLON_DESKTOP_E2E_DATA_DIR for debug or test runs so desktop app data, diagnostics, and holon.db state stay isolated from the developer's normal app data.
The harness also uses WebView2 remote debugging with a temporary user-data folder so Playwright can attach to the real desktop DOM without sharing browser profile state across runs.