The list
- Ask did we write the class names down
- Count 38 in proof.yaml, 25 cataloged
- Why collect never told you the rest no-op
Topic · catalog completeness
Gist
Catalog completeness is the four-invariant check that proof.yaml, the catalog, the signal rules, and each requirement checklist still name the same obligation classes. Proof runs proof audit --check catalog_completeness. A spreadsheet of class names is not that check. Jama still authors.
proof audit --check catalog_completeness
Keep the wiki if it already lists the classes you want. Keep Jama if it already holds the shalls. Neither one fails the merge when a signal rule names a class the catalog does not define.
01 · The class nobody cataloged
You can declare obligation classes the catalog never defines. Signal rules that name those classes silently no-op during collect.
The check runs at --stage spec, before signals collect. It fails up front when any of four invariants has drifted. Every obligation_class in proof.yaml needs a catalog entry, shipped or overlay. Every signal-rule metadata.proof.obligations reference has to resolve to a cataloged class. Every overlay under proof/catalog/ has to name a class the project actually declared. Every requirement obligation_checklist item has to map to a known class.
The four finding kinds are obligation_class_uncataloged, signal_rule_uncataloged, catalog_orphan, and req_checklist_undeclared. Each finding names the id, the invariant, and one of two legitimate fixes: supply the missing definition, or withdraw the reference. They are alternatives, not steps.
Requirement ids at L0 / L1 / L2 live on requirements completeness. The process stamp lives on software checklist. This hop is class drift, not a missing SYS-REQ id and not a Word list.
proof audit --check catalog_completeness --verbose
proof catalog list --overlay
proof catalog show csrf_protection
Inspect before you edit. proof catalog list --overlay shows overlay-only classes. proof catalog show loads the definition the project actually uses, shipped or overlay. Do not rename a reference to the nearest cataloged neighbour. That passes the audit while enforcing something nobody intended.
02 · The exhibit
proof.yaml still names thirty-eight classes. Click the tabs.
The list
This hop
No catalog_completeness JSON. The four invariants never ran.
No stampThe list
Keep the wiki. It still owns the names you want. That is not this hop.
Keep the listProof
Same project. A class list, or this stamp. Click the tabs.
| Surface | What they do | What Proof does | What we lose |
|---|---|---|---|
| Spreadsheet / wiki of classes | The names you wrote down. | Fail when yaml, catalog, rules, and checklists disagree. | We do not author the class for you. A green stamp is not a proof of the Go. |
| Requirements completeness | Whether L0 / L1 / L2 ids exist. | Whether obligation classes still resolve. | Not that hop. See requirements completeness. |
| Software checklist | A process list you tick. | Four drift invariants on the catalog. | Not FAIR or Jotform. See software checklist. |
| Jama | The authoring programme. Reviews if you put them there. | Fail the merge when a class has drifted. | Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack. |
The teaching graph is still one project next to one catalog. Run the check. Read the finding kind. Define the class or withdraw the reference. Do not bulk-delete obligation_classes to clear invariant 1. If a class does not apply to one requirement, suppress it with a reason.
proof catalog new csrf_protection --category scenario --summary "state-changing POST is CSRF-protected"
proof req edit SYS-REQ-010 --remove-obligation csrf_protection
proof audit --check catalog_completeness --verbose
The id list stays on requirements completeness. The process stamp stays on software checklist. Jama still authors. Proof vs Jama.
03 · The honest loss
A green catalog_completeness is four agreements. It is not a proof of the Go. Jama still authors.
The check does not judge whether csrf_protection is the right obligation for that shall. It does not write the catalog YAML. It does not collect signals. A passing result is not coverage, not MC/DC, and not a solver verdict. We have not scored this graph against a frozen Jama pack or a second human's catalog review. The loss is named, not scored.
The id hop stays on requirements completeness. The engagement stays on software correctness audit. Jama still authors.
04 · Nearby questions
What is catalog completeness? Same question. Same URL.
Is this requirements completeness? No. That hop is whether L0 / L1 / L2 ids exist. This hop is obligation class drift. See requirements completeness.
Is this a software checklist? No. That hop stamps a process list. See software checklist.
What is a requirements catalog? University catalog-year pages own that SERP. The command on this install is proof catalog.
Is Proof a Jama alternative for the catalog? No. Jama still authors. Proof vs Jama.