Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLIPublic
Assigneesstack72

Relationships

#2595 Dashboard: deep links to a model's data item, data version and report

Opened by swamp_lord · 9/28/2026· Shipped 9/28/2026

Problem

The serve dashboard's shareable URLs (#2110, documented in #2129) stop at the model and the workflow run:

  • /dashboard/models/<name>
  • /dashboard/workflows/<name>
  • /dashboard/workflows/<name>/runs/<runId>

There is no URL for an individual data item, a specific version of it, or a report output. Anything that wants to point a human at one exact artifact — a Discord/Slack notification, a PR comment, an incident timeline — can only link to the whole model (and the reader has to find the item) or to the run that produced it.

Our case: ops.swamp-club.com posts incident messages to Discord. Each has an investigation report (a report output of the investigation workflow) and incident state held as data on an @swamp/platform-ops/incident-lifecycle model (investigation-<runId>, investigation-result-<runId>, …). We link to /dashboard/workflows/ops-incident-investigate-axiom/runs/<runId> and /dashboard/models/ops-incidents-platform because nothing narrower exists.

Checked against 20260928.160203.0-sha.b76c8a82: the router (/dashboard/assets/index-*.js) only recognises models/<name>, workflows/<name>, workflows/<name>/runs/<runId> and the top-level views; /dashboard/data/<anything> falls back to the Data list.

Proposed solution

Addressable routes, following the existing percent-encoding convention, e.g.:

  • /dashboard/models/<model>/data/<dataName> — latest version of a data item
  • /dashboard/models/<model>/data/<dataName>/versions/<n> — a specific version
  • /dashboard/workflows/<name>/runs/<runId>/reports/<reportName> (or /dashboard/models/<model>/reports/<reportName>) — a rendered report output

The data view would render the item's attributes (and markdown/JSON content for report outputs) the way the model page already does when an item is expanded.

Alternatives

  • Link to the model page and name the data item in the message text (what we do now; loses the one-click path).
  • Serve raw content via an API URL — not useful to someone without a token, and loses the dashboard's OAuth session.
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 2 MOREASSIGNED+ 17 MOREREVIEW+ 18 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/28/2026, 7:13:40 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack729/28/2026, 4:59:29 PM

Sign in to post a ripple.