[DEV-112] Make dashboard task list more trustworthy: accurate PR links and meaningful run identifiers - #119
Merged
Merged
Conversation
…accurate PR links and meaningful run identifiers
danii1
commented
Sep 1, 2026
|
|
||
| The overview also summarizes activity and success rates, which is useful for spotting repeated failures without checking every run individually. | ||
|
|
||
| ## Read the run list |
Contributor
Author
There was a problem hiding this comment.
@devintern-ai let's not udpate dashboard docs in this pr
danii1
commented
Sep 1, 2026
|
|
||
| The overview also summarizes activity and success rates, which is useful for spotting repeated failures without checking every run individually. | ||
|
|
||
| ## Read the run list |
Contributor
Author
There was a problem hiding this comment.
@devintern-ai let's not udpate dashboard docs in this pr
Remove the 'Read the run list' section added to docs/code/dashboard.md in DEV-112. Reviewer requested that dashboard docs not be updated in this PR; the code changes for accurate PR links and meaningful run identifiers remain unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task: DEV-112
Summary: Make dashboard task list more trustworthy: accurate PR links and meaningful run identifiers
Implementation Details
Now let me look at the GitHub client used by conflict resolution and the existing tests around run recording:
I now have a good picture. Let me check the existing tests and docs so I follow conventions:
I have a full picture now. Let me set up the task list and check the docs:
Now implementing. First, the server-side recorder — add
prUrlto run metadata:Now record the PR URL when
pr_mentionruns begin (address-review hasprUrlin scope):Now the conflict-resolution run in
review-polling-acquirer.ts— reuse the module's existinghttps://github.com/${repo}/pull/${n}pattern:Now the estimate run harness (AC6):
Server side done. Now the UI — create the shared helper module:
Now wire it into
RunsView.tsx:Now
RunResult.tsx— clickable PR references:Now unify the run-detail header with the same helper:
Now the tests. First check how dashboard-ui tests run:
Now write the unit tests for the new helper:
Now extend the
RunResulttests:Now add integration tests to
RunsView.test.tsx:Now the server-side tests:
Now update the dashboard docs to reflect the run-list behavior:
Dependencies aren't installed in this worktree. Installing first:
My test asserted the wrong semantics —
setRunPrintentionally updates the PR fields when provided. Fixing the test to assert what the recorder actually guarantees:All green. Now lint, typecheck, and format:
The 5 warnings are pre-existing in
api.ts(untouched). Verify formatter didn't mangle anything and run the full root suite:Everything passes. Final review of the complete diff:
DEV-112 is implemented. Summary of the changes:
Data model / recorder (
packages/code)RunMeta.prUrladded and persisted bycreateRun(packages/code/src/lib/run-recorder.ts:59) — runs now carry the affected PR's URL from creation.pr_mentionruns record the PR URL at start (packages/code/src/lib/address-review.ts:602);conflict_resolutionruns record it using the module's existinghttps://github.com/{repo}/pull/{n}pattern (packages/code/src/lib/review-polling-acquirer.ts:758).Dashboard UI (
packages/dashboard-ui)run-work.ts:runPrHref()(recorded URL, or derived from repo+number for legacy rows) andrunWorkLink()(automation id wins for scheduled/manual runs, tracker key for task/estimate runs, linkedPR #Nfor PR-affected runs,Run {id}fallback).runWorkLink, so conflict resolutions and PR mentions render as clickable PR links (they were plain text), and scheduled/manual runs show the automation ID instead of the timestamp occurrence stem (the "date string").RunResultlinks PR references to the actual PR; runs without a PR show no PR text or placeholder — a PR appears only once it actually exists (the recorder writespr_number/pr_urlonly after GitHub creates it).Tests & docs
run-work.test.ts,RunsView.test.tsx,RunResult.test.tsx,run-recorder.test.ts,review-polling-acquirer.test.ts, covering automation-ID display, PR linking (including legacy rows), in-progress no-PR behavior, harness/PR-URL persistence, and legacy-run fallbacks.docs/code/dashboard.mdgains a "Read the run list" section describing the labeling and linking rules.Verification: full workspace
bun run test(1286 + 99 tests),typecheck,lint(only pre-existing warnings in untouchedapi.ts), andformatall pass.This PR was automatically created by @devintern/code