issue-check resolves the tracker by origin URL host, so an SSH-host remote never matches a tea login #180

Closed
opened 2026-08-15 22:37:16 +00:00 by john · 1 comment
Owner

LND-01 shipped in v3.4.0 to surface the tracker before work lands. On this repository - the one it was built in - it has never produced a report.

What happens

At the v3.5.0 land, /cad-land step 1 returned:

{"ok":true,"action":"skip","reason":"tea holds no login for ssh.jcrenshaw.dev: no tracker report","host":"ssh.jcrenshaw.dev","repo":"crenshawdev/cadence","referenced":[],"open":[]}

Why

origin is ssh://git@ssh.jcrenshaw.dev:2222/crenshawdev/cadence.git, so the host parsed off the origin URL is ssh.jcrenshaw.dev. tea login list holds:

NAME               URL                        SSH HOST
git.jcrenshaw.dev  https://git.jcrenshaw.dev  git.jcrenshaw.dev

The login is keyed on the web host. Nothing matches, so the seam takes its skip arm - correctly, by its own contract, which is why this is invisible rather than loud.

A dedicated SSH host is a normal Forgejo/Gitea deployment shape (separate SSH endpoint, non-standard port), so this is not a local misconfiguration. tea issues ls --repo crenshawdev/cadence works fine against the same login, which is how the v3.5.0 close read and closed #130 by hand.

Fix shape

Resolve the login by repository rather than by URL-host string equality: consult tea login lists SSH HOST column as well as the URL host, or fall through to the explicit --repo <owner>/<name> form the CLI already accepts and which already works here. Either way the degradation stays one line and read-only - the requirement is that a correctly configured Forgejo remote stops degrading silently, not that the skip arm goes away.

Regression cover should include a remote whose SSH host differs from its web host.

LND-01 shipped in v3.4.0 to surface the tracker before work lands. On this repository - the one it was built in - it has never produced a report. ### What happens At the v3.5.0 land, `/cad-land` step 1 returned: ``` {"ok":true,"action":"skip","reason":"tea holds no login for ssh.jcrenshaw.dev: no tracker report","host":"ssh.jcrenshaw.dev","repo":"crenshawdev/cadence","referenced":[],"open":[]} ``` ### Why `origin` is `ssh://git@ssh.jcrenshaw.dev:2222/crenshawdev/cadence.git`, so the host parsed off the origin URL is `ssh.jcrenshaw.dev`. `tea login list` holds: ``` NAME URL SSH HOST git.jcrenshaw.dev https://git.jcrenshaw.dev git.jcrenshaw.dev ``` The login is keyed on the web host. Nothing matches, so the seam takes its skip arm - correctly, by its own contract, which is why this is invisible rather than loud. A dedicated SSH host is a normal Forgejo/Gitea deployment shape (separate SSH endpoint, non-standard port), so this is not a local misconfiguration. `tea issues ls --repo crenshawdev/cadence` works fine against the same login, which is how the v3.5.0 close read and closed #130 by hand. ### Fix shape Resolve the login by repository rather than by URL-host string equality: consult `tea login list`s `SSH HOST` column as well as the URL host, or fall through to the explicit `--repo <owner>/<name>` form the CLI already accepts and which already works here. Either way the degradation stays one line and read-only - the requirement is that a correctly configured Forgejo remote stops degrading silently, not that the skip arm goes away. Regression cover should include a remote whose SSH host differs from its web host.
john added this to the v3.5.1 milestone 2026-08-15 22:37:16 +00:00
Author
Owner

Fixed in fd42f87 (fix(2-1): bind the forgejo call with --remote origin, not a login this file picked) plus 20b6bd5 and 6df63e0; shipped in v3.5.1. The login inference in classifyOrigin is gone - the tea call binds to the checkout's remote instead.

Fixed in fd42f87 (`fix(2-1): bind the forgejo call with --remote origin, not a login this file picked`) plus 20b6bd5 and 6df63e0; shipped in v3.5.1. The login inference in `classifyOrigin` is gone - the tea call binds to the checkout's remote instead.
john closed this issue 2026-08-18 00:20:28 +00:00
Sign in to join this conversation.
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: crenshawdev/cadence-archived#180
No description provided.