Found during #1787 (fixed for context-guard in PR #1844): plugins/rate-limit-guard/scripts/statusline-shim.sh carries a byte-for-byte identical resolve_tee() to the pre-fix context-guard shim, so an uninstalled rate-limit-guard keeps teeing through superseded version dirs for the same ~14-day orphan window.
The two shims are deliberately NOT a registered byte-identical cluster in scripts/cross-plugin-source-registry.txt, so no drift gate will ever surface this — this issue is the only thing keeping it visible.
Remedy shape: port PR #1844's fix (the supported .orphaned_at marker check, plus the shell-syntax provenance test for sh -c peeling if that shim shares rule 2), with the same split-run regression proof. Consider whether the two shims should become a registered cluster or deliberately diverge — record whichever is chosen.
Found during #1787 (fixed for context-guard in PR #1844):
plugins/rate-limit-guard/scripts/statusline-shim.shcarries a byte-for-byte identicalresolve_tee()to the pre-fix context-guard shim, so an uninstalled rate-limit-guard keeps teeing through superseded version dirs for the same ~14-day orphan window.The two shims are deliberately NOT a registered byte-identical cluster in
scripts/cross-plugin-source-registry.txt, so no drift gate will ever surface this — this issue is the only thing keeping it visible.Remedy shape: port PR #1844's fix (the supported
.orphaned_atmarker check, plus the shell-syntax provenance test forsh -cpeeling if that shim shares rule 2), with the same split-run regression proof. Consider whether the two shims should become a registered cluster or deliberately diverge — record whichever is chosen.