alvarofpp / alvarofpp/dotfiles

Lock agent:running fica preso quando a sessão morre abruptamente

オープン
#9 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Shell
スター
2
フォーク
0
平均マージ
8分
マージ済み PR(30日)
1

説明

**Objetivo:** o lock `agent:running` ser solto quando a sessão morre de forma abrupta, sem depender de repaint de tela.

**O que aconteceu em 2026-09-07/08:** sessões morreram por três causas diferentes — limite mensal de gasto da conta, hook `PreToolUse` do projeto recusando o commit (`flutter analyze` vermelho), e contexto/reboot. Nenhuma chegou à última linha do prompt, que é onde o `agent:running` sai. As issues sumiram do fluxo caladas (o `gh:issues` esconde issue com o label) e ficaram assim por horas: `matria#164` e `abacaxei#74` levaram ~5h e precisaram de destrave manual.

**Por que o `gh:reap` não cobriu:** ele usa `lastOutputAt` com corte de 30 min, e esse campo sobe por motivo que não é trabalho:

- a máquina dormir e acordar repinta **todos** os terminais de uma vez (sintoma: `lastOutputAt` idêntico ao segundo em worktrees diferentes);
- `orca terminal read` — usado justamente pra diagnosticar — repinta e zera o contador.

Com isso o reap enxerga sessão morta como viva indefinidamente.

**Escopo sugerido:** trocar o sinal de vida por algo que não dependa de repaint. Candidatos: processo `claude` vivo no pty da sessão; ou tela que casa o padrão de prompt ocioso (`❯` isolado + `ctx: —%`) contar como morta na hora, sem esperar o corte.

**Critério de aceite:** sessão morta por limite de gasto ou por hook tem o lock solto no tick seguinte, mesmo que a tela tenha repintado há menos de 30 min.

**Relacionado:** a tabela de modos de falha em `ai/docs/gh-board-flow.md` registra as três armadilhas.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。