package catalogue // A definition names no installation (novox/hq ADR 0112, ADR 0155, issues 122 and 134). // // A module definition holds what is true of the module everywhere; what is particular to one mesh — // a public name, a forge's address, a node's public address — is resolved at assignment. The rule // stood for a month with nothing checking it, and a sweep found thirty of seventy-one definitions // naming the installation they were written in. This is the check. // // **What is judged is what the mesh acts on, not what a person reads.** A domain in a `why` or a // `description` is documentation the mesh never reads; reporting it beside `KC_HOSTNAME` would teach // people to ignore the report. What is judged is every other string value: a name under a public // top-level domain, or a public address. Two families of name are the world's and not this mesh's, // and are allowed where they can only mean the world: the public registries an `image` may be pulled // from, and the public resolvers a machine may forward to. The container runtime's own alias for // its host is the runtime's, true on every machine that runs it. // // **A name that is right where it stands is declared, one by one, with its reason.** A federated // server's config names the federation's public directory; an application built outside the mesh // is pulled from the registry that built it, until the mesh builds it. The resource carries // `names-on-purpose`, a map from each such name to why — the shape `secrets-in-environment` has, // per name — so a reader sees which names a definition means to carry and why, a name the map does // not cover is still reported, and the catalogue-wide test is the list that shrinks as names move. // NamesOnPurpose is the catalogue-level word a resource carries for the names it means to name: // each name mapped to its reason. The host never sees it. const NamesOnPurpose = "names-on-purpose"