# <rule> <file-glob> <namespace> <expected|report>, relative to the repository
# root.  A number is a gate: the files must have exactly that many findings
# each.  `report` is counted and printed, never failed.  A fixture with a
# number > 0 is the rule's negative control: it proves the matcher fires, so a
# zero elsewhere is not vacuous.

# Negative controls.
rule3-no-loops               tools/jlt-lint/fixtures/rule3-loops.cpp  jlt_listing  4
rule3-no-self-recursion      tools/jlt-lint/fixtures/rule3-recursion.cpp  jlt_listing  11
rule3-no-mutual-recursion    tools/jlt-lint/fixtures/rule3-mutual.cpp  jlt_listing  5
rule2-definition             tools/jlt-lint/fixtures/rule2-definition.cpp  jlt_listing  16
rule2-constrained-templates  tools/jlt-lint/fixtures/rule2-constraints.cpp  jlt_listing  2
rule2-no-inline-requires     tools/jlt-lint/fixtures/rule2-inline-requires.cpp  jlt_listing  4
rule2-decided-resolution     tools/jlt-lint/fixtures/rule2-decided-resolution.cpp  jlt_listing  6
rule2-context-order          tools/jlt-lint/fixtures/rule2-context-order.cpp  jlt_listing  2
rule2-converted-result       tools/jlt-lint/fixtures/rule2-converted-result.cpp  jlt_listing  15
rule1-no-inheritance         tools/jlt-lint/fixtures/rule1-inheritance.cpp  jlt_listing  3
inventory                    tools/jlt-lint/fixtures/inventory.cpp  jlt_listing  7
rule1-constexpr              tools/jlt-lint/fixtures/rule1.cpp        jlt_listing  3
rule1-const-call-operator    tools/jlt-lint/fixtures/rule1.cpp        jlt_listing  1
rule1-no-throw               tools/jlt-lint/fixtures/rule1.cpp        jlt_listing  1
rule1-no-static-locals       tools/jlt-lint/fixtures/rule1.cpp        jlt_listing  1
rule1-lvalue-reference-params     tools/jlt-lint/fixtures/rule1.cpp  jlt_listing  2
rule1-rvalue-reference-params     tools/jlt-lint/fixtures/rule1.cpp  jlt_listing  3
rule1-forwarding-reference-params tools/jlt-lint/fixtures/rule1.cpp  jlt_listing  2
rule1-boxed-mutable-pointee   tools/jlt-lint/fixtures/boxed.cpp  jlt_listing  3
rule1-no-volatile             tools/jlt-lint/fixtures/volatile.cpp  jlt_listing  3
rule1-no-reference-returns    tools/jlt-lint/fixtures/members.cpp  jlt_listing  5
rule1-const-member-functions  tools/jlt-lint/fixtures/members.cpp  jlt_listing  3
rule1-no-mutable-globals      tools/jlt-lint/fixtures/globals.cpp  jlt_listing  3
rule1-no-escaping-reference-captures tools/jlt-lint/fixtures/captures.cpp  jlt_listing  3
rule1-boxed-identity          tools/jlt-lint/fixtures/boxed.cpp  jlt_listing  5

# The paper's listings: gated.
rule3-no-loops               src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule3-no-self-recursion      src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule3-no-mutual-recursion    src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
# The listings' one Rule 2 finding is Listing 2's twice_loose, the paper's
# deliberate breach of the rule: the check confirms the paper's claim.
rule2-definition             src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  1
rule2-constrained-templates  src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  report
rule2-no-inline-requires     src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule2-decided-resolution     src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule2-context-order          src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule2-converted-result       src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-no-inheritance         src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-constexpr              src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-const-call-operator    src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-no-throw               src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-no-static-locals       src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-lvalue-reference-params src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-rvalue-reference-params src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-forwarding-reference-params src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-boxed-mutable-pointee   src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-boxed-identity          src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-no-volatile             src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-no-reference-returns    src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-const-member-functions  src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-no-mutable-globals      src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0
rule1-no-escaping-reference-captures src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  0

