Skip to content

✨ feat(shared): usar request_user_input nos GATEs do Codex - #86

Merged
grippado merged 4 commits into
mainfrom
gripp-w-claude/lab-197-request-user-input-gates
Oct 8, 2026
Merged

grippado merged 4 commits into
mainfrom
gripp-w-claude/lab-197-request-user-input-gates

Conversation

@grippado

@grippado grippado commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Summary-en: Codex gates use native request_user_input when available and the round-trip is verified for the current version/configuration; otherwise they use the numbered fallback.
Summary-pt: Gates no Codex usam request_user_input quando disponível e com round-trip verificado para a versão/configuração corrente; caso contrário, usam o fallback numerado.

O que mudou

  • codex-compat.md, "Perguntas ao usuário": request_user_input para todo GATE (uma question single-select, na main) quando disponível e comprovado na versão/configuração corrente; registro do round-trip comprovado (2026-10-08, Codex 0.161.0, feature default_mode_request_user_input ligada). Versões posteriores precisam de verificação própria.
  • Queda para o numerado completo: ferramenta ausente ou sem round-trip comprovado, menu que não cabe ou chamada recusada (sem truncar em silêncio), sessão headless (flux-gate/1 mantido).
  • hitl.md, "Como perguntar": nomeia request_user_input ao lado de AskUserQuestion e anota a opção "None of the above" que o Codex acrescenta (não declarar no menu).
  • preflight.md: token de degradação pergunta estruturada ausente cobre ferramenta ausente ou round-trip ainda não comprovado.
  • Bump dos cinco manifests para 1.46.0.

Não apurado

Comportamento em codex exec headless e com menus de 5+ opções.

Checks

check-manifests (5 manifests em flux@1.46.0), check-codex-agent-contract, claude plugin validate . e ./plugins/flux: verdes. Sem mudança em cli/.

Linear: LAB-197. Skills e menus inalterados.

Teste no Codex (2026-10-08)

Plugin 1.46.0 instalado do worktree num CODEX_HOME isolado, feature default_mode_request_user_input ligada, Codex 0.161.0.

  • @Flux review 86 em PR própria: menu estruturado com seta e descrição por opção (4 opções do Flux mais a "None of the above" que o Codex acrescenta), e a escolha voltou à sessão. Capturas na sessão de teste.
  • Primeira rodada: a chamada expirou em 120,016s sem resposta e devolveu {"answers":{}}; a regra anterior mandava cair no numerado. Corrigido em 5857900: resposta vazia repete a pergunta até 3 vezes antes do numerado.
  • Pendente: PR de terceiros, feature desligada (numerado + banner) e codex exec headless.

🤖 Generated with Claude Code | flux:build@1.45.1

Quando request_user_input está disponível, a main o usa para todo GATE (uma question single-select), em vez de fixar o Codex no menu numerado. Round-trip comprovado em 2026-10-08, Codex 0.161.0, feature default_mode_request_user_input ligada.

Sem a ferramenta, menu que não cabe ou sessão headless (gate_signal): continua o numerado completo, sem truncar em silêncio, e o sinal flux-gate/1. Degradação declarada com o token pergunta estruturada ausente. hitl.md nomeia a ferramenta e registra a opção None of the above que o Codex acrescenta. Não apurado: codex exec headless e menus de 5+ opções.

Bump dos cinco manifests para 1.46.0.

Co-Authored-By: Claude <noreply@anthropic.com>
@grippado
grippado marked this pull request as ready for review October 8, 2026 14:22
@grippado grippado self-assigned this Oct 8, 2026
grippado and others added 3 commits October 8, 2026 17:01
…vazia

No Codex 0.161.0 o request_user_input espera a pessoa por um limite fixo
de cerca de 120s (medido: 120,016s entre chamada e resposta) e devolve
{"answers":{}} quando expira, sem chave de configuração conhecida. Tratar
isso como ausência de round-trip derrubava o gate para o menu numerado
mesmo com o menu estruturado na tela da pessoa.

Resposta vazia agora repete a mesma pergunta até três vezes e só depois
cai no numerado. Chamada aceita sem escolha ({"accepted":true}, variante
assíncrona) continua caindo no numerado na hora. Também remove a
ambiguidade de "comprovado para a versão corrente": a comprovação vale
para 0.161.0 ou superior com a feature ligada, e a primeira resposta com
escolha confirma na própria sessão.

Co-Authored-By: Claude <noreply@anthropic.com>
O limite de cerca de 120s não tem chave de configuração conhecida no
Codex 0.161.0. Aponta para openai/codex#37472, onde o pedido de espera
sem expiração está aberto e onde foi registrado o caso do gate de review.

Co-Authored-By: Claude <noreply@anthropic.com>
@grippado
grippado merged commit 27ef7fa into main Oct 8, 2026
1 check passed
@grippado
grippado deleted the gripp-w-claude/lab-197-request-user-input-gates branch October 8, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant