Skip to content

feat(overlay): --check reports drift without writing - #10

Merged
itsvedantkumar merged 7 commits into
mainfrom
feat/overlay-check
Sep 2, 2026
Merged

feat(overlay): --check reports drift without writing#10
itsvedantkumar merged 7 commits into
mainfrom
feat/overlay-check

Conversation

@itsvedantkumar

Copy link
Copy Markdown
Owner

Overlaid repos never learn the template moved. overlay.sh --check compares the destination against the payload and prints stale / missing / differs (repo-owned) per file, exits 1 on stale or missing, writes nothing.

Verified in a scratch repo (0/0/0 then 1 stale + 1 missing after edits, dest git status unchanged) and against oslo (2 repo-owned diffs, exit 0). shellcheck clean. Inventory re-point follows in the merge.

vstack overlay <repo> copies claude/ into a repo's .claude/ once; nothing
reports when that repo drifts behind the template afterward. overlay.sh
--check (also `vstack overlay --check <repo>`) diffs the destination
against every unconditionally-copied file, the two seed_tmpl targets, and
the .conductor/settings.toml pin, writes nothing, and exits 1 if anything
is stale or missing.
--check's file list diverged from the write path: it never looked at
CLAUDE.md/.claude/verify.sh (both seed-once, written by their own
[ -f ] || cp branches rather than seed_tmpl) or the legacy
.claude/CLAUDE.md deletion overlay performs on migrate. A repo missing
either seeded file, or still carrying the pre-migration CLAUDE.md,
reported clean. Add both check_seeded calls and a legacy-file check that
counts toward the same stale/exit-1 gate.
@itsvedantkumar
itsvedantkumar merged commit 05a717b into main Sep 2, 2026
15 checks passed
@itsvedantkumar
itsvedantkumar deleted the feat/overlay-check branch September 2, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant