Repository navigation
Commit 4b47855
`report_objectui_reachability` used the bash 4 builtin `mapfile` to enumerate
the branches that contain an off-main pin. `/usr/bin/env bash` is bash 3.2.57
on macOS, and this script is run BY HAND by an operator — the pin-bump
procedure in docs/releases-maintenance.md has no CI path — so the builtin fails
on the ordinary host, not a fringe one.
It also fails on the one branch that must not fail. `mapfile` is reached only
after the verdict is "NOT on origin/main", so the #10495 branch-reachability
warning is the single thing that shell cannot deliver. Measured on a shell with
the builtin disabled: the run dies at status 127 with `mapfile: command not
found` as its ONLY output, before the pin is written — the operator is handed a
bare builtin error where the warning belongs, and its obvious workaround
(hand-editing .objectui-sha) walks around every guard in the file.
Replaced both sites with the bash-3.2 read loop already idiomatic in
scripts/pm/os-verify-lock.sh, which carries this repo's bash-3.2 floor doctrine.
The `if` rather than a trailing `[[ … ]] &&` is load-bearing under `set -e`.
CI runs bash 5, so neither the defect nor the repair is observable in a normal
CI run. The digest self-test therefore gains R7: a static scan for bash 4+/5
constructs, a vacuity check that the simulation really removes the builtin, and
a real re-run of the R2 reachability case under `enable -n mapfile readarray`.
Ablation: restoring `mapfile` turns R7, R7b and R7c red (127); restore verified
byte-identical.
Claude-Session: https://claude.ai/code/session_01UjM2ia8Av1v5NqfqQEQmC6
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 6dd3e69 commit 4b47855
2 files changed
Lines changed: 119 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
320 | 320 | | |
321 | 321 | | |
322 | 322 | | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
323 | 344 | | |
324 | | - | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
325 | 349 | | |
326 | 350 | | |
327 | | - | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
328 | 354 | | |
329 | 355 | | |
330 | 356 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2505 | 2505 | | |
2506 | 2506 | | |
2507 | 2507 | | |
2508 | | - | |
| 2508 | + | |
| 2509 | + | |
| 2510 | + | |
2509 | 2511 | | |
2510 | 2512 | | |
2511 | 2513 | | |
2512 | 2514 | | |
2513 | 2515 | | |
2514 | 2516 | | |
2515 | 2517 | | |
| 2518 | + | |
2516 | 2519 | | |
2517 | 2520 | | |
2518 | 2521 | | |
| |||
2720 | 2723 | | |
2721 | 2724 | | |
2722 | 2725 | | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
| 2730 | + | |
| 2731 | + | |
| 2732 | + | |
| 2733 | + | |
| 2734 | + | |
| 2735 | + | |
| 2736 | + | |
| 2737 | + | |
| 2738 | + | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
| 2744 | + | |
| 2745 | + | |
| 2746 | + | |
| 2747 | + | |
| 2748 | + | |
| 2749 | + | |
| 2750 | + | |
| 2751 | + | |
| 2752 | + | |
| 2753 | + | |
| 2754 | + | |
| 2755 | + | |
| 2756 | + | |
| 2757 | + | |
| 2758 | + | |
| 2759 | + | |
| 2760 | + | |
| 2761 | + | |
| 2762 | + | |
| 2763 | + | |
| 2764 | + | |
| 2765 | + | |
| 2766 | + | |
| 2767 | + | |
| 2768 | + | |
| 2769 | + | |
| 2770 | + | |
| 2771 | + | |
| 2772 | + | |
| 2773 | + | |
| 2774 | + | |
| 2775 | + | |
| 2776 | + | |
| 2777 | + | |
| 2778 | + | |
| 2779 | + | |
| 2780 | + | |
| 2781 | + | |
| 2782 | + | |
| 2783 | + | |
| 2784 | + | |
| 2785 | + | |
| 2786 | + | |
| 2787 | + | |
| 2788 | + | |
| 2789 | + | |
| 2790 | + | |
| 2791 | + | |
| 2792 | + | |
| 2793 | + | |
| 2794 | + | |
| 2795 | + | |
| 2796 | + | |
| 2797 | + | |
| 2798 | + | |
| 2799 | + | |
| 2800 | + | |
| 2801 | + | |
| 2802 | + | |
| 2803 | + | |
| 2804 | + | |
| 2805 | + | |
| 2806 | + | |
| 2807 | + | |
| 2808 | + | |
| 2809 | + | |
| 2810 | + | |
| 2811 | + | |
| 2812 | + | |
2723 | 2813 | | |
2724 | 2814 | | |
2725 | 2815 | | |
| |||
0 commit comments