Topic · Description grammar enumeration complete

Description grammar enumeration complete

Gist

An approved shall that lists a closed set of [name:] trailers while the traced parser now accepts one more is not a silent pass. Proof runs proof audit --check description_grammar_enumeration_complete when you enable it, and names the omitted trailer. Warning. Off by default. Jama still authors.

proof audit --check description_grammar_enumeration_complete

Keep the Jama shall if it still names the old closed set. Keep the extra unit tests if they still pass. Neither one notices a parser that outgrew the list.

01 · The silent last pass

The parser grew. The description did not.

You can ship a shall that still lists [ki:] and [assumption:], leave the description byte-for-byte, and still look reviewed on paper. This hop stays quiet until VERIFY asks whether the traced parser now accepts a trailer the list omits.

The check is description_grammar_enumeration_complete. It is VERIFY-stage. It warns. It is off by default. It never adds a warning to a default audit until you enable it. It fires when three things are true together: an approved requirement's description enumerates a closed set of bracket-trailer tokens of the form [name: ...], the requirement traces to a parser, and that parser now recognizes more trailers than the description lists. The comparison is exact [name: token matching. It is not a fuzzy match. Internal-metadata trailers such as [reviewed:] stay out of scope. It does not write the YAML. It does not prove the Go.

This hop is the symmetric companion to description delta reviewed. That check only fires when a description is edited. A stale-but-unedited description that the parser quietly outgrew is invisible to it. This check compares the two sets structurally and fires on the gap, whether or not the wording was touched.

The two resolutions are alternatives, not steps. If the trailer is real, extend the description so it enumerates and explains the new [name:] shape, then re-review the requirement. If the omission is deliberate, that is a human risk-acceptance decision. Ask the human to record a waiver. Do not waive it yourself. Do not delete the parser trailer to silence the finding. Do not paste the bare token into the description with no explanation. That last move clears the set-difference and leaves the spec enumerating a trailer whose meaning it never states.

# SYS-REQ-1373  description enumerates ignore trailers [ki:] [assumption:]
# the traced parser later gained [category:]
# the description was never edited
# extra tests still green. the wording did not move
# proof config set project.checks.description_grammar_enumeration_complete.enabled true
# proof audit --check description_grammar_enumeration_complete
# [VERIFY] description_grammar_enumeration_complete
# 1 approved description omitted a trailer the parser now accepts
# SYS-REQ-1373  missing [category:]
# WARN
# proof help description_grammar_enumeration_complete

Read both sides before you edit anything. The description that claims a closed set, and the trailer the parser actually accepts. Enable it without committing the setting if you only want a targeted hop:

proof audit --check description_grammar_enumeration_complete \
  --set project.checks.description_grammar_enumeration_complete.enabled=true
proof spec show SYS-REQ-1373
proof req edit SYS-REQ-1373 \
  --description "<existing text, extended to enumerate and explain [category: ...]>"
proof audit --check description_grammar_enumeration_complete --verbose
proof help description_grammar_enumeration_complete

02 · The exhibit

Same unedited description. Silent last pass, or this hop.

One last green suite while SYS-REQ-1373 still lists [ki:] and [assumption:] and the traced parser now also accepts [category:]. Click the tabs.

The wording

  • Ask did the extra tests still pass
  • Delta description still lists [ki:] [assumption:]. parser now also accepts [category:]
  • Why nobody compared the closed list to the grammar
Tests still green

This hop

Nobody asked whether the unedited list still matches the parser. The finding kind is this hop.

Need unread

The wording

Keep the Jama cell. Keep the extra tests. That is not this hop.

Keep the record

Proof

  • Ask does CODE strictly contain DESCRIPTION
  • Out SYS-REQ-1373 omitted [category:], warning
Parser grew. Description did not.

Same unedited description. Silent last pass, or this hop. Click the tabs.

