Skip to content

bug: Codex stdin hardening is not synced to consumers #110

Description

@tbrownio

Incident

A live /do run in bloomapi/bloom-mono hit the exact Codex stdin deadlock that #76 / PR #80 was meant to eliminate.

  • Consumer checkout: bloomapi/bloom-mono at 49123ba454d589e020bd19d7706b648c00c35755
  • Managed mirror: .claude/skills/codex/SKILL.md
  • Dispatch mode: Claude Code background Bash task running codex exec with a positional prompt
  • Symptom: output stopped at Reading additional input from stdin...; process slept at 0% CPU, no Codex session file was created, and the shell remained running for ~34 minutes.
  • Control: relaunching the same dispatch with </dev/null progressed immediately to the Codex banner and session ID and completed successfully.

The merged fix is present on dcouple/orchestra main (claude/skills/codex/SKILL.md includes the portable watchdog and </dev/null), but it has not reached this consumer mirror. The original issue is therefore closed at the source while the production consumer workflow remains exposed.

Immediate fix

  1. Open and merge the generated skills-sync PR for bloomapi/bloom-mono so its managed Codex skill contains the PR feat: hang-proof Codex dispatches — stdin redirect, timeout cap, self-recovery #80 command templates.
  2. Audit every known orchestra consumer for the same stale template and open sync PRs wherever claude/skills/codex/SKILL.md lacks both the watchdog and </dev/null.

Durable fix

  • Make managed-mirror staleness visible and actionable: stamp the orchestra source revision in generated mirrors and add a check that fails or alerts when a consumer is behind a critical skill fix.
  • Treat hang-prevention changes as urgent sync releases rather than waiting for an unrelated manual sync.
  • Add a regression check over generated consumer output that asserts every fresh and resumed codex exec form closes stdin.

Acceptance criteria

  • bloomapi/bloom-mono receives a sync PR containing the stdin redirect/watchdog fix.
  • Known consumers are audited and stale mirrors receive sync PRs.
  • Generated Codex skill output is tested to ensure fresh and resumed dispatches close stdin.
  • A durable mechanism identifies the source orchestra revision and flags critical stale mirrors.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions