From cfd11d1356fdb32044f3baa0e44a1ba359bcfbbb Mon Sep 17 00:00:00 2001 From: Sam & Claude Date: Mon, 15 Jun 2026 17:35:46 +0200 Subject: [PATCH] fix(build): porcelain for the per-repo source manifest too (Sam & Claude) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Completes the porcelain alignment: seed_live_ai_source_repo() still computed .clawdie-source.json's modified_at_build with `git diff` (tracked-only), so for the same repo it could disagree with build-manifest.json (now porcelain) on untracked files. Switched it to `git status --porcelain` as well — all four manifest/gate "modified" checks now share one semantics. Checks: sh -n build.sh; sh scripts/test-release-gate.sh PASS; git diff --check. Co-Authored-By: Claude Opus 4.8 --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index a0b8cbe8..66213a50 100755 --- a/build.sh +++ b/build.sh @@ -1160,7 +1160,7 @@ seed_live_ai_source_repo() { printf '%s\n' '.clawdie-source.json' >> "${_repo_dest}/.git/info/exclude" _repo_modified=false - if ! git -C "${_repo_src}" diff --quiet 2>/dev/null || ! git -C "${_repo_src}" diff --cached --quiet 2>/dev/null; then + if [ -n "$(git -C "${_repo_src}" status --porcelain 2>/dev/null)" ]; then _repo_modified=true fi