Files
openclaw-backups/KRILLY-WORKFLOW.md

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:

  1. I'll acknowledge what was lost
  2. Check if partial progress exists
  3. Offer to resume from last checkpoint
  4. Use sub-agent/background mode for retry

Last updated: 2026-03-04