mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-05 00:03:15 +01:00
The publication guard compared snapshot init's JSON against the literal argv spelling, but init reports canonical destinations, so a plan under macOS /tmp or /var (realpath /private/...) always denied init_mismatch. The guard also hard-failed on the first errored init, so a corrected re-run never bound. - bin/gstack-autoplan-snapshot.ts: export canonicalDestination (the inner destination() path math); initializePlan output is unchanged. - autoplan/bin/phase-publication-hook.ts: compare activePlan/restorePath against the canonicalized argv; a mistyped tool path is unbindable, not a crash; skip errored inits and deny init_failed only when the most recent init errored; Write/Edit to the active plan match by canonical path. - autoplan/bin/guard-reasons.ts: init_mismatch never says re-run; init_failed does. - tests: PAX-3638 Fix A/A2/B/C cases (bun test -t "Fix B" runs one fix); the three autoplan-init assertions that failed on macOS now compare canonical paths. 9 of the 11 new guard cases fail against the previous hook. - docs: init_mismatch, init_failed, Symlinked plan directories. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>