Repository navigation
Conversation
Recognize Codex Bash command lists that provably read installed skill files while preserving shared shell classification and avoiding false credit when failure evidence is missing.
Testing: The PR description satisfies the testing requirement: it records a successful build followed by representative built-CLI hook verification, including a negative case. I did not run, build, or install anything from the PR. |
Earlier findings: Both previously reported exact cases are fixed; the variants above remain. Testing: The PR description satisfies the requirement with a successful build followed by representative built-CLI hook verification, including a negative case. I only read the diff; I did not run, build, or install anything from the PR. |
|
No new findings I’m confident are real in the current diff. Earlier findings: Resolved. Unattributed reader failures are rejected even when a later command masks the failure; repeated separators and escaped-newline empty commands are also rejected. Testing: The PR description satisfies the requirement: it records a successful build and representative built-CLI E2E verification, covering successful, failed, and malformed reads. Full-suite failures are disclosed. I only read the specified diff; I did not run, build, or install anything from the PR. |
|
Thanks for finding this. The gap is real. Closing it as superseded by #1262, which fixes the same gap for every tool. Both commits in #1262 credit you as co-author ( Why a separate PR instead of changes here:
The new PR replays real Codex payloads through the built CLI and has a test table over |
Summary
Codex can load a Skill by reading its
SKILL.mdthrough the Bash tool, but common compound shell commands were not being recorded. This change adds a conservative Codex reader for foreground command lists and credits only installed Skills whose reads are provably reached.AI Review Follow-up
truecannot mask a failedcat --invalid-option <SKILL.md>. Exact failed operands are still excluded individually, while unrelated earlier shell errors do not hide a successful read.true; \\\n; cat <SKILL.md>.Type of Change
Test Plan
npm run buildpassesnpx tsc --noEmitpassesnpm run lintpassesnpx vitest run src/__tests__/tool-call.test.ts— 161 passed.npm run test:e2e -- src/__tests__/e2e/codex-compound-skill-use.test.ts— passed with the built CLI. It checks successful reads, explicit and masked reader failures, repeated separators, escaped newlines, and no false event for rejected commands.f8e7d82, before this follow-up: 474 files passed, 7 failed, 1 skipped; 11,272 tests passed, 13 failed, 144 skipped. Twosubmodule-checkout.test.tsfailures reproduce alone becausehook.teamai-post-checkout.commandis absent; the other failures were not individually isolated. The latest follow-up was verified with the full affected unit test file and the real CLI E2E test above.Related Issues
None known.
Notes for Reviewers
;, newline,&&, and||; unsupported shell syntax, dynamic operands, redirects, pipelines, background execution, and state-changing commands are rejected.