STEP 1 derives clusterPath via trimPrefix+dir; for the global apps/ dir itself this yields ".", and the guard only rejects the empty string. In a repo with global deployments but no clusters (or during bootstrap before the first cluster exists), "." can classify as a leaf cluster and produce a nonsense render target. Needs a repro + a one-line guard (ne $clusterPath ".").
Found during the 2026-08-11 template audit (Claude, with max06).
STEP 1 derives
clusterPathvia trimPrefix+dir; for the globalapps/dir itself this yields".", and the guard only rejects the empty string. In a repo with global deployments but no clusters (or during bootstrap before the first cluster exists),"."can classify as a leaf cluster and produce a nonsense render target. Needs a repro + a one-line guard (ne $clusterPath ".").Found during the 2026-08-11 template audit (Claude, with max06).