alvarofpp / alvarofpp/dotfiles

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

Open
#9 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
2
Forks
0
Avg merge
8m
Merged PRs (30d)
1

Description

**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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.