Data classification

Table of Contents

1. Summary

A modeller classifies a set of data before choosing any shape for it. The pages below carry that decision in a fixed order: the closed set of classifications, the form that records a classification and the pattern it selected, and the one transport a classification needs when its owners are several.

The order is the argument. The classifications define the words and the relatedness test that sanctions each one, and keep a bundle distinct from a package. The checklist turns the definition into a decision recorded before a model is written. The transport assumes the decision, and says how a package crosses owners that cannot share a transaction, with the bundle as its atomic unit. Read out of order, the transport is a mechanism with no reason for existing and the checklist is a form with no definitions behind it.

2. Detail

2.1. Reading order

  1. Data classifications: entity, list, family, bundle, package and artefact — start here. The set is closed, which is what makes a set that fits none of it a finding rather than a shape to invent. This page states the anti-type, the sentence that refuses it, the decision rule, the relatedness test that separates a bundle from a package, and the rule that a compile error does not reclassify data.
  2. The data classification checklist — next, the form. Page one says which classification a set is; this page asks for the invariant, the owners, the bundle-or-package answer, the consistency point and the forbidden shape, in a fixed order, so the answer can be reviewed. Its worked examples apply the definitions to a list, a family, a bundle, a package and an ORE conventions file.
  3. Transporting a package — last, and only when page two answers Bundle or Package. The classification states that the bundle is atomic in one owner's unit_of_work and that a package is never atomic across bundles or owners; page three is the mechanism that keeps that promise — the manifest, the archive and its parts, one message per bundle, and the transactionality no transaction can supply across owners.

2.2. Where the classifications are applied

The definitions settle what a set is. The catalogue settles which sets this system actually has: The bundle and package catalogue enumerates every candidate set in the code and the models, with its invariant or the finding that none exists, its owner count, whether it is a bundle or a package, the atomicity it has today with a file reference, the atomicity it requires, and its status. Read it after the pages above: it is the evidence that the classification is decidable once, per set, instead of per feature.

2.3. Why the order earns a structure note

Step two cannot be filled in without step one's vocabulary, and step three is safe to read only after step two has said the set crosses owners. A reader who searches the transport first, as the mechanism with the most detail, gets a design with no test for when it applies; a reader who starts at the checklist gets questions whose answers are on another page. The pages settle in one reading when they are read in the order above, and that order is authored here rather than computed from a title match.

3. What this cluster does not cover

  • The pattern library a classification selects from: Codegen patterns: choosing a model shape. Step 7 of the checklist reads it, and it owns the choice of pattern once the classification is fixed.
  • The regimes that judge a component's data model: Data-Oriented Design in ORE Studio. The classifications say what a set is; the regimes say where the axioms apply.
  • How an entity is named, addressed, written and built: Entities.
  • Where the archive and the manifest live, from the storage side: Data storage, which is also a structure note and also orders the transport page.
  • The bus and the message contract: Message Queue.

4. See also

  • Knowledge — the index this structure note hangs from.
  • The bundle and package catalogue — the enumeration of every candidate set in the code, its invariant, its owners, whether it is a bundle or a package, its atomicity today and required, and its status. It applies this cluster to the sets the system holds, and it is where a modeller checks whether the set in front of them has already been classified.
  • Zettelkasten — what a structure note is, and why its order is authored rather than computed.

Emacs 29.3 (Org mode 9.6.15)