A Property Kind Calculus for Measurement Metrology

33.2. The commands at a glance🔗

What the annotations declare, the commands ask. There are three forms of asking, and a command's suffix names which form it is — so the table below reads in pairs and triples, each base command followed by its suffixed siblings.

  • A bare command reads: the answer goes to the InfoView, for a person.

  • A reading frozen with #guard_msgs becomes a record. The whole answer is now reviewable in the diff, and a changed answer is a failed build. This is the form most of the audits take.

  • A _clean command is the gate that a record cannot be, and the distinction is the reason it exists as a separate command rather than as a stricter pin. A record can be re-blessed: re-pinning a message whose summary reads ⚠ UNTAGGED — invariant 6/7 violation leaves the build green with the invariant dead, and nothing about the pin itself distinguishes that from a legitimate update. The mechanism that makes an inventory reviewable is exactly the mechanism that lets the invariant be signed away. So a _clean command carries no message and pins nothing: it throws. There is nothing there to re-bless.

_decide is the fourth suffix and a different axis: the same check run in the kernel, leaving a theorem behind rather than a message. #kind_contract_decide does not print that a boundary agrees — it adds c.kindContractOk and lets #print axioms answer for it.

Reading the table, then: the Pinned column says what freezing a command's answer buys, and reads — for the commands whose job is to be run by hand.

Command

Library

What it answers

Pinned

#kind_boundary_audit ns …

PropertyKindCalculus

Walks every compute definition in the namespaces and reports each that mints or erases a registered carrier, with the kinds it mints and the tier that sanctions it; an untagged boundary site is reported as a violation.

a new anonymous interior mint fails the build, the way a new axiom fails a pinned axiom profile

#kind_boundary_clean ns …

PropertyKindCalculus

The invariant rather than the inventory: throws when any boundary-active declaration in scope carries no tier attribute. It carries no message and pins nothing, so re-blessing the audit's pin cannot silence it.

the command is the gate; there is no message to re-bless

#kind_mint_ratchet ns …

PropertyKindCalculus

Throws on a raw carrier mint inside a @[kindCrossing] or @[carrierVocab] body, where every mint must instead be a licensed derivation or a Quantity.attest whose reason is harvested. @[kindConst], @[kindIngest] and @[kindEmission] keep raw mints legal at the declaration granularity.

the command is the gate; at the ratcheted tiers a new anonymous mint fails the build instead of joining a list nobody re-reads

#kind_crossings [ns …]

PropertyKindCalculus

Enumerates the tagged boundary registry — every sanctioned site with the first line of its docstring, grouped by tier.

—

#kind_edges k

PropertyKindCalculus

Prints every authored kind-algebra edge mentioning the kind k — named witness theorems, call-site witnesses lifted out of definitions, and operator-table registrations.

the complete set of edges a kind supports is fixed, so a new one is a visible change

#kind_dimensional_coverage ns …

Dimension

Resolves every authored edge's kinds to their declared DimensionedKind and evaluates the family's dimensional rule, reporting each edge as coherent, parametric, undimensioned, conflicting, or incoherent.

an edge over a kind carrying no dimension, or one whose dimensions do not balance, fails the build

#kind_dimensional_clean ns …

Dimension

The coverage invariant rather than its record: throws while any edge in scope is undimensioned, conflicting or incoherent. Parametric generic vocabulary is not a violation. Its one false alarm is an under-imported closure, which the error says.

the command is the gate; there is no message to re-bless

#kind_examination_coverage ns …

Dimension

Walks every dimension-one DimensionedKind in the namespaces and reports each as individuated by its examination principle, exempted by an @[kindPrincipleFree] mark, or UNINDIVIDUATED — the census behind the model template's M6, which the dimension functor cannot supply because it sends every such kind to 1.

a dimension-one kind declared without a principle or a mark fails the pin

#kind_examination_clean ns …

Dimension

The census as a gate: throws while any dimension-one kind in scope carries neither an examination principle nor a declared exemption. Records an audit receipt exactly when it does not fire, which is what lets a document's M6 read green only in a build where the census ran.

the command is the gate; there is no message to re-bless

#kind_relation_coverage ns …

PropertyKindCalculus

Walks every Provenance.Contract in the namespaces and reports each as witnessed by the theorem edges naming it (relations walked unscoped, counterexamples excluded), exempted by a @[kindRelationFree] mark, or UNWITNESSED — the census behind M12.

a boundary declared anywhere in scope that no edge names fails the pin

#kind_relation_clean ns …

PropertyKindCalculus

The census as a gate: throws while any declared boundary in scope is unwitnessed and unexempted. Records an audit receipt exactly when it does not fire.

the command is the gate; there is no message to re-bless

