Plugin caches ship shared docs as relative symlinks pointing outside the
skill dir; a verbatim copy dangles in the codex tree and GNU diff reports
the broken pair as perpetual --check drift on Linux.
Codex skill frontmatter does not support allowed-tools, which previously
required maintaining a full codex-overrides copy of upstream skills just to
drop that line. Copies now stage through a transform that strips it, and
--check diffs the staged result so copy and check can never disagree.
Drop the canton-nodes override: its only delta was the allowed-tools line,
now handled by the transform, and it duplicated internal infra reference
data into this public repo.
Upstream user/plugin sync copied skills that a codex-overrides entry later
replaced, so --check compared the override-shadowed destination against the
upstream source and reported perpetual false drift. Override-owned skills are
now skipped upstream; sync_codex_override_skills copies, checks, and marks
them itself.
Normal sync uses last-writer-wins when multiple plugins export the same
skill name, but --check compared each source against the same Codex
destination and reported false drift on the earlier provider.
Collect plugin skill candidates first and only copy/check the final winning
source for each skill name so check mode matches sync mode.
Prevent sync automation from failing in default macOS environments and from deleting skills through the legacy wrapper path.
- replace Bash 4 associative arrays with Bash 3.2-compatible tracking in sync-codex.sh
- make sync-skills-to-codex.sh opt out of pruning to keep wrapper behavior non-destructive