The check IDs use dots (provider.claude.binary) not dashes, so the
grouping filter never matched and only the summary line was visible.
Fixed the prefix matching and made detail text selectable so users
can copy paths (e.g., Claude binary location).
Add a "Diagnostics" section that lets users run a health check against
their connected daemon via GET /api/doctor. Displays grouped check
results with status icons and a summary line.
- Fix TypeScript error: extract host field for getDaemonHost call
- Use async execFile + Promise.all for parallel provider checks
- Load config once in runConfigChecks instead of twice
Adds a unified diagnostic system for Paseo setup:
- Doctor module in packages/server with provider, config, and runtime checks
- GET /api/doctor HTTP endpoint on the daemon
- `paseo doctor` CLI command (local checks by default, --remote for daemon)
- Tests for the doctor report shape and summary correctness
Add `use std::hash::{DefaultHasher, Hash, Hasher}` behind #[cfg(windows)]
in runtime_manager.rs — these types are used in hash_seed() which only
compiles on Windows, causing CI failure.
Also includes: app component refactors (agent-list, agent-status-bar,
stream-strategy-web), website index updates, server dep additions
(fast-uri, rotating-file-stream sort), lockfile sync, and removal of
RUNTIME_SIMPLIFICATION_PLAN.md.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
npm/cli#4828 caused package-lock.json to prune platform variants
not matching the local OS. Regenerated from scratch so Windows CI
gets @tauri-apps/cli-win32-x64-msvc and lightningcss-win32-x64-msvc.
Removed the lightningcss Windows install workaround from desktop
workflow. Removed deprecated asyncRequireModulePath from metro config.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rename handoff, committee, loop to paseo-handoff, paseo-committee,
paseo-loop to avoid name collisions with other skill sources.
Symlinked ~/.agents/skills/ and ~/.claude/skills/ to the repo.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The production code calls connection.session.getRuntimeMetrics() when
closing the WebSocket server, but MockSession in the relay-reconnect
tests didn't implement this method, causing all close() calls to throw.
Package the four core skills into the repo under skills/ so users can
install them via `npx skills add getpaseo/paseo`.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>