Problem
On the runner node Sergeys-Mac-mini.local, the SSH key presented to GitHub authenticates as jobsearch-works/shared — a repository deploy key, not the user's account. Any git clone git@github.com:... for a private repo outside that one repository therefore fails with "Repository not found", which is GitHub's generic message for "authenticated, but this identity cannot see it". The failure is misleading: it looks like the repo is missing when it is really a wrong-identity problem.
Observed
Cloning proappstore-online/school-clubs over SSH failed this way. The same clone succeeded immediately via gh repo clone over HTTPS, which uses GITHUB_TOKEN and authenticates as serge-ivo, an identity that can see the repo.
Consequence
Two different GitHub identities are active on the same machine depending on transport: a narrow deploy key over SSH and a broad user token over HTTPS. Any coding run that happens to use an SSH remote will silently get the wrong, much weaker identity. Existing checkouts with SSH remotes may fail to fetch or push for reasons that appear to be missing repositories.
Suggested Work
- Audit which identity each transport resolves to on every registered runner node.
- Decide and document the intended identity for agent git operations.
- Surface the effective git identity in
coding_diagnostics so this is visible without a failed clone, and consider reporting it per transport.
- Where a deploy key is genuinely wanted, scope it to the repo that needs it rather than leaving it as the default SSH identity.
Related
This is adjacent to the credential-scope concerns in #676: the credential an agent actually operates with is not currently visible before it is used.
Cross-reference #676.
Problem
On the runner node
Sergeys-Mac-mini.local, the SSH key presented to GitHub authenticates asjobsearch-works/shared— a repository deploy key, not the user's account. Anygit clone git@github.com:...for a private repo outside that one repository therefore fails with "Repository not found", which is GitHub's generic message for "authenticated, but this identity cannot see it". The failure is misleading: it looks like the repo is missing when it is really a wrong-identity problem.Observed
Cloning
proappstore-online/school-clubsover SSH failed this way. The same clone succeeded immediately viagh repo cloneover HTTPS, which usesGITHUB_TOKENand authenticates asserge-ivo, an identity that can see the repo.Consequence
Two different GitHub identities are active on the same machine depending on transport: a narrow deploy key over SSH and a broad user token over HTTPS. Any coding run that happens to use an SSH remote will silently get the wrong, much weaker identity. Existing checkouts with SSH remotes may fail to fetch or push for reasons that appear to be missing repositories.
Suggested Work
coding_diagnosticsso this is visible without a failed clone, and consider reporting it per transport.Related
This is adjacent to the credential-scope concerns in #676: the credential an agent actually operates with is not currently visible before it is used.
Cross-reference #676.