{"time":"2026-10-24T11:31:39.399Z","implementation":"60c4f3549f7a66028c7ed730658edf2972121d24","fixture":"/tmp/issue-15023-runtime-fixture-jVihvG","transport":"real ProcessRunner + real Git","globalGitConfig":"/dev/null"} {"git":["init","--quiet"],"code":0,"stdout":""} {"git":["remote","add","origin","git@github.com:julius/t3code-fork.git"],"code":0,"stdout":""} {"git":["remote","add","main","https://github.com/T3Tools/t3code.git"],"code":0,"stdout":""} {"git":["remote","add","upstream","https://github.com/other/t3code.git"],"code":0,"stdout":""} {"git":["config","remote.origin.gh-resolved","base"],"code":0,"stdout":""} {"case":"B1 fork base selection","refresh":true,"actual":{"canonicalKey":"github.com/julius/t3code-fork","locator":{"source":"git-remote","remoteName":"origin","remoteUrl":"git@github.com:julius/t3code-fork.git"},"rootPath":"/tmp/issue-15023-runtime-fixture-jVihvG","displayName":"julius/t3code-fork","provider":"github","owner":"julius","name":"t3code-fork"}} PASS B1 fork base selection {"git":["config","remote.origin.gh-resolved","t3TOOLS/t3CODE"],"code":0,"stdout":""} {"case":"B2 parent via real configured fetch remote","refresh":true,"actual":{"canonicalKey":"github.com/t3tools/t3code","locator":{"source":"git-remote","remoteName":"main","remoteUrl":"https://github.com/T3Tools/t3code.git"},"rootPath":"/tmp/issue-15023-runtime-fixture-jVihvG","displayName":"T3Tools/t3code","provider":"github","owner":"T3Tools","name":"t3code","origin":{"canonicalKey":"github.com/julius/t3code-fork","remoteUrl":"git@github.com:julius/t3code-fork.git","displayName":"julius/t3code-fork"}}} PASS B2 parent via real configured fetch remote {"git":["config","remote.origin.gh-resolved","missing/parent"],"code":0,"stdout":""} {"case":"B3 missing-parent fallback","refresh":true,"actual":{"canonicalKey":"github.com/other/t3code","locator":{"source":"git-remote","remoteName":"upstream","remoteUrl":"https://github.com/other/t3code.git"},"rootPath":"/tmp/issue-15023-runtime-fixture-jVihvG","displayName":"other/t3code","provider":"github","owner":"other","name":"t3code","origin":{"canonicalKey":"github.com/julius/t3code-fork","remoteUrl":"git@github.com:julius/t3code-fork.git","displayName":"julius/t3code-fork"}}} PASS B3 missing-parent fallback {"git":["config","remote.origin.gh-resolved","base"],"code":0,"stdout":""} {"git":["config","remote.main.gh-resolved","base"],"code":0,"stdout":""} {"case":"B4 multiple-mark fallback","refresh":true,"actual":{"canonicalKey":"github.com/other/t3code","locator":{"source":"git-remote","remoteName":"upstream","remoteUrl":"https://github.com/other/t3code.git"},"rootPath":"/tmp/issue-15023-runtime-fixture-jVihvG","displayName":"other/t3code","provider":"github","owner":"other","name":"t3code","origin":{"canonicalKey":"github.com/julius/t3code-fork","remoteUrl":"git@github.com:julius/t3code-fork.git","displayName":"julius/t3code-fork"}}} PASS B4 multiple-mark fallback {"git":["config","--unset","remote.main.gh-resolved"],"code":0,"stdout":""} {"case":"B5 explicit refresh selects fork","refresh":true,"actual":{"canonicalKey":"github.com/julius/t3code-fork","locator":{"source":"git-remote","remoteName":"origin","remoteUrl":"git@github.com:julius/t3code-fork.git"},"rootPath":"/tmp/issue-15023-runtime-fixture-jVihvG","displayName":"julius/t3code-fork","provider":"github","owner":"julius","name":"t3code-fork"}} PASS B5 explicit refresh selects fork {"git":["config","--unset","remote.origin.gh-resolved"],"code":0,"stdout":""} {"case":"B5 mark removal retains cached identity","refresh":false,"actual":{"canonicalKey":"github.com/julius/t3code-fork","locator":{"source":"git-remote","remoteName":"origin","remoteUrl":"git@github.com:julius/t3code-fork.git"},"rootPath":"/tmp/issue-15023-runtime-fixture-jVihvG","displayName":"julius/t3code-fork","provider":"github","owner":"julius","name":"t3code-fork"}} PASS B5 mark removal retains cached identity {"case":"B5 mark removal explicit refresh restores upstream","refresh":true,"actual":{"canonicalKey":"github.com/other/t3code","locator":{"source":"git-remote","remoteName":"upstream","remoteUrl":"https://github.com/other/t3code.git"},"rootPath":"/tmp/issue-15023-runtime-fixture-jVihvG","displayName":"other/t3code","provider":"github","owner":"other","name":"t3code","origin":{"canonicalKey":"github.com/julius/t3code-fork","remoteUrl":"git@github.com:julius/t3code-fork.git","displayName":"julius/t3code-fork"}}} PASS B5 mark removal explicit refresh restores upstream {"case":"B5 subsequent cached identity stays upstream","refresh":false,"actual":{"canonicalKey":"github.com/other/t3code","locator":{"source":"git-remote","remoteName":"upstream","remoteUrl":"https://github.com/other/t3code.git"},"rootPath":"/tmp/issue-15023-runtime-fixture-jVihvG","displayName":"other/t3code","provider":"github","owner":"other","name":"t3code","origin":{"canonicalKey":"github.com/julius/t3code-fork","remoteUrl":"git@github.com:julius/t3code-fork.git","displayName":"julius/t3code-fork"}}} PASS B5 subsequent cached identity stays upstream RESULT PASS failures=0