diff --git a/codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml b/codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml new file mode 100644 index 00000000..5f4f8a66 --- /dev/null +++ b/codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml @@ -0,0 +1,12 @@ +id: bugfix-848 +title: ci-verify-install-script-still +protocol: bugfix +phase: verified +plan_phases: [] +current_plan_phase: null +gates: {} +iteration: 1 +build_complete: false +history: [] +started_at: '2026-05-25T05:00:55.907Z' +updated_at: '2026-05-25T05:08:04.561Z' diff --git a/codev/state/bugfix-848_thread.md b/codev/state/bugfix-848_thread.md new file mode 100644 index 00000000..b903bc74 --- /dev/null +++ b/codev/state/bugfix-848_thread.md @@ -0,0 +1,21 @@ +# bugfix-848 thread + +## Investigation + +Issue #848: `verify-install.mjs` still probes the removed `af` bin (CI red since #847 merged), and it has never probed `afx` either. + +- Confirmed root cause: `packages/codev/scripts/verify-install.mjs:35` lists `'af'` but not `'afx'`. +- Confirmed no other references to `'af'` remain under `.github/` or `packages/codev/scripts/` via `grep -rn "'af'"`. +- `packages/codev/package.json` bin map has `afx` (not `af`), so probing `afx` is the right replacement. + +## Fix + +Single-line change: `['codev', 'af', 'porch', 'consult']` → `['codev', 'afx', 'porch', 'consult']`. + +No regression test is added: the script is itself the CI verification test. Changing the list IS the regression guard — the post-install workflow on `main` will fail again immediately if the bin list ever drifts from the bin map. + +## PR + +PR #851 created. 3-way CMAP all APPROVE (gemini, codex, claude), HIGH confidence each. All three flagged the same out-of-scope observation: `verify-install.mjs` still doesn't probe `team` or `generate-image` (also in the bin map). Not addressed here — out of scope per the issue's "Re-adding af as a bin is out of scope" framing, which sets the precedent that the script's allowlist scope changes belong to a separate ticket. + +Protocol complete from the builder side. Awaiting architect merge. diff --git a/packages/codev/scripts/verify-install.mjs b/packages/codev/scripts/verify-install.mjs index 8c3a5ec2..3e8ce74f 100644 --- a/packages/codev/scripts/verify-install.mjs +++ b/packages/codev/scripts/verify-install.mjs @@ -32,7 +32,7 @@ try { console.log(`Installing ${targets.join(', ')} into ${prefix}...`); execSync(`npm install -g --prefix "${prefix}" ${quoted}`, { stdio: 'inherit' }); - const bins = ['codev', 'af', 'porch', 'consult']; + const bins = ['codev', 'afx', 'porch', 'consult']; for (const bin of bins) { try { execSync(`"${join(prefix, 'bin', bin)}" --help`, { stdio: 'pipe' });