You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This was generated by AI during work-loop execution.
Context
While working #1527 (migrating mktemp -p test-scaffolding call sites to a portable form and
activating that class in scripts/shell-portability-tokens.txt), the issue's own acceptance
criteria required scripts/check-shell-portability.sh --all to exit 0 against the full repo.
Running --all against origin/mainbefore#1527's changes (verified in a separate, throwaway
detached worktree at origin/main HEAD, unrelated to #1527's branch) already exits 1 with 68
pre-existing PORTABILITY: findings — none of them mktemp. Running the identical scan on #1527's
branch produces the byte-for-byte identical finding set (diff of the sorted PORTABILITY: lines
is empty), proving the mktemp -p migration and its newly-active token contribute zero net findings
either way. These 68 are pre-existing corpus debt, orthogonal to #1527's scope.
Breakdown (68 findings, by token)
Token
Count
\<
18
\>
17
\w
8
\S
7
\s
7
\b
7
sed -i (unsuffixed)
2
\W
2
All are the regex-escape family (\b \< \> \s \S \w \W — ACTIVE since #1491/#1511, deliberately
bare/over-flag by design per shell-portability-tokens.txt's own header) plus two sed -i
unsuffixed sites in plugins/context-guard/scripts/context-zone.test.sh and plugins/markdown-format/hooks/markdown-format.test.sh. Every hit is either a portable-but-flagged
non-regex use (printf/glob bracket expressions, PowerShell backslash paths in test fixtures, sed
scripts operating on the gate's own literal test data) or a genuinely GNU-only construct that has
simply never been triaged since #1491 shipped — CI only runs this gate in diff-mode on pull requests
(scripts/check-shell-portability.sh is diff-gated per #1491's PR description), so --all against
the full historical corpus has never actually been exercised end-to-end and reported clean.
Proposed work
For each of the 68 sites: either add a per-site portability-ok: <reason> annotation (the documented
escape for a reviewed false positive) or fix the two genuine sed -i non-portable sites to a
BSD-safe attached-suffix form. Re-run scripts/check-shell-portability.sh --all and confirm exit 0
once triaged.
This was generated by AI during work-loop execution.
Context
While working #1527 (migrating
mktemp -ptest-scaffolding call sites to a portable form andactivating that class in
scripts/shell-portability-tokens.txt), the issue's own acceptancecriteria required
scripts/check-shell-portability.sh --allto exit 0 against the full repo.Running
--allagainstorigin/mainbefore #1527's changes (verified in a separate, throwawaydetached worktree at
origin/mainHEAD, unrelated to #1527's branch) already exits 1 with 68pre-existing
PORTABILITY:findings — none of themmktemp. Running the identical scan on #1527'sbranch produces the byte-for-byte identical finding set (
diffof the sortedPORTABILITY:linesis empty), proving the
mktemp -pmigration and its newly-active token contribute zero net findingseither way. These 68 are pre-existing corpus debt, orthogonal to #1527's scope.
Breakdown (68 findings, by token)
\<\>\w\S\s\bsed -i(unsuffixed)\WAll are the regex-escape family (
\b \< \> \s \S \w \W— ACTIVE since #1491/#1511, deliberatelybare/over-flag by design per
shell-portability-tokens.txt's own header) plus twosed -iunsuffixed sites in
plugins/context-guard/scripts/context-zone.test.shandplugins/markdown-format/hooks/markdown-format.test.sh. Every hit is either a portable-but-flaggednon-regex use (
printf/glob bracket expressions, PowerShell backslash paths in test fixtures,sedscripts operating on the gate's own literal test data) or a genuinely GNU-only construct that has
simply never been triaged since #1491 shipped — CI only runs this gate in diff-mode on pull requests
(
scripts/check-shell-portability.shis diff-gated per #1491's PR description), so--allagainstthe full historical corpus has never actually been exercised end-to-end and reported clean.
Proposed work
For each of the 68 sites: either add a per-site
portability-ok: <reason>annotation (the documentedescape for a reviewed false positive) or fix the two genuine
sed -inon-portable sites to aBSD-safe attached-suffix form. Re-run
scripts/check-shell-portability.sh --alland confirm exit 0once triaged.
References
mktemp -pscope; did not expandto cover it (orthogonal, ~68-site triage effort, not a mechanical one-line fix).
design.
residual un-triaged CORPUS state.