# Issue 536 Wrapper Login Pin Scratchpad ## Metadata - Date: 2026-06-12 - Worktree: `/home/hermes/agent-work/536-wrapper-audit` - Branch: `fix/536-wrapper-login-pin` - Coordinator: `mos-claude` - Issue: `mosaicstack/stack#536` - Scope: Audit and fix Gitea git wrappers that hardcode or incorrectly inherit tea login/instance selection. ## Objective Fix the framework git wrappers so Gitea issue/PR operations resolve the tea login from the target repository host instead of pinning `mosaicstack`. The fix must cover the class of bug across `packages/mosaic/framework/tools/git/`, not only `issue-close.sh`. ## Acceptance Criteria 1. `issue-close.sh` no longer uses `--login mosaicstack` for non-mosaic hosts. 2. All wrappers in `packages/mosaic/framework/tools/git/` avoid hardcoded Gitea login fallback where host-specific resolution is available. 3. Host-specific resolution works for `git.mosaicstack.dev` and `git.uscllc.com` using configured credentials / tea login data. 4. Read-only verification runs against both Gitea instances where possible. 5. Queue guard passes before push, PR is opened referencing #536, and merge is left to the coordinator. ## Progress Log - Read required Mosaic hard-gate docs and coordinator briefing. - Read issue #536 via Gitea API with mosaicstack credentials. - Initial audit found hardcoded `${GITEA_LOGIN:-mosaicstack}` in issue and PR wrappers, plus shared `get_gitea_repo_args`. - Added host-aware Gitea login resolution in `detect-platform.sh`, including exact host matching for `tea login list` entries and HTTPS remotes with embedded credentials. - Updated Gitea issue, PR, milestone, and CI wrappers to use resolved host-specific tea login arguments instead of defaulting to `mosaicstack`. - Added authenticated API fallbacks for close/reopen paths so wrappers can still operate when a matching `tea` login is absent but token credentials are available. - Added regression coverage for stale `GITEA_LOGIN`, exact host matching, `--repo` override flows, USC issue close routing, mosaicstack API fallback, and PR metadata/merge fallbacks. ## Verification - `bash -n packages/mosaic/framework/tools/git/*.sh` - `packages/mosaic/framework/tools/git/test-gitea-login-resolution.sh` - `packages/mosaic/framework/tools/git/test-pr-metadata-gitea.sh` - `packages/mosaic/framework/tools/git/test-pr-merge-gitea-empty-uid.sh` - `pnpm typecheck` - `pnpm lint` - `pnpm format:check` - Live read-only: direct Gitea API read of `mosaicstack/stack#536` with `User-Agent: curl/8`. - Live read-only: USC temporary repo remote to `https://git.uscllc.com/USC/uconnect.git`; `issue-list.sh -n 1` resolved the USC login and returned USC issues. - Independent Codex review final verdict: approve, no findings.