# Git Wrapper Rollup — 2026-05-26 ## Objective Consolidate pending Mosaic wrapper fixes after `mosaic update` reported the local framework package was already current (`@mosaicstack/mosaic 0.0.30`) but the installed `~/.config/mosaic/tools` wrappers still lacked the open Gitea/Woodpecker wrapper patches. ## Scope Roll up the open wrapper-related Gitea PR branches into one integration branch: - PR #513: `pr-ci-wait.sh` stdin collision fix. - PR #518: Gitea PR metadata/merge preflight hardening. - PR #521: Gitea merge fallback + unsafe PR-number rejection. - PR #522: Woodpecker credential/pagination fixes and CI Postgres service collision fix. - PR #523: explicit Gitea repo/login args and `eval` removal for PR/issue creation. ## Conflict resolutions - Kept array-based command construction where possible instead of reintroducing `eval`. - Kept explicit `--repo OWNER/REPO --login mosaicstack` Gitea arguments for `tea` calls. - Combined PR merge API fallback behavior from metadata hardening and empty-identity fallback branches. - Preserved numeric PR-number validation for `pr-merge.sh`. ## Verification checklist - `bash -n` on changed shell scripts. - Wrapper smoke checks from a clean worktree. - Gitea PR verification after push. - CI status checked through Gitea/Woodpecker. ## Notes `mosaic update` did not install these fixes because the package registry still reports `@mosaicstack/mosaic 0.0.30` as current. The source patches must merge/release before normal framework update will carry them.