# The paper's Listing 5, the tensor exhibit's panel (namespace listing5 of the
# tensor test): gated at 0 under every rule the other listings are gated on,
# the panel having reported clean; the proxy and the inventory are reported.
rule3-no-loops               src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule3-no-self-recursion      src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule3-no-mutual-recursion    src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule2-definition             src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule2-constrained-templates  src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  report
rule2-no-inline-requires     src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule2-decided-resolution     src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule2-context-order          src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule2-converted-result       src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-no-inheritance         src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-constexpr              src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-const-call-operator    src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-no-throw               src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-no-static-locals       src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-lvalue-reference-params src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-rvalue-reference-params src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-forwarding-reference-params src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-boxed-mutable-pointee  src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-boxed-identity         src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-no-volatile            src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-no-reference-returns   src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-const-member-functions src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-no-mutable-globals     src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
rule1-no-escaping-reference-captures src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  0
inventory                    src/test/cpp/modules/dedekind/category/tensor_exhibit_test.cpp  listing5  report

# The category module (#1061): a rule is gated at 0 once the module is clean
# under it; the rest are reported, not gated.
rule3-no-loops               src/main/modules/dedekind/category/*.cppm  category  0
rule3-no-self-recursion      src/main/modules/dedekind/category/*.cppm  category  0
rule3-no-mutual-recursion    src/main/modules/dedekind/category/*.cppm  category  0
rule2-definition             src/main/modules/dedekind/category/*.cppm  category  0
rule2-constrained-templates  src/main/modules/dedekind/category/*.cppm  category  report
rule2-no-inline-requires     src/main/modules/dedekind/category/*.cppm  category  0
rule2-decided-resolution     src/main/modules/dedekind/category/*.cppm  category  0
rule2-context-order          src/main/modules/dedekind/category/*.cppm  category  0
rule2-converted-result       src/main/modules/dedekind/category/*.cppm  category  0
rule1-no-inheritance         src/main/modules/dedekind/category/*.cppm  category  0
rule1-constexpr              src/main/modules/dedekind/category/*.cppm  category  0
rule1-const-call-operator    src/main/modules/dedekind/category/*.cppm  category  0
rule1-no-throw               src/main/modules/dedekind/category/*.cppm  category  0
rule1-no-static-locals       src/main/modules/dedekind/category/*.cppm  category  0
rule1-lvalue-reference-params src/main/modules/dedekind/category/*.cppm  category  0
rule1-rvalue-reference-params src/main/modules/dedekind/category/*.cppm  category  0
rule1-forwarding-reference-params src/main/modules/dedekind/category/*.cppm  category  0
rule1-boxed-mutable-pointee   src/main/modules/dedekind/category/*.cppm  category  0
rule1-boxed-identity          src/main/modules/dedekind/category/*.cppm  category  0
rule1-no-volatile             src/main/modules/dedekind/category/*.cppm  category  0
rule1-no-reference-returns    src/main/modules/dedekind/category/*.cppm  category  0
rule1-const-member-functions  src/main/modules/dedekind/category/*.cppm  category  0
rule1-no-mutable-globals      src/main/modules/dedekind/category/*.cppm  category  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/category/*.cppm  category  0

# The inventory (#1079): the syntax each scope uses, by AST node kind, to diff
# against the kernel's grammar.  Not a rule, so reported, never gated.  The
# primary module interfaces sets.cppm and relational.cppm hold no namespace
# and are globbed around.
inventory                    src/test/cpp/modules/dedekind/category/jlt_listings_test.cpp  jlt_listing  report
inventory                    src/main/modules/dedekind/category/*.cppm  category  report
inventory                    src/main/modules/dedekind/sets/[!s]*.cppm  sets  report
inventory                    src/main/modules/dedekind/sets/si*.cppm  sets  report

# The relational module (#1085): gated at 0 like category, rule by rule.
# On rows.cppm, two rules are gated at today's counts, a ratchet that only
# goes down: its throws, the API (not_admitted, which Python reads as an
# error), and the recursion of an object's columns and equality over its sums
# (a run-time tree; no fold over it yet).  Both are left for a decision (#1096).
rule3-no-loops               src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule3-no-loops               src/main/modules/dedekind/relational/rows.cppm  relational  0
rule3-no-self-recursion      src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule3-no-self-recursion      src/main/modules/dedekind/relational/rows.cppm  relational  0
rule3-no-mutual-recursion    src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule3-no-mutual-recursion    src/main/modules/dedekind/relational/rows.cppm  relational  5
rule2-definition             src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule2-definition             src/main/modules/dedekind/relational/rows.cppm  relational  0
rule2-constrained-templates  src/main/modules/dedekind/relational/[!r]*.cppm  relational  report
rule2-constrained-templates  src/main/modules/dedekind/relational/rows.cppm  relational  report
rule2-no-inline-requires     src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule2-no-inline-requires     src/main/modules/dedekind/relational/rows.cppm  relational  0
rule2-decided-resolution     src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule2-decided-resolution     src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-no-inheritance         src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-no-inheritance         src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-constexpr              src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-constexpr              src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-const-call-operator    src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-const-call-operator    src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-no-throw               src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-no-throw               src/main/modules/dedekind/relational/rows.cppm  relational  7
rule1-no-static-locals       src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-no-static-locals       src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-lvalue-reference-params src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-lvalue-reference-params src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-rvalue-reference-params src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-rvalue-reference-params src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-forwarding-reference-params src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-forwarding-reference-params src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-boxed-mutable-pointee  src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-boxed-mutable-pointee  src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-boxed-identity         src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-boxed-identity         src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-no-volatile            src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-no-volatile            src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-no-reference-returns   src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-no-reference-returns   src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-const-member-functions src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-const-member-functions src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-no-mutable-globals     src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-no-mutable-globals     src/main/modules/dedekind/relational/rows.cppm  relational  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/relational/[!r]*.cppm  relational  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/relational/rows.cppm  relational  0
inventory                    src/main/modules/dedekind/relational/[!r]*.cppm  relational  report
inventory                    src/main/modules/dedekind/relational/rows.cppm  relational  report

# sets under the rules (#1085): a file is gated at 0 under a rule once it is
# clean; what is left is gated at today's counts, a ratchet that only goes
# down, and is the owner's to decide (terms.cppm's
# run-time terms, the inductive sets' recursion, the incrementable ℕ proxy, the
# forwarding arrows of image and the term connectives).  The primary
# interface sets.cppm holds no namespace and is globbed around.
rule1-constexpr              src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-constexpr              src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-rvalue-reference-params src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-rvalue-reference-params src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-const-member-functions src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-const-member-functions src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-const-call-operator    src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-const-call-operator    src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-no-static-locals       src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-no-static-locals       src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-boxed-mutable-pointee  src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-boxed-mutable-pointee  src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-boxed-identity         src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-boxed-identity         src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-no-volatile            src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-no-volatile            src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-no-mutable-globals     src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-no-mutable-globals     src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sets/[!s]*.cppm  sets  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sets/si*.cppm  sets  0
rule2-definition             src/main/modules/dedekind/sets/[!st]*.cppm  sets  0
rule2-definition             src/main/modules/dedekind/sets/si*.cppm  sets  0
rule2-definition             src/main/modules/dedekind/sets/terms.cppm  sets  116
rule2-decided-resolution     src/main/modules/dedekind/sets/[!st]*.cppm  sets  0
rule2-decided-resolution     src/main/modules/dedekind/sets/si*.cppm  sets  0
rule2-decided-resolution     src/main/modules/dedekind/sets/terms.cppm  sets  27
rule2-no-inline-requires     src/main/modules/dedekind/sets/[!st]*.cppm  sets  0
rule2-no-inline-requires     src/main/modules/dedekind/sets/si*.cppm  sets  0
rule2-no-inline-requires     src/main/modules/dedekind/sets/terms.cppm  sets  17
rule1-no-inheritance         src/main/modules/dedekind/sets/[!st]*.cppm  sets  0
rule1-no-inheritance         src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-no-inheritance         src/main/modules/dedekind/sets/terms.cppm  sets  1
rule3-no-loops               src/main/modules/dedekind/sets/[!st]*.cppm  sets  0
rule3-no-loops               src/main/modules/dedekind/sets/si*.cppm  sets  0
rule3-no-loops               src/main/modules/dedekind/sets/terms.cppm  sets  9
rule3-no-self-recursion      src/main/modules/dedekind/sets/[!st]*.cppm  sets  0
rule3-no-self-recursion      src/main/modules/dedekind/sets/si*.cppm  sets  0
rule3-no-self-recursion      src/main/modules/dedekind/sets/terms.cppm  sets  3
rule1-no-throw               src/main/modules/dedekind/sets/[!crst]*.cppm  sets  0
rule1-no-throw               src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-no-throw               src/main/modules/dedekind/sets/computability.cppm  sets  0
rule1-no-throw               src/main/modules/dedekind/sets/cardinality.cppm  sets  1
rule1-no-throw               src/main/modules/dedekind/sets/recursion.cppm  sets  1
rule1-no-throw               src/main/modules/dedekind/sets/terms.cppm  sets  38
rule1-lvalue-reference-params src/main/modules/dedekind/sets/[!cst]*.cppm  sets  0
rule1-lvalue-reference-params src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-lvalue-reference-params src/main/modules/dedekind/sets/computability.cppm  sets  0
rule1-lvalue-reference-params src/main/modules/dedekind/sets/cardinality.cppm  sets  0
rule1-lvalue-reference-params src/main/modules/dedekind/sets/terms.cppm  sets  3
rule1-no-reference-returns   src/main/modules/dedekind/sets/[!cs]*.cppm  sets  0
rule1-no-reference-returns   src/main/modules/dedekind/sets/si*.cppm  sets  0
rule1-no-reference-returns   src/main/modules/dedekind/sets/computability.cppm  sets  0
rule1-no-reference-returns   src/main/modules/dedekind/sets/cardinality.cppm  sets  0
rule1-forwarding-reference-params src/main/modules/dedekind/sets/[!es]*.cppm  sets  0
rule1-forwarding-reference-params src/main/modules/dedekind/sets/extensional.cppm  sets  0
rule1-forwarding-reference-params src/main/modules/dedekind/sets/expressions.cppm  sets  8
rule1-forwarding-reference-params src/main/modules/dedekind/sets/singleton.cppm  sets  3
rule3-no-mutual-recursion    src/main/modules/dedekind/sets/[!rs]*.cppm  sets  0
rule3-no-mutual-recursion    src/main/modules/dedekind/sets/si*.cppm  sets  0
rule3-no-mutual-recursion    src/main/modules/dedekind/sets/recursion.cppm  sets  9
rule2-constrained-templates  src/main/modules/dedekind/sets/[!s]*.cppm  sets  report
rule2-constrained-templates  src/main/modules/dedekind/sets/si*.cppm  sets  report

# order under the rules (#1085): gated like category, every rule at 0 except
# rule2-constrained-templates and the inventory, reported.  halfspace.cppm and
# runs.cppm hold the run-time layer (std::map run lists, heap term trees, the
# throwing order fragment, the hand-written views), left for a decision (#1094):
# their remaining findings are gated at today's counts, a ratchet that only
# goes down.  The primary interface order.cppm holds no namespace.
inventory                    src/main/modules/dedekind/order/[!o]*.cppm  order  report
rule1-boxed-identity         src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-boxed-mutable-pointee  src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-const-call-operator    src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-const-member-functions src/main/modules/dedekind/order/[!hor]*.cppm  order  0
rule1-const-member-functions src/main/modules/dedekind/order/halfspace.cppm  order  0
rule1-const-member-functions src/main/modules/dedekind/order/runs.cppm  order  4
rule1-constexpr              src/main/modules/dedekind/order/[!hor]*.cppm  order  0
rule1-constexpr              src/main/modules/dedekind/order/halfspace.cppm  order  3
rule1-constexpr              src/main/modules/dedekind/order/runs.cppm  order  20
rule1-forwarding-reference-params src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-lvalue-reference-params src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-no-inheritance         src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-no-mutable-globals     src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-no-reference-returns   src/main/modules/dedekind/order/[!hor]*.cppm  order  0
rule1-no-reference-returns   src/main/modules/dedekind/order/halfspace.cppm  order  1
rule1-no-reference-returns   src/main/modules/dedekind/order/runs.cppm  order  1
rule1-no-static-locals       src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-no-throw               src/main/modules/dedekind/order/[!hor]*.cppm  order  0
rule1-no-throw               src/main/modules/dedekind/order/halfspace.cppm  order  3
rule1-no-throw               src/main/modules/dedekind/order/runs.cppm  order  0
rule1-no-volatile            src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule1-rvalue-reference-params src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule2-constrained-templates  src/main/modules/dedekind/order/[!o]*.cppm  order  report
rule2-decided-resolution     src/main/modules/dedekind/order/[!hor]*.cppm  order  0
rule2-decided-resolution     src/main/modules/dedekind/order/halfspace.cppm  order  1
rule2-decided-resolution     src/main/modules/dedekind/order/runs.cppm  order  1
rule2-definition             src/main/modules/dedekind/order/[!hor]*.cppm  order  0
rule2-definition             src/main/modules/dedekind/order/halfspace.cppm  order  0
rule2-definition             src/main/modules/dedekind/order/runs.cppm  order  2
rule2-no-inline-requires     src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule3-no-loops               src/main/modules/dedekind/order/[!hor]*.cppm  order  0
rule3-no-loops               src/main/modules/dedekind/order/halfspace.cppm  order  0
rule3-no-loops               src/main/modules/dedekind/order/runs.cppm  order  6
rule3-no-mutual-recursion    src/main/modules/dedekind/order/[!o]*.cppm  order  0
rule3-no-self-recursion      src/main/modules/dedekind/order/[!o]*.cppm  order  0

# The layers between category and algebra: ieee, topology and sequences.
# Each module's primary interface file is left out, as above.  A number holds
# a file at the findings it has today, so a change shows; `report` only counts.
rule3-no-loops                       src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule3-no-self-recursion              src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule3-no-mutual-recursion            src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule2-definition                     src/main/modules/dedekind/ieee/approx.cppm  ieee  0
rule2-definition                     src/main/modules/dedekind/ieee/ieee.cppm  ieee  2
rule2-constrained-templates          src/main/modules/dedekind/ieee/*.cppm  ieee  report
rule2-no-inline-requires             src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule2-decided-resolution             src/main/modules/dedekind/ieee/approx.cppm  ieee  2
rule2-decided-resolution             src/main/modules/dedekind/ieee/ieee.cppm  ieee  0
rule1-no-inheritance                 src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-constexpr                      src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-const-call-operator            src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-no-throw                       src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-no-static-locals               src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-lvalue-reference-params        src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-rvalue-reference-params        src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-forwarding-reference-params    src/main/modules/dedekind/ieee/approx.cppm  ieee  0
rule1-forwarding-reference-params    src/main/modules/dedekind/ieee/ieee.cppm  ieee  2
rule1-boxed-mutable-pointee          src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-boxed-identity                 src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-no-volatile                    src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-no-reference-returns           src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-const-member-functions         src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-no-mutable-globals             src/main/modules/dedekind/ieee/*.cppm  ieee  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/ieee/*.cppm  ieee  0
inventory                            src/main/modules/dedekind/ieee/*.cppm  ieee  report
rule3-no-loops                       src/main/modules/dedekind/topology/neighborhood.cppm  topology  1
rule3-no-self-recursion              src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule3-no-mutual-recursion            src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule2-definition                     src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule2-constrained-templates          src/main/modules/dedekind/topology/[!t]*.cppm  topology  report
rule2-no-inline-requires             src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule2-decided-resolution             src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-no-inheritance                 src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-constexpr                      src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-const-call-operator            src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-no-throw                       src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-no-static-locals               src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-lvalue-reference-params        src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-rvalue-reference-params        src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-forwarding-reference-params    src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-boxed-mutable-pointee          src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-boxed-identity                 src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-no-volatile                    src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-no-reference-returns           src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-const-member-functions         src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-no-mutable-globals             src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/topology/[!t]*.cppm  topology  0
inventory                            src/main/modules/dedekind/topology/[!t]*.cppm  topology  report
rule3-no-loops                       src/main/modules/dedekind/sequences/convergence.cppm  sequences  5
rule3-no-loops                       src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule3-no-loops                       src/main/modules/dedekind/sequences/finite.cppm  sequences  0
rule3-no-loops                       src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule3-no-loops                       src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule3-no-loops                       src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule3-no-loops                       src/main/modules/dedekind/sequences/path.cppm  sequences  4
rule3-no-loops                       src/main/modules/dedekind/sequences/pst.cppm  sequences  1
rule3-no-loops                       src/main/modules/dedekind/sequences/ranges.cppm  sequences  2
rule3-no-loops                       src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule3-no-loops                       src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  2
rule3-no-loops                       src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule3-no-self-recursion              src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule3-no-self-recursion              src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule3-no-mutual-recursion            src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule3-no-mutual-recursion            src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/convergence.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/finite.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/path.cppm  sequences  5
rule2-definition                     src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/ranges.cppm  sequences  1
rule2-definition                     src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule2-definition                     src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule2-constrained-templates          src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  report
rule2-constrained-templates          src/main/modules/dedekind/sequences/samples.cppm  sequences  report
rule2-no-inline-requires             src/main/modules/dedekind/sequences/convergence.cppm  sequences  1
rule2-no-inline-requires             src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/finite.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/path.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/ranges.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule2-no-inline-requires             src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/convergence.cppm  sequences  7
rule2-decided-resolution             src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/finite.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/path.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/ranges.cppm  sequences  5
rule2-decided-resolution             src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule2-decided-resolution             src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/convergence.cppm  sequences  2
rule1-no-inheritance                 src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/finite.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/path.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/ranges.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule1-no-inheritance                 src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/convergence.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/finite.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/path.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/ranges.cppm  sequences  3
rule1-constexpr                      src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule1-constexpr                      src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-const-call-operator            src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule1-const-call-operator            src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/convergence.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/finite.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/path.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/ranges.cppm  sequences  2
rule1-no-throw                       src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule1-no-throw                       src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-no-static-locals               src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule1-no-static-locals               src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-lvalue-reference-params        src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule1-lvalue-reference-params        src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-rvalue-reference-params        src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule1-rvalue-reference-params        src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/convergence.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/finite.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/path.cppm  sequences  11
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/ranges.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule1-forwarding-reference-params    src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-boxed-mutable-pointee          src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule1-boxed-mutable-pointee          src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-boxed-identity                 src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule1-boxed-identity                 src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-no-volatile                    src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule1-no-volatile                    src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/convergence.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/finite.cppm  sequences  1
rule1-no-reference-returns           src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/path.cppm  sequences  1
rule1-no-reference-returns           src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/ranges.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule1-no-reference-returns           src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/convergence.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/finite.cppm  sequences  2
rule1-const-member-functions         src/main/modules/dedekind/sequences/fold.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/path.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/ranges.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule1-const-member-functions         src/main/modules/dedekind/sequences/samples.cppm  sequences  0
rule1-no-mutable-globals             src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  0
rule1-no-mutable-globals             src/main/modules/dedekind/sequences/samples.cppm  sequences  1
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/convergence.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/curve.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/finite.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/fold.cppm  sequences  1
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/limits.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/net.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/path.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/pst.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/ranges.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/relprod.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/tail_equivalence.cppm  sequences  0
rule1-no-escaping-reference-captures src/main/modules/dedekind/sequences/samples.cppm  sequences  0
inventory                            src/main/modules/dedekind/sequences/[!s]*.cppm  sequences  report
inventory                            src/main/modules/dedekind/sequences/samples.cppm  sequences  report
