fix(hygiene): classify dash shebangs in shell inventory#5660
Merged
AceHack merged 3 commits intoMay 28, 2026
Conversation
…g guard Surface: codex-background-service Origin: codex-launchd-loop Run-Id: 20260528T000308Z Co-Authored-By: Codex <noreply@openai.com> Codex-Origin: codex-launchd-loop Codex-Surface: codex-background-service Codex-Loop-Run-Id: 20260528T000308Z
Extend the bash-retirement inventory guard so extensionless /bin/dash entrypoints are treated as shell-family files, matching the existing bash/sh/zsh/ksh behavior. Focused checks: - bun test tools/hygiene/check-bash-retirement-inventory.test.ts - bun tools/hygiene/check-bash-retirement-inventory.ts --enforce - git diff --check Co-Authored-By: Codex <noreply@openai.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Updates the bash-retirement hygiene guard to treat extensionless scripts with a dash shebang as part of the tracked “shell-family” inventory, ensuring these entrypoints are caught by the drift detector.
Changes:
- Extend the shell-family shebang classifier to match
dash(#!/bin/dash,#!/usr/bin/env dash, etc.). - Add a focused
#!/bin/dashextensionless fixture to the inventory enumeration test. - Add a live claim file under
docs/claims/(this should not ship tomainper the claim protocol).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tools/hygiene/check-bash-retirement-inventory.ts | Recognize dash in shebang-based shell-family detection for extensionless scripts. |
| tools/hygiene/check-bash-retirement-inventory.test.ts | Add extensionless-dash fixture and assert it appears in the tracked shell-family list. |
| docs/claims/codex-loop-bash-retirement-dash-shebang-20260528.md | Adds a live claim record (protocol expects this to be deleted before merge). |
8 tasks
Delete the live docs/claims record from the PR so the claim protocol substrate does not merge to main with the implementation. Focused checks: - bun test tools/hygiene/check-bash-retirement-inventory.test.ts - bun tools/hygiene/check-bash-retirement-inventory.ts --enforce - git diff --check Co-Authored-By: Codex <noreply@openai.com>
3 tasks
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.
Summary
dashshebang scripts as shell-family inventory entries#!/bin/dashfixture to the bash-retirement inventory testChecks
bun test tools/hygiene/check-bash-retirement-inventory.test.tsbun tools/hygiene/check-bash-retirement-inventory.ts --enforcegit diff --check