The row
- Ask did VERIFY stay green
- Expires (empty)
- Why empty expiry is skipped, matching still suppresses
Topic · waivers reviewed
Gist
Waivers reviewed is whether a proof.yaml waiver is still current. Proof runs proof audit --check waivers_reviewed. An empty expiry stays current and keeps suppressing the check. Jama still authors.
proof audit --check waivers_reviewed
Keep Smartwaiver if you collect liability forms. Keep Metricstream if you already run a GRC register. Keep Jama if it already holds the shall. Neither one dates a check exception in this repo.
01 · The exception that outlived the date
You can keep coverage_threshold waived on SYS-REQ-001 and still have every other gate green after the date in expires: is in the past, if this hop never ran.
The check walks project.waivers in proof.yaml. It compares each expires: calendar day to today UTC. Default window is 14 days. Inside the window it warns. Past the day it fails. An invalid date is treated as expired. Zero active waivers is a pass: no active waivers. That pass is empty, not reviewed.
A waiver is not an AcceptedRisk and not a KnownIssue. proof waive writes the skip for one check and one scope, with a human, a role, a reason, and an expiry when you pass --expires. Agents cannot write it unless project.checks.waivers_reviewed.agent_autonomous is true. Matching still uses that row to suppress the named check until the date is past. This hop is the review of those rows, not the write.
The silent case is an empty expires:. Classification skips that row. The summary can still say the waiver is current. Matching also treats empty expiry as not expired, so the named check stays suppressed with no date to fail. That is how a temporary skip becomes standing policy without a red cell.
proof audit --check waivers_reviewed --verbose
proof waive coverage_threshold --scope SYS-REQ-001 --reason "legacy path deferred" --by [email protected] --role lead_engineer --expires 2026-07-01
proof waive --remove coverage_threshold --scope SYS-REQ-001
proof workflow check --stage verify --verbose
Inspect the named check and scope before you renew. Put a real day on --expires. Remove the row once the finding is fixed. Do not delete the date to clear the stamp. An empty expiry is not a review. It is a skip of this hop.
02 · The exhibit
coverage_threshold on SYS-REQ-001 is still waived. Click the tabs.
The row
This hop
No waivers_reviewed JSON. Expired never ran. Empty expiry counted as current.
No stampThe row
Keep the waiver file. Keep the reason. That is not this hop.
Keep the skipProof
Same waiver. A silent current, or this stamp. Click the tabs.
| Surface | What they do | What Proof does | What we lose |
|---|---|---|---|
| Smartwaiver / WaiverSign | Liability forms guests sign. | Date a check exception in proof.yaml. |
We do not collect a release of liability. Ads software waiver is that SERP. |
| Risk acceptance | A named human ships a known failure with a review date. | Review whether a check skip is still in date. | Not that hop. See risk acceptance. |
proof waive |
The write. Human, role, reason, expiry. | The review of those rows on VERIFY. | This hop does not write the waiver. Agents cannot, unless you opt in. |
| Jama | The authoring programme. Reviews if you put them there. | Fail the merge when an expiry is already past. | Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack. |
The teaching graph is still one waiver next to its expiry. Run the check. Read the check name and scope. Renew with a new day, or remove the row. Do not empty expires: to clear the stamp.
proof workflow check --stage verify --verbose
proof audit --check waivers_reviewed --verbose
proof waive coverage_threshold --scope SYS-REQ-001 --reason "legacy path deferred" --by [email protected] --role lead_engineer --expires 2026-07-01
proof waive --remove coverage_threshold --scope SYS-REQ-001
The signed-ship hop stays on risk acceptance. Jama still authors. Proof vs Jama.
03 · The honest loss
A green waivers_reviewed is current dates on eligible rows. It is not a proof of the Go. Jama still authors.
Zero waivers is a pass. That pass did not review anything. An empty expires: is skipped, then counted as current, and matching still suppresses the named check. Inside the 14-day window the hop warns; it does not fail. The hop does not rewrite the waiver. It does not fix coverage_threshold. It does not sign an AcceptedRisk. Today's UTC date is in the cache key, so the hop can re-fire at midnight without a file change. We have not scored this graph against a frozen Jama pack or a GRC register. The loss is named, not scored.
The signed-ship hop stays on risk acceptance. The engagement stays on software correctness audit. Jama still authors.
04 · Nearby questions
What is waivers reviewed? Same question. Same URL.
Is this risk acceptance? No. That hop is a named human shipping a known failure. This hop is whether a check skip is still in date. See risk acceptance.
Is this known issues reviewed? No. That hop dates an open KnownIssue. See known issues reviewed. This hop dates a check skip.
Is this a software waiver? No. Ads software waiver is Smartwaiver and WaiverSign. Liability forms are not this cell.
Does an empty expiry fail? No. Empty is skipped. The row can still suppress the named check. Put a day on --expires.
Can an agent write the waiver? Not by default. proof waive is a human authorization gate unless you set agent_autonomous.
Is Proof a Jama alternative for the shall? No. Jama still authors. Proof vs Jama.