:LovelaceHealth
Check the Lovelace Lattice daemon connection and pairing/trust status.
Command Signature
:LovelaceHealth
Alias: :LHealth
Description
The :LovelaceHealth command performs a health check of the Neovim extension's connection to the Lattice daemon and displays pairing/trust status. It renders results in a dedicated buffer with clear status indicators.
What it checks:
- Daemon connection status and socket accessibility
- Daemon IPC connectivity (
ping) - Pairing / trust status (
pairing.status)
When to use:
- After initial installation
- When troubleshooting connection issues
- Before submitting important tasks
- After daemon restart or upgrade
Usage
Basic Usage
:LovelaceHealth
Opens a split window showing health check results.
From Lua
require("lovelace.commands").health()
Output Format
The health check buffer displays results in sections:
## Connection Status
✓ Connected to Lattice daemon
Socket: ~/.lovelace/lattice/daemon.sock
## Ping
✓ pong
## Pairing / Trust
✗ Device not set up
To pair this Neovim client:
:LovelaceAuth
Status Indicators
| Symbol | Meaning | Description |
|---|---|---|
| ✓ | Check passed | Component working correctly |
| ✗ | Check failed | Component has issues |
| ⚠ | Warning | Component working with caveats |
| ℹ | Information | Additional context provided |
Common Scenarios
Scenario 1: Fully Operational
All checks pass, extension ready to use:
## Connection Status
✓ Connected to Lattice daemon
Socket: ~/.lovelace/lattice/daemon.sock
## Pairing / Trust
✓ Device is set up
Next step: Submit your first task with :LovelaceTask
Scenario 2: Connected but Not Paired / Trusted
Daemon is running but pairing/trust setup is required:
## Connection Status
✓ Connected to Lattice daemon
Socket: ~/.lovelace/lattice/daemon.sock
## Pairing / Trust
✗ Device not set up
To pair this Neovim client:
:LovelaceAuth
Next step: Run :LovelaceAuth to initiate pairing
Scenario 3: Daemon Not Running
Socket exists but daemon is not responding:
## Connection Status
✗ Not connected to daemon
To start the daemon:
lattice-ctl daemon start
lattice-ctl daemon status
Next step: Start daemon with lattice-ctl daemon start
Scenario 4: Socket Not Found
Socket file doesn't exist:
## Daemon Connection
✗ Socket not found
ℹ Checked locations:
- ~/.lovelace/lattice/daemon.sock
- /tmp/lovelace-daemon.sock
## Troubleshooting
1. Verify daemon is installed: lattice-ctl --version
2. Start the daemon: lattice-ctl daemon start
3. Override socket path via config `daemon.socket_path` or env `LATTICE_SOCKET`
Next step: Install and start Lattice daemon
Scenario 5: Custom Socket Path
Using non-standard socket location:
## Daemon Connection
✗ Socket not found at default locations
⚠ Custom socket path configured: /custom/path/socket.sock
✓ Connection successful
## Pairing / Trust
✓ Device is set up
No action needed - Configuration is working correctly
Troubleshooting
Health Check Doesn't Open
Symptom: Running :LovelaceHealth shows no output or error
Solutions:
-
Check plugin is loaded:
vim:lua print(vim.inspect(package.loaded["lovelace"])) -
Verify installation:
vim:Lazy " Check lovelace.nvim is installed -
Check for errors:
vim:messages " Look for Lua errors
Connection Check Hangs
Symptom: Health check freezes at "Checking connection..."
Solutions:
-
Timeout and kill process:
vim<C-c> " Cancel health check -
Check daemon process:
bashps aux | grep lattice-daemon -
Increase timeout:
luarequire("lovelace").setup({ daemon = { retry_count = 1 -- Reduce retry attempts } })
Socket Path Issues
Symptom: "Socket not found" but daemon is running
Solutions:
-
Find actual socket path:
- The daemon default is
~/.lovelace/lattice/daemon.sock - You can override it via
LATTICE_SOCKETor plugin configdaemon.socket_path
- The daemon default is
-
Configure correct path:
luarequire("lovelace").setup({ daemon = { socket_path = "/actual/path/to/socket.sock" } }) -
Verify socket permissions:
bashls -la ~/.lovelace/lattice/daemon.sock # Should be readable by your user
Pairing / Trust Issues
Symptom: Health check shows "Device not set up"
Solutions:
-
Initiate pairing:
vim:LovelaceAuth -
Approve the pairing code on a trusted device (for example:
ada pair approve <code>)
Integration with Workflows
Pre-Task Verification
Before submitting important tasks:
:LovelaceHealth
" Verify all checks pass
:LovelaceTask
" Submit task with confidence
Post-Installation Verification
After setting up the extension:
:LovelaceHealth
" Check 1: Daemon connection
" Check 2: Pairing / trust
:LovelaceAuth
" If pairing is needed
:LovelaceHealth
" Verify pairing succeeded
Debugging Session
When tasks aren't working:
:LovelaceHealth
" Identify which component is failing
:messages
" Check for detailed error messages
" Fix identified issues, then re-verify
:LovelaceHealth
Related Commands
| Command | Purpose |
|---|---|
| :LovelaceAuth | Pair / trust this Neovim client |
| :LovelaceSession | View session information |
| :LovelaceTasks | List all tasks |
Next Steps
- :LovelaceAuth Command - Pair this Neovim client
- Health Check Guide - Detailed health check workflows
- Troubleshooting - Common issues and solutions
- Configuration Deep Dive - Customize daemon connection
Related Documentation
- Health Check Guide - Complete health check workflows
- Installation Guide - Setup and verification
- Configuration Deep Dive - Daemon configuration options