Context
Follow-up from #73. The PR correctly removes the unsupported Codex onInstall hook configuration and is safe to merge, but the pack-install smoke test only stops requiring .codex-plugin/hooks.json; it does not assert that the published tarball is hook-free.
This is a non-blocking regression-test improvement.
Problem
scripts/smoke-codex-pack-install.mjs can still pass if a future packaged artifact reintroduces either:
- a
hooks field in a Codex plugin manifest, or
.codex-plugin/hooks.json
The smoke test should verify both supported installation layouts after packing and installing the tarball.
Acceptance criteria
- Assert the installed package-root
.codex-plugin/plugin.json does not contain hooks.
- Assert the installed package-root
.codex-plugin/hooks.json does not exist.
- Assert the nested
plugins/switchbot/.codex-plugin/plugin.json does not contain hooks.
- Assert the nested
plugins/switchbot/.codex-plugin/hooks.json does not exist.
- Keep the existing source-level regression tests and pack-install smoke test passing.
Related: #73
Context
Follow-up from #73. The PR correctly removes the unsupported Codex
onInstallhook configuration and is safe to merge, but the pack-install smoke test only stops requiring.codex-plugin/hooks.json; it does not assert that the published tarball is hook-free.This is a non-blocking regression-test improvement.
Problem
scripts/smoke-codex-pack-install.mjscan still pass if a future packaged artifact reintroduces either:hooksfield in a Codex plugin manifest, or.codex-plugin/hooks.jsonThe smoke test should verify both supported installation layouts after packing and installing the tarball.
Acceptance criteria
.codex-plugin/plugin.jsondoes not containhooks..codex-plugin/hooks.jsondoes not exist.plugins/switchbot/.codex-plugin/plugin.jsondoes not containhooks.plugins/switchbot/.codex-plugin/hooks.jsondoes not exist.Related: #73