You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@magpie.apache.org by po...@apache.org on 2026/09/21 15:58:23 UTC

(magpie) branch main updated: fix(setup): teach the update skill's drift check about the dispatcher hook flavour (#1322)

This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/magpie.git


The following commit(s) were added to refs/heads/main by this push:
     new 43902b00 fix(setup): teach the update skill's drift check about the dispatcher hook flavour (#1322)
43902b00 is described below

commit 43902b0070215b9cfcc83dd126d3b822f0ab8d36
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Mon Sep 21 17:58:17 2026 +0200

    fix(setup): teach the update skill's drift check about the dispatcher hook flavour (#1322)
    
    Check 3 of `setup-isolated-setup-update` knows only one shape for the
    whole-user git hooks: `~/.claude/git-hooks/post-checkout` as a copy of
    `git-global-post-checkout.sh`.  Step P.3 of the install skill offers
    two flavours, and the dispatcher one installs `git-hook-dispatcher.sh`
    and symlinks every hook name to it — explicitly superseding the
    standalone post-checkout script.
    
    On a dispatcher install the check therefore diffs a symlink against a
    script it was never a copy of, and reports drift that is not there.
    Name both flavours, say which source each diffs against, and say that
    the hook-name symlinks are the installed shape rather than drift.
    
    Generated-by: Claude Opus 5
---
 docs/mode-economics.md                                     |  4 ++--
 plugins/magpie-setup/skills/isolated-setup-update/SKILL.md | 13 ++++++++++---
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/docs/mode-economics.md b/docs/mode-economics.md
index c5528716..fe6c2bc3 100644
--- a/docs/mode-economics.md
+++ b/docs/mode-economics.md
@@ -92,7 +92,7 @@ special-token spellings counted as ordinary text.
 Coverage: **75 of 75 local `skills/*/SKILL.md` files**.
 External `source.md` redirects and harness symlinks are excluded.
 
-Measurement manifest SHA-256: `1ae8680e2a68bddd8a2d9ce0a761b055cebac5ea74312ba2a05196b6f3ba3cd9`.
+Measurement manifest SHA-256: `d4084d97d203d0df2895a57eea81b74334fcb357c4ca6db7a8b2918ab579a026`.
 
 | Skill file | Measured tokens | Source SHA-256 (first 16 characters) |
 |---|---:|---|
@@ -161,7 +161,7 @@ Measurement manifest SHA-256: `1ae8680e2a68bddd8a2d9ce0a761b055cebac5ea74312ba2a
 | [setup](../skills/setup/SKILL.md) | 8,724 | `82788542bb240309` |
 | [setup-isolated-setup-doctor](../skills/setup-isolated-setup-doctor/SKILL.md) | 7,950 | `3fa5d728fa080ed0` |
 | [setup-isolated-setup-install](../skills/setup-isolated-setup-install/SKILL.md) | 11,278 | `418ea9794077c6e9` |
-| [setup-isolated-setup-update](../skills/setup-isolated-setup-update/SKILL.md) | 5,111 | `96096e6ac10407d3` |
+| [setup-isolated-setup-update](../skills/setup-isolated-setup-update/SKILL.md) | 5,214 | `97dabfc08b915b4a` |
 | [setup-isolated-setup-verify](../skills/setup-isolated-setup-verify/SKILL.md) | 8,502 | `6f0a2594801bdf27` |
 | [setup-override-upstream](../skills/setup-override-upstream/SKILL.md) | 4,012 | `fb583feb56b7f77c` |
 | [setup-privacy-llm](../skills/setup-privacy-llm/SKILL.md) | 2,145 | `0e27b542a1656846` |
diff --git a/plugins/magpie-setup/skills/isolated-setup-update/SKILL.md b/plugins/magpie-setup/skills/isolated-setup-update/SKILL.md
index efed1abe..ac68f560 100644
--- a/plugins/magpie-setup/skills/isolated-setup-update/SKILL.md
+++ b/plugins/magpie-setup/skills/isolated-setup-update/SKILL.md
@@ -209,9 +209,16 @@ Walk each:
    *only when whole-user scope is in effect, detected via
    `git config --global --get core.hooksPath` resolving to
    `~/.claude/git-hooks`* —
-   `~/.claude/git-hooks/post-checkout` for the universal
-   post-checkout hook), `diff` the user copy against the
-   framework's source-of-truth in `tools/agent-isolation/`.
+   the contents of `~/.claude/git-hooks/`, whose shape depends on
+   the flavour Step P.3 installed: the **simple** flavour puts a
+   copy of `git-global-post-checkout.sh` at `post-checkout`, while
+   the **dispatcher** flavour installs `git-hook-dispatcher.sh`
+   there and symlinks every hook name to it, superseding the
+   standalone post-checkout script — diff whichever script is
+   present against its own source, and read the hook-name symlinks
+   as the installed shape rather than as drift), `diff` the user
+   copy against the framework's source-of-truth in
+   `tools/agent-isolation/`.
    Report any drift as a unified diff; do not re-`cp`. The
    re-install path for each is
    [`setup-isolated-setup-install`](../isolated-setup-install/SKILL.md)