Surface CI auxiliary command failures #653

Merged
barrettruth merged 1 commit from fix/640-aux-ci-command-failures into main 2026-05-06 22:04:58 +00:00
Owner

Closes #640

Summary

  • Shows failed steps_cmd metadata fetches in the log buffer while preserving the successfully fetched log output.
  • Shows failed status_cmd refresh checks in the current log/summary buffer.
  • Stops auto-refresh after a status check command failure so stale buffers do not keep refreshing silently.
  • Keeps secondary output as an unlabeled follow-up line when both streams contain useful detail.

Messaging

Before After
build / Setup / hello with no indication that steps metadata failed same log lines plus failed to fetch CI steps: authentication failed and next line request id abc123
summary stayed ✓ lint (ID 123) and refreshed again after status failure summary keeps ✓ lint (ID 123), appends failed to check CI status: authentication failed and next line request id abc123, and stops refreshing

The wording keeps the stack rule: context plus detail, no raw command disclosure, no (exit 1), and no stdout/stderr label syntax.

Repro

  • Before: system nvim with vim.pack + lz.n showed STEPS_LINES=build | Setup | hello; after a failed status check it still showed STATUS_AFTER=✓ lint (ID 123) and SUMMARY_CALLS=2.
  • After: same repro shows STEPS_LINES=build | Setup | hello | failed to fetch CI steps: authentication failed | request id abc123; STATUS_AFTER=✓ lint (ID 123) | failed to check CI status: authentication failed | request id abc123; SUMMARY_CALLS=1.

Verification

  • just test spec/log_spec.lua
  • nix develop .#ci --command just ci
Closes #640 ## Summary - Shows failed `steps_cmd` metadata fetches in the log buffer while preserving the successfully fetched log output. - Shows failed `status_cmd` refresh checks in the current log/summary buffer. - Stops auto-refresh after a status check command failure so stale buffers do not keep refreshing silently. - Keeps secondary output as an unlabeled follow-up line when both streams contain useful detail. ## Messaging | Before | After | |---|---| | `build` / ` Setup` / ` hello` with no indication that steps metadata failed | same log lines plus `failed to fetch CI steps: authentication failed` and next line `request id abc123` | | summary stayed `✓ lint (ID 123)` and refreshed again after status failure | summary keeps `✓ lint (ID 123)`, appends `failed to check CI status: authentication failed` and next line `request id abc123`, and stops refreshing | The wording keeps the stack rule: context plus detail, no raw command disclosure, no `(exit 1)`, and no `stdout`/`stderr` label syntax. ## Repro - Before: system nvim with vim.pack + lz.n showed `STEPS_LINES=build | Setup | hello`; after a failed status check it still showed `STATUS_AFTER=✓ lint (ID 123)` and `SUMMARY_CALLS=2`. - After: same repro shows `STEPS_LINES=build | Setup | hello | failed to fetch CI steps: authentication failed | request id abc123`; `STATUS_AFTER=✓ lint (ID 123) | failed to check CI status: authentication failed | request id abc123`; `SUMMARY_CALLS=1`. ## Verification - `just test spec/log_spec.lua` - `nix develop .#ci --command just ci`
Surface CI auxiliary command failures
All checks were successful
quality / Test (pull_request) Successful in 13s
quality / Format (pull_request) Successful in 15s
quality / Lint (pull_request) Successful in 16s
ba88c10835
barrettruth deleted branch fix/640-aux-ci-command-failures 2026-05-06 22:04:58 +00:00
Sign in to join this conversation.
No description provided.