You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@magpie.apache.org by "potiuk (via GitHub)" <gi...@apache.org> on 2026/10/15 22:41:56 UTC

[I] setup-preflight: the version floor is never checked on Codex, Gemini CLI or Copilot CLI [magpie]

potiuk opened a new issue, #1641:
URL: https://github.com/apache/magpie/issues/1641

   ### What's broken
   
   On any harness other than Claude Code, the pre-flight never reports an install below the project's floor. A Codex, Gemini CLI or Copilot CLI user on an outdated Magpie gets no warning and runs skills against a version the project did not choose.
   
   ### Which layer
   
   `plugins/magpie-setup/skills/setup/setup_preflight/cli.py` (`read_installed`) and `core.py` (`_floor_findings`); the rules in `setup_preflight/sections/step-3.md`.
   
   ### How to reproduce
   
   1. A repository whose `.apache-magpie.lock` has `method: marketplace`, `url: apache/magpie`, `min_version: 0.3.0` and `plugins: [magpie-setup, magpie-agent-guard]`.
   2. Run any skill from Gemini CLI (no `claude` on `PATH`) with Magpie 0.2.0 installed.
   3. The pre-flight returns no `below-floor` finding. The only finding is the unrelated `sweep-never-run`.
   
   The eval case `setup/preflight-floor/case-5-no-claude-cli` records exactly this. It now expects the run to continue, because that is what the checker does.
   
   ### Expected vs actual
   
   **Expected:** the floor check reads the installed version on the harness that is running and reports `below-floor` (or a missing plugin) on every harness, as `step-3.md` describes. On a harness with no install CLI it prints the commands instead.
   
   **Actual:** `read_installed` only ever runs `claude plugin list --json`. On any other harness that command is missing, the result collapses to *unknown*, and `_floor_findings` treats unknown as "say nothing". `install.md` already names each harness's listing command (`codex plugin list`, `gemini extensions list`), but the pre-flight never uses them.
   
   ### Surface area
   
   Every skill on Codex, Gemini CLI and Copilot CLI: the pre-flight block is shared, so the floor is unenforced for all of them.
   
   ### Environment
   
   Framework at `main` (`18071993e`). Found while repairing the `preflight-floor` eval suite.
   
   ### Suggested direction
   
   - Detect the running harness, and read its installed versions with its own listing command (`codex plugin list`, `gemini extensions list`, the Copilot equivalent). Parse each into the same `{name: version}` map.
   - Keep *unknown* for a listing that genuinely cannot be read, such as a sandbox denying the plugin cache. A missing `claude` binary on another harness is not unknown: that harness has its own answer.
   - Add `preflight-floor` cases for a below-floor Codex and Gemini install.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@magpie.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org