Summary
pr list and pr dash render the same session state through two sinks (sessionStatus in internal/cli/pr.go, renderSessions plus phaseNote in internal/cli/pr_dash.go). Exactly one test pins their agreement, TestSessionStatus_UnclassifiedMatchesTheDash, and it covers only the unclassified arm. Nothing stops a future edit from making the two disagree on missing, none, or phase. #499 is the second time they drifted.
Ask
A parity table test driving both sinks off one fixture set: every workspace state crossed with every Phase constant, asserting the two renderings agree on what they flag. Found while planning #499.
Summary
pr listandpr dashrender the same session state through two sinks (sessionStatusininternal/cli/pr.go,renderSessionsplusphaseNoteininternal/cli/pr_dash.go). Exactly one test pins their agreement,TestSessionStatus_UnclassifiedMatchesTheDash, and it covers only the unclassified arm. Nothing stops a future edit from making the two disagree on missing, none, or phase. #499 is the second time they drifted.Ask
A parity table test driving both sinks off one fixture set: every workspace state crossed with every
Phaseconstant, asserting the two renderings agree on what they flag. Found while planning #499.