Skip to content

fix(Pull-SDLC): remove unsolicited SSH-on-443 drift nudge#170

Merged
MarkMichaelis merged 1 commit into
mainfrom
fix/169-remove-ssh-nudge
May 31, 2026
Merged

fix(Pull-SDLC): remove unsolicited SSH-on-443 drift nudge#170
MarkMichaelis merged 1 commit into
mainfrom
fix/169-remove-ssh-nudge

Conversation

@MarkMichaelis
Copy link
Copy Markdown
Contributor

Summary

Removes the unsolicited yellow Recommendation: GitHub SSH-on-443 setup is incomplete... line that printed at the end of every successful Pull-SDLC.ai.ps1 run on Windows.

A per-repo instructions-sync script must not lobby users to mutate machine-wide config (~/.ssh, git config --global, gh config) on every invocation. The setup that the nudge promoted is also opinionated: it writes insteadOf rewrites that silently force all GitHub traffic through ssh.github.com:443, overriding gh, per-repo remotes, and other tooling.

Changes

  • Deleted the post-sync drift-check block in Pull-SDLC.ai.ps1.
  • Deleted Test-GitHubSshDrift and Write-GitHubSshNudge (only callers were the deleted block).
  • Deleted the 5 Pester tests covering the removed helpers.
  • Added a regression test asserting the script no longer references either helper.

Out of scope

  • -SetupGitHubSsh switch and Invoke-SetupGitHubSsh remain as an opt-in path. A broader redesign (rename to -SetupGit; refocus on repo-level git configuration like .gitignore/.gitattributes instead of SSH/protocol) is tracked in a follow-up issue.

Verification

\\\powershell Invoke-Pester -Path .\Pull-SDLC.ai.Tests.ps1 -FullNameFilter '*post-sync output*' -Output Detailed \\

The new regression test fails when the deletion is reverted (assertion failure on Should -Not -Match 'Write-GitHubSshNudge').

Closes #169

A per-repo instructions-sync script must not lobby users to mutate
machine-wide configuration on every successful run. The drift nudge
added in #164 printed a yellow "Recommendation: GitHub SSH-on-443
setup is incomplete..." line at the end of every sync on a Windows
workstation that had not opted into the (opinionated, invasive)
SSH-on-443 setup -- including url.insteadOf rewrites that silently
force *all* GitHub traffic through ssh.github.com:443, overriding
gh, per-repo remotes, and any other tooling.

Removed:
  - Post-sync drift-check block in Pull-SDLC.ai.ps1 (was printing the nudge)
  - Test-GitHubSshDrift function (only consumer was the nudge block)
  - Write-GitHubSshNudge function (only consumer was the nudge block)
  - Pester tests covering the removed helpers (5 tests)

Added:
  - Regression test asserting neither helper is referenced from the
    script, so the unsolicited nudge cannot reappear via a partial
    revert.

Kept (out of scope for this fix):
  - -SetupGitHubSsh switch and Invoke-SetupGitHubSsh function remain
    as an opt-in path for users who explicitly want the setup. A
    broader redesign (renaming to -SetupGit and refocusing on repo-
    level git configuration like .gitignore/.gitattributes instead
    of SSH/protocol) is tracked separately.

Closes #169

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@MarkMichaelis MarkMichaelis merged commit ad66edd into main May 31, 2026
2 checks passed
@MarkMichaelis MarkMichaelis deleted the fix/169-remove-ssh-nudge branch May 31, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(Pull-SDLC): remove unsolicited SSH-on-443 drift nudge from post-sync output

1 participant