Skip to content

docs(setup): keep the old checker until the new copy works - #1747

Open
eldhothomas1 wants to merge 1 commit into
apache:mainfrom
eldhothomas1:fix/1734-preflight-safe-refresh
Open

eldhothomas1 wants to merge 1 commit into
apache:mainfrom
eldhothomas1:fix/1734-preflight-safe-refresh

Conversation

@eldhothomas1

Copy link
Copy Markdown

Summary

Type of change

  • Skill change (.claude/skills/<name>/) — eval fixtures updated below
  • Tool / bridge contract (tools/<system>/*.md)
  • Python package (tools/*/ with pyproject.toml)
  • Groovy reference impl
  • Cross-cutting (RFC, AGENTS.md, sandbox, privacy-LLM)
  • Documentation (docs/, README.md, CONTRIBUTING.md)
  • Project template (projects/_template/)
  • CI / dev loop (prek, workflows, validators)
  • Other:

Test plan

  • prek run --all-files passes
  • For Python packages touched: uv run pytest / ruff check / mypy passes
  • For Groovy bridges touched: command-line invocation tested end-to-end
  • For skill changes: eval suite passes for the affected skill
    (PYTHONPATH=tools/skill-evals/src python3 -m skill_evals.runner tools/skill-evals/evals/<skill>/)
  • For skill behaviour changes: a new or updated eval fixture is included in this PR
    (a regression test for the bug fixed / the behaviour added — see CONTRIBUTING.md)
  • Other:

RFC-AI-0004 compliance

  • HITL — any new mutation is gated on explicit user confirmation
  • Sandbox — no new unrestricted host access; network reach declared in the adapter
  • Vendor neutrality — placeholders (<PROJECT>, <tracker>, <upstream>, <security-list>) used in all skill / tool prose (the check-placeholders prek hook is the mechanical gate)
  • Conversational + correctable — agentic-override path documented if behaviour is adopter-tunable
  • Write-access discipline — no autonomous outbound messages; drafts only, sent on confirmation
  • Privacy LLM — private content does not reach a non-approved LLM; redactor invoked where needed

Linked issues

Notes for reviewers (optional)

@github-actions github-actions Bot added family:setup setup-* skills capability:platform Framework / agent substrate skills (install, verify, doctor, override, status, setup bootstrap) labels Oct 22, 2026

@potiuk potiuk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checking the new copy before it replaces the old one is a good guard, and the rollback on a failed mv is right; the copy step and the check need a little more so the refresh works on a sandboxed marketplace install. Separately, the PR description is the untouched template: please fill in the ## Summary (what changed and why, with the issue it fixes) and ## Test plan, as CONTRIBUTING.md asks, and note that CI has not run yet because the workflows are waiting for a maintainer's approval.

Smaller observations

  • See inline comments on plugins/magpie-setup/skills/setup/upgrade.md:430, plugins/magpie-setup/skills/setup/upgrade.md:431, plugins/magpie-setup/skills/setup/upgrade.md:420.

This review was drafted by an AI-assisted tool and
confirmed by an Apache Magpie maintainer. The findings
below are observations, not blockers; an Apache Magpie
maintainer — a real person — will take the next look at the
PR. If you think a finding is mis-applied, please reply on
the PR and a maintainer will weigh in.

More on how Apache Magpie handles maintainer review:
Contributing guide.


if [ -e "$target" ] || [ -L "$target" ]; then
temp="$(mktemp -d "$personal_dir/.preflight.XXXXXX")" || exit 1
cp -RL "$source_dir" "$temp/setup_preflight" &&

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On a marketplace install source_dir is under ~/.claude/plugins/cache/, which config.md Step 2a notes is read-denied to a sandboxed shell. This cp -RL then fails and the refresh never happens on exactly the setup it is for. Please say how the copy is made there (the file tool, or a command for the user).

if [ -e "$target" ] || [ -L "$target" ]; then
temp="$(mktemp -d "$personal_dir/.preflight.XXXXXX")" || exit 1
cp -RL "$source_dir" "$temp/setup_preflight" &&
PYTHONPATH="$temp" python3 -c 'import setup_preflight.cli' ||

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please run the same check config does, without the cwd on sys.path: PYTHONPATH="$temp" python3 -P -m setup_preflight --skill magpie-setup --no-welcome. -c puts the working directory ahead of $temp, and an import alone does not prove the checker runs.

layer that points nowhere.
Copy from the skill's directory, or follow the link with `cp -RL`.
For marketplace installs, the source is
`<plugin-cache>/magpie-setup/<version>/skills/setup/setup_preflight`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<plugin-cache>, <installed-skill-dir> and <personal_dir from …> are not used anywhere else; AGENTS.md asks not to invent placeholders. The section already names both directories in prose, so the snippet can refer to those.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capability:platform Framework / agent substrate skills (install, verify, doctor, override, status, setup bootstrap) family:setup setup-* skills

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants