ci/woodpecker/pr/ci Pipeline was successful
T51P2WP5AR B1-B3 + I1 on the default-base fallback: B1: test-pr-create-fallback-default-base.sh is now enumerated on the canonical S1 surface (packages/mosaic package.json test:framework-shell, git-tools cluster). Enumeration guard: population 67, enumerated 53, excluded 15 — green; the meta-test passes 14/14. PR pipeline 2623's sanitization failure clears on the next run. B2: gitea_default_branch fetches and parses as separate steps. The old `curl | python` pipeline reported only python's status, so an HTTP failure that still emitted parseable JSON masqueraded as success and POSTed. curl's exit status is now authoritative (rc nonzero -> failed resolution, loud -B remedy, no POST). Fixture: valid JSON + curl rc 22. B3: default_branch is valid only as a nonblank JSON string. null (which printed as the literal "None"), numbers, and whitespace-only strings were all POSTed as bases. The python step now type- and blank-checks; null / numeric / blank fixtures each produce rc 1, loud -B remedy, no POST. I1: --help now says the default base is the forge repository's default branch (was main/master, the removed behavior). Suite: 29 asserts (16 prior + 4 B2 + 9 B3), green x2. Sweep 32/33; test-issue-close-fail-closed.sh fails identically at baseline origin/next (pre-existing, untouched).