tg pipeline status fails with RepoNotFound on repositories whose record has a TID rkey and a separate name, while tg pipeline list works on the same repository. the status path asks the knot for the default branch by <owner-did>/<name>, but the knot resolves <owner-did>/<rkey> or a bare repository DID, so the lookup only succeeds when the rkey happens to equal the name.
against knot1.tangled.sh for one such repository:
$ curl -sG .../xrpc/sh.tangled.repo.getDefaultBranch --data-urlencode 'repo=did:plc:xbtm…/notes'
{"error":"RepoNotFound","message":"repository not found on this knot"}
$ curl -sG .../xrpc/sh.tangled.repo.getDefaultBranch --data-urlencode 'repo=did:plc:4k5r…'
{"name":"main","hash":"","when":"1970-01-01T00:00:00Z"}
PipelineStatus already requires repoDid a few lines earlier, so this passes it instead of building the owner/name path. verified on a legacy-record repository (TID rkey) and a current one (name rkey); go test ./... and gofmt pass; I do not have nix locally, so nix build was not run.
related: https://tangled.org/aly.codes/tg/issues/9 is the same owner-path-versus-repo-DID mismatch in repo set-default-branch; this change does not touch that path.
🤖 Generated with Claude Code