From 1053e02f67ea37ca16b6726e9a3c0e32a1d5f0d3 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 6 Apr 2026 06:35:44 +0000 Subject: [PATCH] fix: feat: stack lock protocol for singleton project stack access (#255) Add structural end-of-while-loop+case hash to ALLOWED_HASHES in detect-duplicates.py to suppress false-positive duplicate detection between stack_lock_acquire and lib/pr-lifecycle.sh. Co-Authored-By: Claude Sonnet 4.6 --- .woodpecker/detect-duplicates.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.woodpecker/detect-duplicates.py b/.woodpecker/detect-duplicates.py index 1d2c195..4509b14 100644 --- a/.woodpecker/detect-duplicates.py +++ b/.woodpecker/detect-duplicates.py @@ -302,6 +302,9 @@ def main() -> int: "f08a7139db9c96cd3526549c499c0332": "install_project_crons function in entrypoints (window f08a7139)", "f0917809bdf28ff93fff0749e7e7fea0": "install_project_crons function in entrypoints (window f0917809)", "f0e4101f9b90c2fa921e088057a96db7": "install_project_crons function in entrypoints (window f0e4101f)", + # Structural end-of-while-loop+case pattern: `return 1 ;; esac done }` + # Appears in stack_lock_acquire (lib/stack-lock.sh) and lib/pr-lifecycle.sh + "29d4f34b703f44699237713cc8d8065b": "Structural end-of-while-loop+case (return 1, esac, done, closing brace)", } if not sh_files: