diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 670a9e9bc..6adb6c835 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "f8a677bcfd03284e3aaf7c790213233fe2f61e0e", - "syncedAt": "2026-04-26T02:47:36.870Z" + "sha": "1231f21679c88fba3fdb690c985a12930dad4261", + "syncedAt": "2026-04-26T02:51:37.798Z" } diff --git a/docs/automation/tasks.md b/docs/automation/tasks.md index 73c567ace..686cfc057 100644 --- a/docs/automation/tasks.md +++ b/docs/automation/tasks.md @@ -194,14 +194,14 @@ openclaw tasks audit [--json] Surfaces operational issues. Findings also appear in `openclaw status` when issues are detected. -| Finding | Severity | Trigger | -| ------------------------- | -------- | ----------------------------------------------------- | -| `stale_queued` | warn | Queued for more than 10 minutes | -| `stale_running` | error | Running for more than 30 minutes | -| `lost` | error | Runtime-backed task ownership disappeared | -| `delivery_failed` | warn | Delivery failed and notify policy is not `silent` | -| `missing_cleanup` | warn | Terminal task with no cleanup timestamp | -| `inconsistent_timestamps` | warn | Timeline violation (for example ended before started) | +| Finding | Severity | Trigger | +| ------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------ | +| `stale_queued` | warn | Queued for more than 10 minutes | +| `stale_running` | error | Running for more than 30 minutes | +| `lost` | warn/error | Runtime-backed task ownership disappeared; retained lost tasks warn until `cleanupAfter`, then become errors | +| `delivery_failed` | warn | Delivery failed and notify policy is not `silent` | +| `missing_cleanup` | warn | Terminal task with no cleanup timestamp | +| `inconsistent_timestamps` | warn | Timeline violation (for example ended before started) | ### `tasks maintenance` @@ -284,7 +284,7 @@ The registry loads into memory at gateway start and syncs writes to SQLite for d A sweeper runs every **60 seconds** and handles three things: 1. **Reconciliation** — checks whether active tasks still have authoritative runtime backing. ACP/subagent tasks use child-session state, cron tasks use active-job ownership, and chat-backed CLI tasks use the owning run context. If that backing state is gone for more than 5 minutes, the task is marked `lost`. -2. **Cleanup stamping** — sets a `cleanupAfter` timestamp on terminal tasks (endedAt + 7 days). +2. **Cleanup stamping** — sets a `cleanupAfter` timestamp on terminal tasks (endedAt + 7 days). During retention, lost tasks still appear in audit as warnings; after `cleanupAfter` expires or when cleanup metadata is missing, they are errors. 3. **Pruning** — deletes records past their `cleanupAfter` date. **Retention**: terminal task records are kept for **7 days**, then automatically pruned. No configuration needed. diff --git a/docs/cli/tasks.md b/docs/cli/tasks.md index fdc76d1bc..58ea07f97 100644 --- a/docs/cli/tasks.md +++ b/docs/cli/tasks.md @@ -75,7 +75,7 @@ Cancels a running background task. openclaw tasks audit [--severity ] [--code ] [--limit ] [--json] ``` -Surfaces stale, lost, delivery-failed, or otherwise inconsistent task and Task Flow records. +Surfaces stale, lost, delivery-failed, or otherwise inconsistent task and Task Flow records. Lost tasks retained until `cleanupAfter` are warnings; expired or unstamped lost tasks are errors. ### `maintenance`