Surface What they do What Proof does What we lose
Green extra tests The suite still passes on the old bytes. Whether the parser accepts a trailer the description omits. We do not treat a green suite as a review of the grammar.
Description delta reviewed Whether a FRETish-backed description moved without a recorded review. Whether an unedited closed list still matches the parser. Not the wording-moved hop. See description delta reviewed.
Authored delta expected Whether a traced production file moved without a linked spec or design delta. Whether a present description still enumerates the grammar. Not the code-moved hop. See authored delta expected.
No authored change surface reviewed Whether a present refactor stamp covers a new exported identifier. Whether a present closed list still covers the parser. Not the export-under-stamp hop. See no authored change surface reviewed.
LDRA / VectorCAST An avionics toolchain that already owns C CIA. A warning the audit can name next to an omitted trailer. We do not replace LDRA. We have not run a frozen VectorCAST corpus. See Proof vs LDRA.
Jama cell A shall, and a link if you type it. A warning the audit can name next to the omitted trailer. Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack.

The teaching graph is still one approved requirement whose description lists a closed trailer set and whose traced parser now accepts one more. Close it by extending the description so it enumerates and explains the trailer, then re-review, or by asking a human to waive the hop if the omission is deliberate. Do not delete the parser trailer to make the sets match. Do not paste the bare token. The hop does not write that description for you. The hop does not waive itself.

# SYS-REQ-1373 description now enumerates [ki:] [assumption:] [category:]
# proof audit --check description_grammar_enumeration_complete
# 0 grammar-enumeration findings
# VERIFY may move on. pass sits on a list that matches the parser

The wording-moved hop stays on description delta reviewed. The rewrite hop stays on characterization testing and mirrors. Jama still authors. Proof vs Jama.

03 · The honest loss

Proof names the omitted trailer. It does not write the YAML, and it does not prove the Go.

A quiet proof audit --check description_grammar_enumeration_complete means every in-scope closed list currently matches the parser, or that nothing in-scope asked. Off by default. Jama still authors.

Warning when an approved description enumerates a closed [name:] set and the traced parser accepts a trailer the list omits. Off by default. Enable it, or a default audit never sees it. Default severity is warning, not error. It does not fail the merge by itself. Scope is the bounded ignore-trailer grammar the check documents, not every bracket in the tree. Exact [name: token matching only. No alias inference. Internal-metadata trailers such as [reviewed:] stay out of scope. Zero in-scope findings is a pass. A waived finding is a signed claim, not a proof that the omission is safe. The hop does not write the description. It does not edit the parser. It does not run proof waive for you. It does not prove the Go. A quiet hop is not a proof that Jama's shall matches the grammar, only that every in-scope closed list currently matches the parser or that nothing asked. We have not scored this floor against a frozen Jama pack or a VectorCAST corpus. The loss is named, not scored.

The wording-moved hop stays on description delta reviewed. The rewrite hop stays on characterization testing and mirrors. The engagement stays on software correctness audit. Jama still authors.

04 · Nearby questions

What people type next.

What is description grammar enumeration complete? Same question. Same URL.

Is this description delta reviewed? No. That hop reports a description-only edit on a FRETish-backed shall. This hop reports an unedited closed list the parser outgrew. See description delta reviewed.

Is this authored delta expected? No. That hop reports a missing no-authored-change stamp on a moved production file. This hop reports a missing trailer on a present description. See authored delta expected.

Is this no authored change surface reviewed? No. That hop reports a present refactor stamp over new public surface. This hop reports an omitted trailer. See no authored change surface reviewed.

Do extra tests clear an omitted trailer? No. A green suite is not a review of the grammar.

Does this finding fail the merge? No by default. The check keeps warning severity and stays off until you enable it.

Does a quiet hop prove the description matches the parser? No. The hop observes two token sets. It does not prove the Go.

Are internal trailers such as reviewed in scope? No. The hop only watches the documented exemption grammar.

Should an agent waive the omission? No. Accepting a spec that under-describes the grammar is a human decision.

Is this characterization testing? No. That page is rewrite-with-a-ledger. This hop is a closed list versus a parser. See characterization testing and mirrors.

Is Proof an LDRA alternative for the instrument? No. LDRA still owns the avionics toolchain. Proof vs LDRA.

Is Proof a Jama alternative for the shall? No. Jama still authors. Proof vs Jama.