Designs change under signoff: ECOs land, blocks rev, constraints get retargeted. Each change perturbs the trend, and the dashboard must absorb change without either crying wolf or quietly re-baselining risk away. This lesson sets the rules for history across revisions.
Carries forward | Re-opens | Why |
|---|---|---|
Fixed defects | No — a fix stays fixed unless the code is touched | Unchanged RTL keeps its verdict; re-proving everything each time wastes the burn-down |
Waivers | Yes — every waiver re-opens for confirmation | Waivers are revision-tied permissions, and the argument may not hold on new RTL |
Constraint approvals | Changed lines only | Unchanged lines keep approval; added, removed, or retargeted lines are new claims |
Trend history | Annotated, never rewritten | Old runs stay plotted with their setup version; the line breaks, the past is not edited |
The most valuable dashboard behaviour is also the simplest: every run diffs its findings against the previous run and announces genuinely new crossings. New findings after convergence are rare and important — a fresh unsynchronised crossing late in the project is either a late feature (expected, owned) or an ECO side effect (urgent). Either way it should page someone, not sit in a table.
Alert on new defect-class findings immediately, with the diff that introduced them.
Alert on waiver expiry the moment a revision supersedes the waived one.
Alert on scope changes — newly excluded hierarchy or a new setup version — because they move every number.
Never alert on counts alone without the diff: a falling count can hide a new severe finding behind fixed trivial ones.
The block's boundary findings and any waiver touching the changed logic re-open; untouched blocks keep their verdicts; constraint approvals re-open only for changed lines. History is annotated, not rewritten.
As an urgent new finding with its introducing diff — not as good news. The falling total must not hide a fresh severe defect; counts never outrank the diff.