#kind_mereology_coverage ns …

PropertyKindCalculus

Walks every produced port (output or conditional) of every Provenance.Contract in the namespaces and reports each as classed by its declared aggregation class or UNDECLARED — the census behind M15. No exception mark: the class vocabulary names every honest negative.

a produced port with no aggregations entry fails the pin

#kind_mereology_clean ns …

PropertyKindCalculus

The census as a gate: throws while any produced port in scope carries no aggregation class. Records an audit receipt exactly when it does not fire.

the command is the gate; there is no message to re-bless

#kind_inversion_coverage ns …

PropertyKindCalculus

Walks every Provenance.Contract in the namespaces that an inverts edge names as its left side and reports each as guarded by a conditional port (with its decider where named), exempted by a @[kindInversionTotal] mark, or UNGUARDED — the census behind M21's domain half.

an inverted boundary with no conditional port and no exemption fails the pin

#kind_inversion_clean ns …

PropertyKindCalculus

The census as a gate: throws while any inverted boundary in scope is unguarded and unexempted. Records an audit receipt exactly when it does not fire.

the command is the gate; there is no message to re-bless

#kind_wellposedness_coverage ns …

PropertyKindCalculus

Walks every inverts edge (Provenance.Relation) in the namespaces and reports each as well-posed by its wellPosed witness on its declared domain, surfaced by its ambiguity witness, or UNDECIDED — the census behind M20 and M21's ambiguity half. No exception mark: the two fields are total over the honest negatives.

an inverts edge declaring neither a well-posedness nor an ambiguity fails the pin

#kind_wellposedness_clean ns …

PropertyKindCalculus

The census as a gate: throws while any inverts edge in scope answers for its inversion with neither a well-posedness witness nor a surfaced ambiguity. Records an audit receipt exactly when it does not fire.

the command is the gate; there is no message to re-bless

#kind_diagnostic_coverage ns …

PropertyKindCalculus

Walks every @[kindDiagnostic]-marked kind in the namespaces and reports each as exported by the produced ports carrying it or SIDECHANNELED — the census behind M22. Enrollment is the mark, so a scope with no marks records that visibly.

a marked kind no declared boundary exports fails the pin

#kind_diagnostic_clean ns …

PropertyKindCalculus

The census as a gate: throws while any diagnostic kind in scope is carried by no produced port. Records an audit receipt exactly when it does not fire.

the command is the gate; there is no message to re-bless

#kind_scc [ns …]

Graph

The kind-level component report: the authored kinds in scope, their licensed-derivation edge count, every inter-derivability cluster of two or more kinds with the edges that wire it, and whether the kind digraph is acyclic.

the reviewed enumeration to pin beside #kind_edges — a new cluster is a visible change

#kind_scc_clean [ns …] [(k …) …]

Graph

Inter-derivability as a gate: every cluster of two or more mutually derivable kinds must be declared as a parenthesized group at the same size; an undeclared cluster throws with its wiring printed.

a new witness registration that merges two kind roles fails the build at the vocabulary level, before any value walks the new cycle

#kind_scc_d2 "dir" [ns …]

Graph

Writes the D2 diagram sources of the component findings into a directory — the condensation and one file per inter-derivability cluster. The script-facing twin of #kind_scc, run from a lake env lean driver.

—

#kind_footprint c ns…

Graph

The SCC footprint of a declared boundary against the kind graph: the component partition of its port and interior kinds, the same-kind port groups, the review-strength sites, and the verdict naming where the module's guarantee comes from.

the boundary's exposure to inter-derivability is fixed, so a widened footprint is a visible change

#kind_ports d

PropertyKindCalculus

Prints every port a declaration's kind-typed signature states — inputs, configuration reads, outputs, each with its stated kind — followed by the signature's unkinded positions.

a port that changes kind, or an unkinded position that appears, fails the pin

#kind_occurrences d

PropertyKindCalculus

Prints every authored license discharged inline in a declaration's value — each consuming application's edge with the operand quantities that met there, in body order, with multiplicity.

the licenses a body actually discharges are fixed, so a new one is a visible change

#kind_graph d

PropertyKindCalculus

Prints the constructed step graph — ports, introduction events, wired occurrences with their assumed/partial markers, exits — and the evaluated well-formedness verdict.

the wiring is fixed, so a rewired body is a visible change

#kind_graph_decide d

PropertyKindCalculus

Reflects the constructed graph into a term and adds the theorem d.kindGraphWf, proved by decide — kernel reduction of the structural checker on the harvested object. Errors out before troubling the kernel when the graph is not well-formed.

the command is the gate; the pin freezes the kernel receipt

#kind_assembly [d₁, d₂, …]

PropertyKindCalculus

