Skip to content

hygiene(#268): pr-preservation drain-log for #432 (runner-version shell portability)#439

Merged
AceHack merged 1 commit intomainfrom
drain/432-pr-preservation-log
Apr 25, 2026
Merged

hygiene(#268): pr-preservation drain-log for #432 (runner-version shell portability)#439
AceHack merged 1 commit intomainfrom
drain/432-pr-preservation-log

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 25, 2026

Summary

Otto-268 backfill: drain-log for PR #432 (drain follow-up for #360tools/lint/runner-version-freshness.sh shell portability + allow-list scope), covering 7 substantive shell-portability findings including a P0 regression.

Per Otto-250 (PR review comments + responses + resolutions are high-quality training signals).

Coverage — all FIX outcomes

  • P0 regression (Codex P1 + Copilot P0, two reviewers converging): warn unbound under set -u — fixed via explicit warn=0 initialization.
  • P1 path-resolution bug: cd "$REPO_ROOT" before consuming $@ — fixed via absolute-path normalization before chdir.
  • P1 pipefail masking: cmd1 | sed ... || true masking sed failures — fixed via { grep -vE ... || true; } | sed grouping.
  • P1 ERE-metachar escape (two threads, Codex + Copilot): ALLOWED_LABELS / ROLLING_ALIASES missing the escape_for_regex treatment — fixed via uniform escape loop.
  • P1 matrix-entry validation gap: NOT-ON-ALLOW-LIST scan skipping expression-form runs-on: workflows — fixed via line-number-aware (^|^[0-9]+:) exclude prefix.

Pattern observations

  1. Cross-reviewer convergence on the P0 (Codex P1 + Copilot P0 same finding) raises confidence the issue is real, not reviewer noise.
  2. set -euo pipefail interactions with shell quirks are a recurring class — 3 of 7 findings.
  3. ERE-metachar escape uniformity propagates across label arrays.
  4. grep -n line-number prefix breaking ^ anchors in subsequent greps is a reusable pattern worth capturing.

Test plan

  • All 7 thread IDs preserved verbatim with severity + outcome.
  • Smoke-test results captured for path-resolution + matrix-entry findings.
  • Drain-log shape matches existing docs/pr-preservation/*-drain-log.md template.

🤖 Generated with Claude Code

…ll portability)

Otto-268 backfill task: drain-log for PR #432 covering 7 substantive
shell-portability findings — including a P0 regression (`warn` unbound
under `set -u`) caught independently by both Codex and Copilot.

Per Otto-250 training-signal discipline. Pattern observations capture
four load-bearing patterns: cross-reviewer convergence as a quality
signal; `set -euo pipefail` interaction with shell quirks as a
recurring class (3 of 7 findings); ERE-metachar escape uniformity
across label arrays; grep -n line-number prefix breaking `^` anchors
in subsequent greps as a reusable pattern.
@AceHack AceHack enabled auto-merge (squash) April 25, 2026 06:49
Copilot AI review requested due to automatic review settings April 25, 2026 06:49
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a PR-preservation drain log for PR #432, capturing the resolved review threads and outcomes around shell portability fixes in tools/lint/runner-version-freshness.sh.

Changes:

  • Introduces a new drain-log document recording 7 resolved review threads (findings, severities, outcomes, commits).
  • Summarizes recurring shell-portability patterns observed during the drain (e.g., set -u/pipefail interactions, grep -n prefix effects).

Comment thread docs/pr-preservation/432-drain-log.md
@AceHack AceHack merged commit 1477dac into main Apr 25, 2026
17 checks passed
@AceHack AceHack deleted the drain/432-pr-preservation-log branch April 25, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants