2.5 KiB
Working With Krilly - Gateway Restart Protocol
The Problem
Gateway restarts kill all running tasks and reset session context. This is annoying.
The Solution: New Workflow Rules
1. BATCH CONFIG CHANGES
OLD WAY: Change → Restart → Change → Restart → Change → Restart
NEW WAY: Change A → Change B → Change C → ONE Restart
Rule: Collect all config changes, apply them, THEN restart once.
2. USE BACKGROUND MODE FOR LONG TASKS
Any task that might take >30 seconds or involve downloads:
exec({
command: "long-task.sh",
background: true, // Detaches from session
yieldMs: 5000 // Let it run 5s before backgrounding
})
Then poll for completion:
process({action: "poll", sessionId: "xxx", timeout: 60000})
3. USE SUB-AGENTS FOR COMPLEX WORK
For multi-step tasks that could be interrupted:
sessions_spawn({
task: "Install X, configure Y, test Z",
mode: "run",
runtime: "subagent",
label: "task-description" // Easy to check later
})
Sub-agents:
- Run in isolated sessions
- Survive parent session issues
- Auto-announce when done
- Can be checked with
subagents list
4. PRE-CHECK BEFORE RESTART
Before ANY restart, ask:
- "Any running tasks I should wait for?"
- "Should I background this first?"
- "Can we batch more changes?"
5. STATE PERSISTENCE
For tasks that need to resume:
- Save progress to files (
/tmp/progress.json) - Check for existing state before starting
- Design idempotent operations (safe to re-run)
Quick Reference: When to Use What
| Task Type | Method | Example |
|---|---|---|
| Quick config edit (<30s) | Direct edit | Change model, restart |
| Download/install (>30s) | Background exec | Install 500MB skill |
| Multi-step setup | Sub-agent | Full server setup |
| Scheduled/recurring | Cron | Daily backups |
| Needs resume capability | State files + checks | Long research task |
Communication Template
Before restart, I'll say:
"I'm about to restart the gateway for [reason]. Any objections or running tasks I should wait for?"
When using background mode:
"This will run in background. I'll check on it in [time]."
When spawning sub-agent:
"Spawning sub-agent for [task]. It'll report back when done."
Emergency: Task Got Killed
If a restart happens mid-task:
- I'll acknowledge what was lost
- Check if partial progress exists
- Offer to resume from last checkpoint
- Use sub-agent/background mode for retry
Last updated: 2026-03-04