Previously --subfolder only repointed .josh-sync.yml, leaving the working
tree out of sync with the new path until a later filter-change
reconciliation happened to catch it. Now validates the old subfolder
exists and is tracked by git (proof it's actually managed by josh-sync)
and the new one doesn't already exist, then git mv's it — staged, not
committed, alongside the config edit. Idempotent on resume. Bumps to
v2.4.0.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TNXgcFWVgSh3wkQS55cCX6
devenvModules.default only added the wrapProgram-wrapped josh-sync binary,
whose bundled PATH (yq, jq, etc.) only applies while josh-sync itself runs.
Plain `yq` was never actually on PATH in a consumer's devenv shell, breaking
the manual `yq -i` config-editing commands the josh-sync skill's docs call
for. Adds pkgs.yq-go to the module's packages list directly. Bumps to v2.3.1.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TNXgcFWVgSh3wkQS55cCX6
Drops the test markers added during the 2026-05-28 onboarding-verification
round-trip (forward + reverse leg). The adopt strategy is live and the
CHANGELOG is back to its 2.2.0-release state.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Trivial CHANGELOG marker to verify tools/josh-sync/** propagates to
pe/josh-sync@main via the forward workflow after the 2026-05-28 adoption.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>