Sintoma
aiox-core conductor loop --help nunca retorna — em vez de imprimir o help e sair, o processo
fica vivo indefinidamente (parece iniciar/travar o próprio loop). Um --help disparado por uma
sessão de diagnóstico sobreviveu 20+ min e passou a escrever o loop-host.json do projeto,
poluindo o estado do conductor com um loop-host órfão host_kind: cli que não pertence a nenhum
pane. Efeito de segunda ordem: como um loop-host fresco pré-existe, o ensure_loop_host /
single-instance guard do wave launch pode recusar/deferir ao órfão em vez de o pane legítimo
(GUI) assumir.
Ambiente
- OS: Windows 11 (x64) · Cockpit: aiox-cockpit.exe vivo (daemon
--listen + GUI) · Antivírus: não avaliado nesta sessão
- Binário:
C:\Users\<user>\.aiox\bin\aiox-core.exe (17,37 MB, 2026-08-19) — sem version resource embedado (Rust; --version sai vazio mas RETORNA)
- CLIs:
.aiox\bin não está no PATH desta sessão (invocação por path absoluto)
O que o diagnóstico encontrou
conductor loop --help reproduzido travando por 2 vias independentes:
- pid órfão sobrevivente de sessão anterior (
... conductor loop --help), vivo 20+ min, heartbeatando o loop-host.json do projeto a cada ~1s.
- teste próprio via job com timeout de 20s → não retornou (
HANG CONFIRMED).
--version NÃO reproduziu hang nesta sessão (retornou <15s). O relato original de >120s foi
provavelmente contenção de lock enquanto o loop órfão do --help girava.
- Um
conductor loop --root <outro-projeto> legítimo coexistia e heartbeatava normal (1s) — o
hang é específico da forma --help do subcomando, não do conductor loop em si.
Passos para reproduzir
- Em terminal, rodar
aiox-core conductor loop --help.
- Observar: não imprime help nem retorna; processo fica vivo.
- Inspecionar o state dir do projeto cuja cwd/root foi resolvida →
.sdc-conductor/loop-host.json
passa a ser reescrito por esse pid (host_kind: cli), mtime avançando a cada segundo.
Classificação [Confiança]
Sugestão de correção
Fazer conductor loop (e subcomandos) tratarem --help/-h como pedido de ajuda (short-circuit
antes de qualquer side-effect de inicializar o loop / escrever heartbeat).
Sintoma
aiox-core conductor loop --helpnunca retorna — em vez de imprimir o help e sair, o processofica vivo indefinidamente (parece iniciar/travar o próprio loop). Um
--helpdisparado por umasessão de diagnóstico sobreviveu 20+ min e passou a escrever o
loop-host.jsondo projeto,poluindo o estado do conductor com um loop-host órfão
host_kind: clique não pertence a nenhumpane. Efeito de segunda ordem: como um loop-host fresco pré-existe, o
ensure_loop_host/single-instance guard do
wave launchpode recusar/deferir ao órfão em vez de o pane legítimo(GUI) assumir.
Ambiente
--listen+ GUI) · Antivírus: não avaliado nesta sessãoC:\Users\<user>\.aiox\bin\aiox-core.exe(17,37 MB, 2026-08-19) — sem version resource embedado (Rust;--versionsai vazio mas RETORNA).aiox\binnão está no PATH desta sessão (invocação por path absoluto)O que o diagnóstico encontrou
conductor loop --helpreproduzido travando por 2 vias independentes:... conductor loop --help), vivo 20+ min, heartbeatando oloop-host.jsondo projeto a cada ~1s.HANG CONFIRMED).--versionNÃO reproduziu hang nesta sessão (retornou <15s). O relato original de >120s foiprovavelmente contenção de lock enquanto o loop órfão do
--helpgirava.conductor loop --root <outro-projeto>legítimo coexistia e heartbeatava normal (1s) — ohang é específico da forma
--helpdo subcomando, não doconductor loopem si.Passos para reproduzir
aiox-core conductor loop --help..sdc-conductor/loop-host.jsonpassa a ser reescrito por esse pid (
host_kind: cli), mtime avançando a cada segundo.Classificação [Confiança]
conductor loop --helpnão retorna (2 reproduções independentes).--helpnão faz short-circuit → o subcomando inicia o loop ese registra como loop-host. Não provado em código, inferido do comportamento observado.
ensure_loop_hoste impedir o loop-host legítimo (GUI,host_kind: cockpit-gui) de assumir —adjacente à issue [Windows] Dois loop-hosts vivos para o mesmo repo sob slugs divergentes — decisões de wave children escritas num state dir que o ConductorLoop da GUI não vigia #29.
Sugestão de correção
Fazer
conductor loop(e subcomandos) tratarem--help/-hcomo pedido de ajuda (short-circuitantes de qualquer side-effect de inicializar o loop / escrever heartbeat).