From a349177ce65c5dd6cfd2a8ad725a58ae60c3a744 Mon Sep 17 00:00:00 2001 From: M Waleed Kadous Date: Sun, 24 May 2026 22:00:56 -0700 Subject: [PATCH 1/6] chore(porch): bugfix-848 init bugfix --- .../status.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml 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..71f65995 --- /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: investigate +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:00:55.908Z' From 6daaf2430096e497e115c16e470ffc97b73fb96c Mon Sep 17 00:00:00 2001 From: M Waleed Kadous Date: Sun, 24 May 2026 22:02:26 -0700 Subject: [PATCH 2/6] chore(porch): bugfix-848 fix phase-transition --- .../bugfix-848-ci-verify-install-script-still/status.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 index 71f65995..861acc43 100644 --- a/codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml +++ b/codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml @@ -1,7 +1,7 @@ id: bugfix-848 title: ci-verify-install-script-still protocol: bugfix -phase: investigate +phase: fix plan_phases: [] current_plan_phase: null gates: {} @@ -9,4 +9,4 @@ iteration: 1 build_complete: false history: [] started_at: '2026-05-25T05:00:55.907Z' -updated_at: '2026-05-25T05:00:55.908Z' +updated_at: '2026-05-25T05:02:26.388Z' From ca932be297380400d4122308872a5bb5a54b8662 Mon Sep 17 00:00:00 2001 From: M Waleed Kadous Date: Sun, 24 May 2026 22:05:15 -0700 Subject: [PATCH 3/6] chore(porch): bugfix-848 pr phase-transition --- .../bugfix-848-ci-verify-install-script-still/status.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 index 861acc43..538dfb98 100644 --- a/codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml +++ b/codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml @@ -1,7 +1,7 @@ id: bugfix-848 title: ci-verify-install-script-still protocol: bugfix -phase: fix +phase: pr plan_phases: [] current_plan_phase: null gates: {} @@ -9,4 +9,4 @@ iteration: 1 build_complete: false history: [] started_at: '2026-05-25T05:00:55.907Z' -updated_at: '2026-05-25T05:02:26.388Z' +updated_at: '2026-05-25T05:05:15.219Z' From 45a41e5827cc4242765591b5c49eec06b40832f2 Mon Sep 17 00:00:00 2001 From: M Waleed Kadous Date: Sun, 24 May 2026 22:05:48 -0700 Subject: [PATCH 4/6] Fix #848: probe afx (not removed af) in verify-install.mjs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The post-install CI verification script still listed the deprecated `af` bin entry that PR #847 removed from the package's bin map. That made the `Tests` workflow red on `main` immediately after #847 merged (exit code 127 — command not found). Replace `'af'` with `'afx'` so the script verifies the canonical agent-farm entrypoint (which was never actually covered before this). --- codev/state/bugfix-848_thread.md | 19 +++++++++++++++++++ packages/codev/scripts/verify-install.mjs | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 codev/state/bugfix-848_thread.md diff --git a/codev/state/bugfix-848_thread.md b/codev/state/bugfix-848_thread.md new file mode 100644 index 00000000..27c800eb --- /dev/null +++ b/codev/state/bugfix-848_thread.md @@ -0,0 +1,19 @@ +# 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. + +## Next + +Run porch done → 3-way review → PR. 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' }); From 706c71063dcf516d16252efa8e9108d90cf492c9 Mon Sep 17 00:00:00 2001 From: M Waleed Kadous Date: Sun, 24 May 2026 22:08:04 -0700 Subject: [PATCH 5/6] chore(porch): bugfix-848 protocol complete --- .../bugfix-848-ci-verify-install-script-still/status.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 index 538dfb98..5f4f8a66 100644 --- a/codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml +++ b/codev/projects/bugfix-848-ci-verify-install-script-still/status.yaml @@ -1,7 +1,7 @@ id: bugfix-848 title: ci-verify-install-script-still protocol: bugfix -phase: pr +phase: verified plan_phases: [] current_plan_phase: null gates: {} @@ -9,4 +9,4 @@ iteration: 1 build_complete: false history: [] started_at: '2026-05-25T05:00:55.907Z' -updated_at: '2026-05-25T05:05:15.219Z' +updated_at: '2026-05-25T05:08:04.561Z' From 6b03bb95cb3246e3abbbbdb2387729357f8fa61c Mon Sep 17 00:00:00 2001 From: M Waleed Kadous Date: Sun, 24 May 2026 22:08:31 -0700 Subject: [PATCH 6/6] chore(bugfix-848): record CMAP verdicts in thread 3-way CMAP all APPROVE. Flagged out-of-scope: team/generate-image not probed in verify-install.mjs (separate ticket). --- codev/state/bugfix-848_thread.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/codev/state/bugfix-848_thread.md b/codev/state/bugfix-848_thread.md index 27c800eb..b903bc74 100644 --- a/codev/state/bugfix-848_thread.md +++ b/codev/state/bugfix-848_thread.md @@ -14,6 +14,8 @@ Single-line change: `['codev', 'af', 'porch', 'consult']` → `['codev', 'afx', 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. -## Next +## PR -Run porch done → 3-way review → 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.