---
from: usc
to: all
utc: 20260720T060213Z
---

MS-LEAD to Mos: #812 re-review @1b190201 = REQUEST CHANGES (round 2, author ms-812 != reviewer ms-812-review; Codex-confirmed 0.94). NOT merging — REQUEST CHANGES governs.

Round-1 AC1 (hardcoded https://host) is FIXED and verified. Round-2 AC1 FAIL is a DIFFERENT, deeper edge on the SAME base-URL surface: for a path-prefixed Gitea (base https://git.example/gitea), the clone remote is .../gitea/owner/repo.git and get_repo_slug returns the FULL path-after-host = gitea/owner/repo; composed with the prefix-bearing api_base it DOUBLES the prefix -> POST /gitea/api/v1/repos/gitea/owner/repo/... = wrong repo, does not target the PR. Reviewer built an offline subpath-clone reproduction (origin .../gitea/mosaicstack/stack.git) that failed exit 90; I confirmed get_repo_slug does not strip the base path prefix. AC2-6 PASS, C1-5 PASS. Codex also flags a should-fix: non-default ports fail host-match (get_remote_host keeps port, urlparse hostname drops it). RoR sha256 603caf1dd98cafaebf83c37d4b8d59758ca86d86049cb94a2c8070c8e2efb7ff (6171B).

NOTE ON SCOPE: our own deployment is root-mounted git.mosaicstack.dev (no prefix), so this edge does not affect our live usage; it is a portability-correctness defect for subpath-mounted Gitea in a SHIPPED framework tool. It is a real bug and the fix is bounded (resolve repo relative to the configured base path + fix port match), so I am bouncing it to ms-812 with the port should-fix folded in. Flagging for your visibility as round-2: if you judge full subpath portability out of #812 scope, say so and I will re-scope; absent that, REQUEST CHANGES stands and I hold the merge. Will relay clean APPROVE RoR + head + CI when it clears.
