feat(B-0620): decompose Slice 3 from PR 4023#4103
Closed
AceHack wants to merge 9 commits into
Closed
Conversation
Reviewer (chatgpt-codex-connector P2) flagged Option B's claim that shopt -s nullglob is portable to zsh. shopt is a bash builtin; zsh uses setopt/unsetopt with NULL_GLOB option. Corrected: - Removed 'portable to zsh too' false claim - Added explicit note: NOT portable to zsh - For zsh, use Option A (compgen — also bash) or Option C (find — fully portable), or substitute setopt -o NULL_GLOB / unsetopt NULL_GLOB Co-Authored-By: Claude <noreply@anthropic.com>
…ity follow-up post PR #4086 merge PR #4086 merged at 14:33:24Z with Option B substrate gap unfixed (thread resolved via mutation alone, substrate not corrected before merge). Authored correction as e254b37 on fresh follow-up branch; peer Otto created parallel branch (otto/b0613-zsh-portability- followup-1443z) with same substance (13f749d) mid-tick. Substrate-discovery lesson: thread-resolve mutations decouple from substrate-fix landings; false claim shipped to main despite reviewer thread marked resolved. Co-Authored-By: Claude <noreply@anthropic.com>
… B-0613 zsh fix follow-up Pure-git tier (378 → 61 GraphQL). Substrate-honest recovery from 1417Z verify-before-fix discipline failure: - Read working-tree state at 1417Z (peer-Otto's not-yet-committed zsh fix was in flight) and conflated with committed state on PR #4086 - FP-resolved a thread that was actually a real bug - Peer-Otto caught it, authored 54ca355 fix locally - This tick: cherry-picked peer's fix onto fresh branch, opened PR #4097 with substrate-honest disclosure Discipline-sharpen learnings: - Verify-before-fix means COMMITTED state (git show <ref>:<path>), not working-tree (sed -n on local file) - Multi-Otto-as-complementary-observer pattern catches errors in both directions PR #4086 + #4091 merged this cycle. PR #4097 open, arm-auto-merge deferred to next tick (rate-limit reset in ~17 min). Co-Authored-By: Claude <noreply@anthropic.com>
…te-limit reset 0 failures + 0 in-progress + BLOCKED suggests unresolved-thread state. GraphQL 4/5000 can't investigate. Reset ~15:00Z (3 min). Co-Authored-By: Claude <noreply@anthropic.com>
…et imminent Co-Authored-By: Claude <noreply@anthropic.com>
Reviewers caught that my prior Option B portability correction (54ca355/13f749d) recommended "use Option A or Option C for zsh" — but Option A (compgen -G) is ALSO a bash builtin, not zsh-valid. Corrected: zsh users should use Option C (find — fully portable) since both Option A and Option B are bash-only. Or substitute the shopt lines with setopt -o NULL_GLOB / unsetopt NULL_GLOB to adapt Option B to zsh directly. Resolves 2 threads (PRRT_kwDOSF9kNM6Cppvx + PRRT_kwDOSF9kNM6Cppwe). Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a new B-0620 decomposition slice for a networking vendor adapter and records several hygiene-history tick shards from 2026-05-17; it also updates the B-0613 backlog row’s Option B zsh-portability note.
Changes:
- Add new backlog row
B-0620.3describing “Slice 3: Networking vendor adapter”. - Update B-0613 backlog row to clarify Option B (
shopt nullglob) is not zsh-portable. - Add multiple
docs/hygiene-history/ticks/2026/05/17/*Z.mdtick shard records related to PR #4097.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/hygiene-history/ticks/2026/05/17/1458Z.md | New tick shard documenting brief-ack #3 status for PR #4097. |
| docs/hygiene-history/ticks/2026/05/17/1457Z.md | New tick shard documenting brief-ack #2 and blocked mergeState investigation plan. |
| docs/hygiene-history/ticks/2026/05/17/1455Z.md | New tick shard documenting brief-ack #1 while PR #4097 checks run. |
| docs/hygiene-history/ticks/2026/05/17/1452Z.md | New tick shard documenting auto-merge arming for PR #4097. |
| docs/hygiene-history/ticks/2026/05/17/1447Z.md | New tick shard documenting discovery and follow-up work for zsh-portability correction. |
| docs/hygiene-history/ticks/2026/05/17/1443Z.md | New tick shard documenting FP-resolve recovery and PR #4097 creation context. |
| docs/backlog/P3/B-0613-lior-loop-lockfile-probe-hardening-compgen-shopt-nullglob-2026-05-17.md | Update to Option B narrative to explicitly call out non-portability to zsh. |
| docs/backlog/P2/B-0620-slice-3-networking-vendor-adapter.md | New backlog slice row describing networking vendor adapter scope and acceptance criteria. |
Comment on lines
+2
to
+6
| id: B-0620.3 | ||
| status: open | ||
| priority: P2 | ||
| created: 2026-05-17 | ||
| type: feature |
Comment on lines
+7
to
+8
| composes_with: | ||
| - B-0620.1 # vendor-adapter interface |
Comment on lines
73
to
77
| ``` | ||
|
|
||
| Explicit nullglob + array — works in any modern bash; portable to zsh too. | ||
| Explicit nullglob + array — works in any modern bash. **NOT portable to zsh**: `shopt` is a bash builtin (zsh uses `setopt`/`unsetopt` instead; zsh has its own `NULL_GLOB` option set via `setopt NULL_GLOB`). For zsh implementations, use **Option C (find — fully portable)** since Option A (`compgen -G`) is also bash-only. Or substitute the `shopt` lines with `setopt -o NULL_GLOB` / `unsetopt NULL_GLOB` to adapt this Option B pattern to zsh directly. | ||
|
|
||
| ### Option C — Inline `find` (fully portable) |
Member
Author
|
Closing this PR. I cannot approve my own PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Peeled off networking vendor adapter from the B-0620 blob PR #4023.