ao-lifecycle-triage
Triage AO lifecycle backfill claim failures and ghost worktree fetch errors.
- License 许可
- MIT
- 最近更新
- 2026-11-14
- Stars
- ★ 6
- Forks
- 0
01 前言 Front Matter
- name
- ao-lifecycle-triage
- description
- Triage AO lifecycle backfill claim failures and ghost worktree fetch errors.
03 SKILL.md 正文
AO Lifecycle Backfill Claim Failure Triage
This is a read-only diagnosis by default. Preserve the current checkout,
branch, worktree, and any uncommitted data. Never run git reset --hard,
git clean, or git worktree remove --force as an automatic repair. Resolve
the exact target and inspect its status before any authorized cleanup; use the
approved diskm worktree-new path when an isolated checkout is needed.
When to use
When lifecycle.backfill.claim_failed errors appear in the lifecycle-worker log with:
fatal: refusing to fetch into branch 'refs/heads/BRANCH' checked out at 'PATH'
Two distinct root causes (same error surface)
Cause A: Main repo on wrong branch
Symptom: checked out at '<main AO checkout>' (the main checkout, $AO_REPO_ROOT)
Diagnosis: git -C "$AO_REPO_ROOT" branch --show-current
Safe recovery:
git -C "$AO_REPO_ROOT" branch --show-current
git -C "$AO_REPO_ROOT" status --short
git -C "$AO_REPO_ROOT" worktree list --porcelain
Do not switch branches or pull in the active main checkout automatically. If it is dirty or another worker owns it, preserve it and continue diagnosis through an approved isolated worktree.
Cause B: Ghost worktrees (dead AO worktrees with branches still checked out)
Symptom: checked out at '<worktree root>/<project>/ao-NNN' (an AO session worktree; use the exact path from the error as WT below)
Diagnosis: git worktree list | grep ao-NNN — if present with no live tmux session, it's a ghost
Safe recovery:
ao session ls
git -C "$AO_REPO_ROOT" worktree list --porcelain
git -C "$WT" status --short
Confirm the session/process owner and inspect the exact worktree before any
cleanup. A missing tmux session alone does not prove that the checkout is safe
to remove. Do not use --force; if it contains changes, preserve them and
report the exact blocker. Any deletion requires separate explicit
authorization.
Triage order (always check A first)
- Look at the path in the error: if it's the main repo path → Cause A
- If it's an
ao-NNNsession worktree → Cause B - If backfill is aborted (
claim_failed_abortafter 3 consecutive failures), check both
Prevention
sweepOrphanWorktreesin lifecycle-worker.ts runs every 5min (orphan TTL: 6h)- Agents should leave unrelated checkouts untouched; AO lifecycle cleanup must preserve task work and use the approved worktree path
Harness note
Ghost worktree accumulation cleaned manually twice in the same session on 2026-03-24 — this is the harness-level fix. If seeing this pattern again, the orphanTtlMs may need reduction.
04 同仓库更多 Skills
instinct
Use when the user invokes /instinct or /in, or asks to "message Instinct", "ask Instinct", "tell Instinct", "check Instinct", or read replies from the configured peer assistant. iMessage first, WhatsApp Web as fallback.
hr
Compatibility alias for history-resume; produce the same fresh-state, provenance-aware resume briefing.
history-resume
Resume briefing for the current repository branch or worktree using fresh state and admitted history sources.
grok
Alias for the canonical grokbot browser conversation workflow; /grok talks to the Grok bot the same way /dot talks to Dot.
codexa-bench
Compare `codexa` and normal `codex` on a fair split of comparable work by default; use `--strict` for duplicate runs of the exact same task.
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.