diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-30 21:41:06 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-30 21:41:06 -0500 |
| commit | 9a1bea9bfc066312bf9743dc23c88f191a36cc16 (patch) | |
| tree | 1916eb07c27e83b3f82bc5743587517061acd899 /scripts/audit.sh | |
| parent | 1f79945dd4ab386a9ea4ac58fb2161c174a26bba (diff) | |
| download | rulesets-9a1bea9bfc066312bf9743dc23c88f191a36cc16.tar.gz rulesets-9a1bea9bfc066312bf9743dc23c88f191a36cc16.zip | |
fix(startup): skip the .ai/ template sync when rulesets has uncommitted WIP
From jr-estate's handoff: Phase A's =rsync -a --delete= copies the rulesets working tree by disk presence, so a downstream session that starts while rulesets has in-flight WIP pulls that WIP into its own =.ai/workflows/= and =.ai/scripts/=, where it reads as drift the user never authored. I guarded the three rsyncs behind a =git status --porcelain= check on the synced source paths (=claude-templates/.ai/{protocols.org,workflows/,scripts/}=). It syncs when those are clean and skips with a message when dirty, catching up on the next clean session. The check is scoped to those paths, so unrelated rulesets dirt (a stray session-context.org, scratch files) doesn't block the sync.
The handoff's secondary anomaly (two workflow files that didn't reach jr-estate) was a timeline artifact, not a Phase A bug. Both were added in 664bf01 on 2026-05-29, after jr-estate's rsync had already run, so they correctly didn't exist to copy yet.
Diffstat (limited to 'scripts/audit.sh')
0 files changed, 0 insertions, 0 deletions
