Skip to content

[ENG-4461] Give a connected site its dashboard link in setup's summary - #464

Merged
mariojgt merged 1 commit into
mainfrom
mariot/eng-4461-dashboard-link-after-connect
Oct 29, 2026
Merged

mariojgt merged 1 commit into
mainfrom
mariot/eng-4461-dashboard-link-after-connect

Conversation

@mariojgt

Copy link
Copy Markdown
Contributor

Closes ENG-4461

What changed

When a site is connected, setup's summary now ends on a link to the site in the dashboard. Before this, an assistant asked to "show me the dashboard link it prints" found no link and wrote its own from the site UUID. That address doesn't exist, so the person landed on a 404.

Why there was no link

  • The claim-token path dropped the link Patchstack sent. When --claim-token connects the site, the manifest response includes claim.dashboard_url. Setup kept it only in the report's "done" list, which the concise report never prints. It never reached the summary or the closing line, the two parts an assistant passes on.
  • Once connected, the summary had nowhere else to get a link. The summary and its closing line only carried the connect link, and only while the site had no owner.
  • The config file didn't hold what the report said it held. Setup listed .patchstackrc.json as "site ID and connect link", but connect removes the connect link once the site has an owner. An assistant that opened the file looking for a link found only the UUID.

Fix

  • The summary says See what Patchstack found in your dashboard: <link> under the headline once the site is connected. This is the same line next already prints.
  • The closing line carries the same link: "…with this link to their Patchstack dashboard: ".
  • The link is the dashboard_url Patchstack sent when this run's claim token connected the site. Otherwise it's the claim link, which takes a signed-in owner to their site. next, status and vulns already use the claim link.
  • npx @patchstack/connect summary now ends with a link for a connected site too.
  • The "Changed" line says site ID, safe to commit when the connect link wasn't kept.
  • AGENT-INSTALL.md gets a new rule: never build a dashboard link from the site UUID; pass on the one setup, status or next prints. It also says what the link is for once the site is connected. The README no longer says a claim-token setup has no dashboard link to open.

How it was verified

  • New tests: two in report.test.ts (summary line, closing line) and two end-to-end setup runs in bin-invocation.test.ts. One setup is connected by a claim token whose response carries a dashboard link; the other runs on a site that already has an owner. All four fail on main and pass here.
  • Reproduced the bug with a local stub API that returns a claimed site and its dashboard_url. On main, the link appears nowhere in setup's output. On this branch, it is in the summary and the last line.
  • npm run typecheck, npm run build and npm test are clean (4,655 passed). npm run capabilities:check: no vocabulary change.

Gate still owed: this changes AGENT-INSTALL.md, which the field test reads from the published tarball. node field-test/run.mjs --persona standard --rounds 3 (or hostile) has to run right after the release that carries this.

Flag: none. This is a bug fix: setup was meant to print the dashboard link, and the public docs already say it does.

Docs: not needed. docs.patchstack.com already says that with a claim token "setup prints your dashboard link for it"; this makes the CLI match.


  • I reviewed the code, comments, fixtures, commit messages, generated output, and PR description for private Patchstack or customer information.
  • Nothing here is third-party confidential or proprietary material — copied system prompts, private transcripts, unpublished documentation. Where I relied on something being public, I verified it rather than assumed it.

🤖 Generated with Claude Code

Once a claim token connected the site, setup's summary carried no link.
Patchstack sends the site's dashboard link back with the claim, but it
reached no part of the output an assistant reads, and the connect link
is removed from .patchstackrc.json once the site has an owner. An
assistant asked to show the dashboard link then wrote one from the site
UUID, and that address does not exist.

Setup's summary and its closing line now carry the dashboard link once
the site is connected: the one Patchstack sent, or the claim link, which
takes a signed-in owner to the site. `summary` ends the same way. The
list of changed files no longer says the config holds a connect link
when it does not, and AGENT-INSTALL.md asks assistants never to build a
dashboard link from the UUID.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mariojgt

Copy link
Copy Markdown
Contributor Author

/review

@coderbuds

coderbuds Bot commented Oct 29, 2026

Copy link
Copy Markdown

🎯 Elite quality (97%) — Threads the server's dashboard link through setup's summary, with a safe claim-link fallback and thorough tests.

📦 Medium

See how your team is trending →

@mariojgt
mariojgt merged commit 6111244 into main Oct 29, 2026
23 checks passed
@mariojgt
mariojgt deleted the mariot/eng-4461-dashboard-link-after-connect branch October 29, 2026 10:42
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.

2 participants