Fix silent first Codex audit wait and cancellation #30

Merged
mathieu merged 2 commits from work/issue-29-blocage-apparent-au-premier-audit-de-brave-bin into main 2026-08-31 14:57:19 +00:00
Owner

Closes #29.

Root cause and reproduction

Codex CLI treats a non-TTY stdin as additional prompt input even when a positional prompt is present. The original AURoscope invocation left Codex attached to a stream that could remain open, while the terminal still showed Paru's last download line and no audit progress. A live first audit of the actual brave-bin recipe reproduced the long silent phase: the audit completed after about 45 seconds once stdin was isolated.

What changed

  • explicitly closes Codex stdin for every version check and audit attempt;
  • separates recipe acquisition, Codex audit start/completion, and 15-second heartbeat messages;
  • gives each attempt a fresh private directory, process group, signal forwarding/descendant cleanup, and a five-minute timeout;
  • constrains Codex with a strict output schema while retaining local validation;
  • bounds and terminal-escapes diagnostics;
  • adds regressions for stdin isolation, timeout, Ctrl+C cleanup, and independent retry;
  • bumps the canonical Arch package to 0.1.0.r1.gff9a82a-1, pinned to the fix commit.

Verification

  • live npm Codex 0.150.1 audit of brave-bin completed with visible 15/30/45-second progress;
  • CGO_ENABLED=1 go test ./...;
  • go vet ./...;
  • CGO_ENABLED=1 go test -race ./...;
  • AUROSCOPE_E2E_DISPOSABLE_ARCH=1 scripts/e2e-disposable-arch.sh;
  • AUROSCOPE_E2E_SUPPORTED_PARU=1 scripts/e2e-supported-paru.sh;
  • namcap packaging/aur/PKGBUILD;
  • packaging/aur/scripts/test-package.sh built and installed auroscope 0.1.0.r1.gff9a82a-1;
  • git diff --check.

Review guidance

Focus on process-group shutdown races, bounded diagnostics, structured-output nullable fields, and the package's immutable source/checksum update.

Closes #29. ## Root cause and reproduction Codex CLI treats a non-TTY stdin as additional prompt input even when a positional prompt is present. The original AURoscope invocation left Codex attached to a stream that could remain open, while the terminal still showed Paru's last download line and no audit progress. A live first audit of the actual `brave-bin` recipe reproduced the long silent phase: the audit completed after about 45 seconds once stdin was isolated. ## What changed - explicitly closes Codex stdin for every version check and audit attempt; - separates recipe acquisition, Codex audit start/completion, and 15-second heartbeat messages; - gives each attempt a fresh private directory, process group, signal forwarding/descendant cleanup, and a five-minute timeout; - constrains Codex with a strict output schema while retaining local validation; - bounds and terminal-escapes diagnostics; - adds regressions for stdin isolation, timeout, Ctrl+C cleanup, and independent retry; - bumps the canonical Arch package to `0.1.0.r1.gff9a82a-1`, pinned to the fix commit. ## Verification - live npm Codex `0.150.1` audit of `brave-bin` completed with visible 15/30/45-second progress; - `CGO_ENABLED=1 go test ./...`; - `go vet ./...`; - `CGO_ENABLED=1 go test -race ./...`; - `AUROSCOPE_E2E_DISPOSABLE_ARCH=1 scripts/e2e-disposable-arch.sh`; - `AUROSCOPE_E2E_SUPPORTED_PARU=1 scripts/e2e-supported-paru.sh`; - `namcap packaging/aur/PKGBUILD`; - `packaging/aur/scripts/test-package.sh` built and installed `auroscope 0.1.0.r1.gff9a82a-1`; - `git diff --check`. ## Review guidance Focus on process-group shutdown races, bounded diagnostics, structured-output nullable fields, and the package's immutable source/checksum update.
mathieu deleted branch work/issue-29-blocage-apparent-au-premier-audit-de-brave-bin 2026-08-31 14:57:19 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
2027a/auroscope!30
No description provided.