Assembles the listed declarations into one multi-step graph and prints it — each level with its inclusion mode, the union graph, the citation relation, and the evaluated verdict.

the assembled wiring is fixed across the whole set, not one declaration at a time

#kind_assembly_decide [d₁, d₂, …]

PropertyKindCalculus

Reflects the assembled union graph into a term and adds the theorem d₁.kindAssemblyWf, proved by decide. Errors out before troubling the kernel when the assembly is not well-formed.

the command is the gate; the pin freezes the kernel receipt

#kind_contract c

PropertyKindCalculus

Assembles the members a contract declares and compares that assembly's boundary with the boundary the contract declares — parameters and decided conditional ports, then what each side has and the other does not, then the verdict. Where #kind_assembly says the wiring holds together, this says the members are the ones the declared interface belongs to.

a boundary that stops being the one its members compute fails the pin

#kind_contract_decide c

PropertyKindCalculus

Adds the theorem c.kindContractOk : c.Agrees (graph), proved by decide — kernel reduction of the boundary comparison against the author's own contract definition, which the proposition names rather than copies. Errors out when the boundaries disagree.

the command is the gate; the pin freezes the kernel receipt

#kind_contracts ns …

PropertyKindCalculus

Surveys every Provenance.Contract declared under the namespaces — membership is by type, so declaring a boundary enrolls it — re-checking each as #kind_contract does, with violations as ✗ rows and @[kindCounterexample] declarations as exempted ⊘ rows.

a boundary declared anywhere in scope and inconsistent with what its members compute fails the pin, including one nobody remembered to check by name

#kind_contracts_decide ns …

PropertyKindCalculus

The same sweep as a hard gate with kernel receipts: any violation is an error, and each passing contract gains the kernel theorem c.kindContractOk unless it already stands.

the command is the gate; the pin freezes the kernel receipts

#kind_relation r

PropertyKindCalculus

Checks the theorem edge a Provenance.Relation declares between two contracts — a sorry-free witness, the conclusion in the claimed shape, the tolerance, hypothesis and license clauses each answered for by name — and prints it.

every failure throws, so the command is the report and the gate at once — there is no reading of it that states a violation

#kind_relations ns …

PropertyKindCalculus

The by-type edge survey: every Provenance.Relation under the namespaces re-checked as #kind_relation checks one, failures as ✗ rows and counterexamples as ⊘ rows, the header counting edges, violations and exemptions.

a newly violated edge fails the pin, and so does a vanished one or an exemption nobody declared

#kind_discharges c d

PropertyKindCalculus

Compares two contracts with no graph and no harvest: what the deploying contract did with each parameter the deployed contract handed it, and whether anything was left unanswered.

a parameter that stops being answered is a visible change

#kind_discharges_decide c d

PropertyKindCalculus

Adds the theorem c.kindDischarges.d : c.Discharges d, proved by decide — kernel reduction of the tier relation on the two authors' own contract definitions. Errors out when the tiers do not stack, printing what is unanswered.

the command is the gate; the pin freezes the kernel receipt

#kind_unkinded c

PropertyKindCalculus

Prints the unkinded ledger of the scope a contract declares: the count, then one line per naked position and per unkinded flow, deduplicated by member.

the pin fails when a silence appears AND when one is fixed, which is what keeps the ledger honest about which direction it moved

#kind_unkinded_clean c

PropertyKindCalculus

The ledger as a gate: errors unless the scope's ledger is empty. Separate from the pin above for the reason every violation-capable pin needs a separate gate — pinning a violation is how it stops being noticed.

the command is the gate; there is no message to re-bless

#kind_contract_propagation c

PropertyKindCalculus

The propagation relation of a contract over the assembly its members compute: which source ports reach which produced ports.

—

#kind_output_ledger c

PropertyKindCalculus

The per-output assumption ledger and trust decomposition of every produced port of a contract, over the assembly its members compute.

—

#kind_budget b c

Uncertainty

Checks an uncertainty budget's attachment to a boundary and renders it: the port must be a produced port at the budget's kind, the assembly acyclic, every term naming a source that influences the port — and the influencing sources the budget omits render as unbudgeted source(s), so what is not propagated is in the report rather than absent.

every violation throws, so the command is the report and the gate at once

#pkc_index "…" [ns …]

Index

Prints one generated index as plain text — the same table a document renders, available without building a document.

a derived table that stops matching is a build failure rather than an absence nobody notices

#pkc_summary_overflow [ns …]

Index

Reports the docstrings an index table quotes whose first paragraph is too long for the column that quotes it, widest first.

—

#pkc_index_page "…" ["…", …] [ns …]

Index

Writes the named indexes into the elaborating module's own module docstring, so doc-gen4 renders them as that module's page.

—