Skip to content

dashboard-prs

Provenance

  • Source: .spec/spexcode/spec-forge/conformance-gate/dashboard-prs/spec.md
  • Source SHA-256: afb2f7070956ec0c4fd73af16645bb2e76d476c1df5e7c15b4fed149826c9bfe

The dashboard half of [[conformance-gate]], and the open-PR sibling [[dashboard-issues]] explicitly deferred ("surfacing open PRs the same way" — out of scope there, this node here). Near-zero new display: it reuses the surfaces that already exist.

Three surfaces, all reuse:

  • PR badge — on each node a PR touches, a glance badge like the open-issue badge, in its own hue so the status dot / drift badge / issue badge / PR badge never blur. Fed the same way issues are: folded onto /api/graph from the resident [[forge-cache]] cache (open PRs already read there as session/overlay state — this makes them a node-bound count).
  • PR review lane — open PRs in the gate shown beside sessions-in-review, each carrying its gate verdict (pending / conforms / diverges / blocked). The CI gate is the headless twin of the [[manager-cockpit]] review a human runs, so the two belong in one lane.
  • PR proof overlay — clicking a PR opens [[session-eval]]'s overlay unchanged, rooted at the PR ref ([[forge-gate]]'s generalized root) instead of a session worktree, with [[conformance-judge]]'s per-node verdict layered on the diff.

Two planes, unchanged. A node defines; a PR does. The PR appears beside the node, never as node state — a node's status stays git-derived. Silent by construction with no forge/gh, exactly like [[dashboard-issues]].

Out of scope: the verdict content ([[conformance-judge]]), the gate orchestration ([[forge-gate]]), and any live webhook push (that is [[forge-cache]]'s deferred source layer). Frontend is asserted by contract — there is no browser/e2e harness here.