restart-serverlisted
Install: claude install-skill rudi193-cmd/willow-2.0
# /restart-server — MCP + Kart Hot Reload
Reload Willow, the Kart worker, and Grove. Willow hot-swaps a module whitelist
in-process; tool bodies in `sap_mcp.py` and most `core.*` need **generation-swap**
reload (`target="code"`) or a full process restart. The **Kart worker is a separate
systemd service** (`kart-worker.service`) — merged Kart code stays stale until that
unit is bounced, which `fleet_reload`/`fleet_restart` now do for you (idle-only).
## Operator opt-in: true hot reload (no MCP reconnect)
Set `WILLOW_TRUE_HOTRELOAD=1` in **your** `.cursor/mcp.json` (or private MCP env).
Do **not** commit this to the tracked public-fallback template unless the fleet
opts in fleet-wide (ADR-20260704). With the flag on:
- `fleet_reload(target="code")` — generation-swap tool bodies in-process
- `fleet_reload(target="all")` — whitelist + Kart bounce, then **auto-chains**
generation-swap when `code_version.stale` is still true
## TOOL PRE-LOAD (first action after invocation)
```
ToolSearch query: "select:fleet_reload,fleet_restart,fleet_system_status"
```
## Sequence
1. **Hot reload Willow + Kart** — call `mcp__willow__fleet_reload` with target
`"all"`. This hot-swaps the Willow module whitelist **and** bounces the
`kart-worker` unit (skipped automatically if a Kart task is in-flight — check
the `kart` field in the result and report it). With `WILLOW_TRUE_HOTRELOAD=1`,
a still-stale `code_version` triggers generation-swap automatically.
2. **Read `code_version`