- Add set -o pipefail for proper build error detection - Replace PIPESTATUS with $? (works correctly with pipefail) - Fix Python indentation in inline scripts (avoids YAML linter false positives) - Remove MergeTitle from Gitea merge API call (uses default) - Add docs/ci-cd-setup.md with Mac runner and secrets setup guide