The run
- Ask does the formula look right
- Exit 0 if someone typed looks good
- Why a stamp does not open a file
Topic · spec conformance
Gist
Spec conformance is a code-grounded review of the FRETish formula, not a thumbs-up on the shall. Proof runs proof audit --check spec_lint_spec_conformance_review_grounded. The check does not judge whether the formula is right. Jama still authors.
proof audit --check spec_lint_spec_conformance_review_grounded
Keep Jama if you already walk the shall in a meeting. Keep FRETish lint if you already parse the formula. Neither one opens the Go.
01 · The formula that missed the flag
Hazard classes and coverage do not see a precondition the formula never named.
A FRETish formula can be syntactically clean and still miss a feature flag that short-circuits the guarded path, or an early return in a helper the annotated function delegates to. The obligation pass sees the classes the formula mentions. The coverage pass sees the witnesses the formula constrains. None of them see the gate the code enforces and the formula does not name.
The motivating miss is mechanical. SW-REQ-065 sat at approved. The formula named the happy path. The Go had a flag-disabled bypass. Review said looks good. There was no spec_conformance record citing a line. The next agent treated the stamp as proof the formula matched the code. It did not.
The loop is three commands. The bundle is read-only. The record writes to proof/reviews/. The audit reads both. When the formula and the code disagree, amend the formula. Do not paper over the extra gate as intentional.
proof req context SW-REQ-065
proof review record --kind spec_conformance --subject SW-REQ-065 \
--citation pkg/handler.go:62 --comment "Trigger maps to the per-field branch; the flag-disabled bypass is the operation_executed precondition."
proof audit --check spec_lint_spec_conformance_review_grounded
The first command hands you every annotated implementation, test, and doc for that ID. The second cites file:line and writes at least sixty characters of judgment. The third fails a missing review, an empty citation list, a citation that does not resolve, or a comment that is too short. It does not fail a wrong judgment. That is still the reviewer's job.
02 · The exhibit
The formula is green. The flag-disabled bypass is not in it. Click the tabs.
The run
This hop
No spec_conformance record. The flag-disabled bypass is still uncited.
No citationThe run
Keep the meeting. It still owns the walkthrough. That is not this hop.
Keep the walkthroughProof
Same shall. A thumbs-up, or a citation from this commit. Click the tabs.
| Surface | What they do | What Proof does | What we lose |
|---|---|---|---|
| Walkthrough / looks good | A human stamp on the shall. | A spec_conformance record with citations that resolve. |
The check does not judge the formula. Sixty characters is not a proof of the Go. |
| FRETish lint | Parse the formula. Catch tautology and bare response. | Open the annotated Go against the formula. | Not a parser. Syntax stays on FRETish. |
| Hazard analysis | Accept, suppress, defer, or draft a catalog class. | Map formula to branches. Orthogonal to the catalog. | Not HARA. A class can be decided and the formula still miss a gate. |
| Requirement review | A brief of traces and impact. It does not move status. | A different kind. proof review req is not this hop. |
Not the walkthrough brief. See requirement review. |
| Jama | The authoring programme. Reviews if you put them there. | Fail the merge when the SW-level FRETish shall has no grounded record. | Not Jama's review field. Jama still authors. We have not run a frozen Jama pack. |
The teaching graph is still a green formula next to a flag the formula never named. Run the bundle. Cite the bypass. Amend the formula if the code is the source of truth. Do not write "intentional extra gate" and call that conformance.
proof req context SW-REQ-065
proof review record --kind spec_conformance --subject SW-REQ-065 \
--citation pkg/handler.go:62@Handle \
--comment "Trigger maps to the per-field branch; the flag-disabled bypass is modelled by the operation_executed precondition."
proof audit --check spec_lint_spec_conformance_review_grounded
The trigger is SW-level, formalization_strategy: fretish, status review or approved. Informal SW shalls use
spec_lint_sw_informal_witnessed
instead. The formula language lives on
FRETish.
The walkthrough brief lives on
requirement review.
Hazard classes live on
hazard analysis.
Jama still authors.
Proof vs Jama.
03 · The honest loss
A citation is not a proof of the Go. Jama still authors.
The audit does not judge whether the formula is correct. It judges whether the reviewer left mechanical evidence of having read the code: a record, a citation that resolves to an annotation, a comment of at least sixty characters. A long wrong comment still passes. We have not scored this slice against a frozen Jama review pack or a second human's judgment. The loss is named, not scored.
Syntax of the formula stays on FRETish. Informal witnesses stay on the sibling check, not this H1. Jama still authors.
04 · Nearby questions
What is spec conformance? Same question. Same URL.
How do I keep a FRETish formula true against the code? Same hop. Bundle, cite, audit.
Is this FRETish? FRETish is the language. This hop is the read of the Go. See FRETish.
Is this requirement review? No. That brief does not move status and does not require a code citation. See requirement review.
Is Proof a Jama alternative for reviews? No. Jama still authors. Proof vs Jama.