Guard picker row build failures #651

Merged
barrettruth merged 1 commit from fix/644-picker-row-build-errors into main 2026-05-06 21:47:41 +00:00
Owner

Closes #644

Summary

  • Adds a protected picker row-build path for post-decode exceptions.
  • Applies it to shared entity pickers plus CI and structured checks flows.
  • Converts row-builder exceptions into bounded picker error rows and debug/error log messages.

Messaging

Before After
SCHEDULED_ERROR=[string ":lua"]:1: row builder exploded; ERROR_ROWS=0 Failed to build PRs: row builder exploded; ERROR_ROWS=1

The wording follows the stack decision: context plus detail, no raw command disclosure, and no stdout/stderr label syntax in user-facing picker rows. Post-decode row-build failures now use build phrasing, for example Failed to build issues: row builder exploded, Failed to build checks for #42: row builder exploded, and Failed to build releases: row builder exploded.

Repro

  • Before: system nvim with vim.pack + lz.n decoded valid JSON, then row building threw a scheduled Lua error and emitted no picker error row.
  • After: same system nvim/vim.pack/lz.n repro returns the bounded picker error row.

Verification

  • just test spec/picker_session_spec.lua
  • just test spec/pickers_spec.lua
  • nix develop .#ci --command just ci
Closes #644 ## Summary - Adds a protected picker row-build path for post-decode exceptions. - Applies it to shared entity pickers plus CI and structured checks flows. - Converts row-builder exceptions into bounded picker error rows and debug/error log messages. ## Messaging | Before | After | |---|---| | `SCHEDULED_ERROR=[string ":lua"]:1: row builder exploded`; `ERROR_ROWS=0` | `Failed to build PRs: row builder exploded`; `ERROR_ROWS=1` | The wording follows the stack decision: context plus detail, no raw command disclosure, and no `stdout`/`stderr` label syntax in user-facing picker rows. Post-decode row-build failures now use build phrasing, for example `Failed to build issues: row builder exploded`, `Failed to build checks for #42: row builder exploded`, and `Failed to build releases: row builder exploded`. ## Repro - Before: system nvim with vim.pack + lz.n decoded valid JSON, then row building threw a scheduled Lua error and emitted no picker error row. - After: same system nvim/vim.pack/lz.n repro returns the bounded picker error row. ## Verification - `just test spec/picker_session_spec.lua` - `just test spec/pickers_spec.lua` - `nix develop .#ci --command just ci`
Guard picker row building failures
All checks were successful
quality / Test (pull_request) Successful in 25s
quality / Format (pull_request) Successful in 27s
quality / Lint (pull_request) Successful in 34s
8c960e23e9
barrettruth deleted branch fix/644-picker-row-build-errors 2026-05-06 21:47:42 +00:00
Sign in to join this conversation.
No description provided.