Topic · catalog completeness

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

Thirty-eight names in proof.yaml is not a catalog.

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

Same project. A class list, or this stamp.

proof.yaml still names thirty-eight classes. Click the tabs.

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
Stamp green

This hop

No catalog_completeness JSON. The four invariants never ran.

No stamp

The list

Keep the wiki. It still owns the names you want. That is not this hop.

Keep the list

Proof

  • Ask do yaml, catalog, rules, and checklists still agree
  • Out four finding kinds, each with a named fix
Uncataloged class is named

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

Proof names the drift. It does not write the class.

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 people type next.

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.