hooks 포인터를 제거했으므로 Codex가 SessionStart hook을 설치하지 않도록 하려는 의도였습니다. 그러나 hooks 필드가 없으면 Codex는 자동 발견(auto-discovery) 폴백으로 돌아가 hooks/hooks.json(마켓플레이스가 repo 루트에서 제공하는 Claude Code SessionStart hook)을 발견하고 설치 시 신뢰 프롬프트와 함께 다시 등록했습니다. Codex manifest는 이제 명시적인 빈 hooks 객체(hooks: {})를 선언하여 자동 발견 폴백에 도달하는 대신 Codex가 이를 "훅 없음"으로 읽도록 합니다. 없는 필드, [], 빈 인라인 리스트는 모두 폴백으로 축소되므로 값은 정확히 {}여야 합니다.hooks/session-start-codex는 Codex hook 설정이 삭제된 후 호출자가 없었으므로 이 파일과 중복되는 테스트 케이스가 제거되었습니다. docs/porting-to-a-new-harness.md의 작동하는 shell-hook 예제는 Codex(현재는 session-start hook이 없는 네이티브 스킬 발견)에서 Cursor(활성 shell-hook harness)로 이동했으며, docs/windows/polyglot-hooks.md의 오래된 hooks-codex.json 포인터가 수정되었습니다. Codex 플러그인 카테고리도 "Developer Tools"로 수정되었습니다.package-codex-plugin.sh. 유지 관리 스크립트가 결정론적 Codex "portal" 아카이브(기본값은 .zip, 요청 시 tar.gz)를 생성하며, 항목 타임스탬프를 정규화하고, 실행 가능 모드를 유지하며, 패키지된 모든 스킬이 OpenAI 메타데이터를 포함하는지 확인하고, 앱 및 작성기 아이콘을 포함하며, 더티 워킹트리에 대해 실행을 거부합니다. 패키지된 manifest는 소스 hooks: {} 객체를 유지하므로 portal에 설치된 플러그인은 동일한 SessionStart 자동 발견을 피하며, 스크립트는 저장된 메타데이터 소스에서 바이트 단위로 동일한 아카이브를 다시 빌드할 수 있습니다. 새로운 테스트 스위트로 포함됩니다.