Every signoff run reports violations, and most of them are not bugs: a synchroniser the checker cannot recognise, a false path that is genuinely false, a coverage hole in logic that is provably unreachable. Waivers excuse these, and without governance they accumulate into a blanket excuse that hides the next real bug. This topic sets the rules: which violations may be waived at all, who signs, how long a waiver lives, and what it costs when a waiver turns out to be wrong. Its one job is the lifecycle of an excuse; the dashboard that counts live waivers is the next topic.
Lesson | After it you can... |
|---|---|
Grant or refuse a waiver with a reason the review accepts. | |
Age every waiver and force review before expiry. | |
Price a wrong waiver and set the bar for granting the next one. |
Suggested order: top to bottom. Granting rules first, because ageing only matters for waivers that should exist; then the calculator that ages them; then the escape arithmetic that keeps granting honest. The crossing-discipline model to copy is CDC Waiver Policy.
A design change smuggled past the ECO process. A waiver without expiry claims the violation will never matter, which no engineer can know; expiry forces the claim to be re-examined.