feat(ssh): finish and push legs over SSH in ssh modes; API legs gate on the token #346

Merged
hexajon merged 3 commits from issue-294-ssh-finish-push-legs into main 2026-07-22 18:07:15 +00:00
hexajon commented 2026-07-22 18:07:06 +00:00 (Migrated from codeberg.org)

Summary

In ssh and ssh-only modes every git-transport leg finish drives - the push inside finish, madt_push, and the authenticated pull/fetch/status paths - runs over the SSH remote form with no GIT_ASKPASS and no token on the git wire; setupSSHCmd overrides the remote URL and builds the command from os.Environ() only. finish's API legs gate on the shared ssh-only chokepoint: in ssh-only the create-PR step degrades with the typed error naming the pushed branch, riding the existing ledger; in token+ssh the gate is a no-op and finish runs end to end. Branch-detected issue classification degrades to plain refs in ssh-only instead of hard-failing before the push, so the branch is never stranded. A leftover token in ssh-only never reaches the git wire or the API; https and unset modes pinned unchanged.

Closes #294.

Closes #294

## Summary In ssh and ssh-only modes every git-transport leg finish drives - the push inside finish, madt_push, and the authenticated pull/fetch/status paths - runs over the SSH remote form with no GIT_ASKPASS and no token on the git wire; setupSSHCmd overrides the remote URL and builds the command from os.Environ() only. finish's API legs gate on the shared ssh-only chokepoint: in ssh-only the create-PR step degrades with the typed error naming the pushed branch, riding the existing ledger; in token+ssh the gate is a no-op and finish runs end to end. Branch-detected issue classification degrades to plain refs in ssh-only instead of hard-failing before the push, so the branch is never stranded. A leftover token in ssh-only never reaches the git wire or the API; https and unset modes pinned unchanged. Closes #294. Closes #294
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea!346
No description provided.