Cross-File Associations

binding files to one another without containers

Clarifying

Clarifiers are optional, advanced annotations that can be added to a CFA. They let a content creator specify the cardinality of the pre and co sets in the CFA, and also what kind of relationship exists between the two. Without a clarifier, a CFA might communicate: “This file is pre and may have co files”. With a clarifier, it might communicate, “This file is pre and has exactly one co file that is a digital signature over the pre.”

Format

A clarifier is a three-part string. The first and third parts are cardinality numbers that quantify how many pre and co files, respectively, are known to be part of the set. For a CFA binding a spreadsheet to a digital signature, both of these numbers would be 1 — it’s a 1-to-1 relationship. For a CFA binding the 4 movements of a symphony, the first number would be 4, since all 4 movements are pre. If cardinality is not known, the number is omitted. A cardinality of 0 means that no files in the set have the corresponding status; 0 is the correct value for the pre portion of a clarifier for a common CFA, since it is known to have no pre files. One of the two cardinality values (either the pre or the co digits, but not both) may be omitted, leaving half of the cardinality unspecified.

The middle part of a clarifier is a dependency predicate symbol. Its role is somewhat like the role of the rel attribute on an HTML <link> tag.

clarifier structure

The following dependency predicate symbols are defined:

symbol meaning sample use cases
a co files are alternative views or versions of one another X-rays of the same broken bone produce a lateral and a top view (co files).
c pre cited by co An academic paper (pre) and a subsequent paper that quotes from it (co). An affidavit (pre) and a legal filing that references it (co).
d pre used to derive co A violin concerto (pre) that spawns an arrangement for clarinet (co). A novel (pre) and its audiobook version (co). A repo of source code (pre) and its forks (co).
f pre followed by (answered by, replied to by) co A tweet (pre) and a reply (co). A critique (pre) and a rebuttal (co). An email (pre) and a response (co).
r co reviews pre A financial statement (pre) and an auditor’s report (co). An album (pre) and a review by a music critic (co).
s co supersedes pre Version 1 of a formal standard (pre) and version 2 (co).
t co transforms pre (typically in a lossy way) A news article (pre) and translations (co). A vector graphic (pre) and a bitmap graphic (co). An audio stream (pre) and a transcription (co). A FLAC audio recording (pre) and its .mp3 compression (co). In general, transformations that are not lossy (e.g., a file in zipped and unzipped form, the same text encoded in UTF-16 and UTF-8) do not have an obvious pre-to-co directionality and are thus thought of as multi-pre (not needing clarification).
v co verifies pre A spreadsheet (pre) and its digital signature (co). A downloadable software package (pre) and its hash (co). A git commit (pre) and its hash (co). A piece of malware (pre) and its distinctive profile/signature (co). A credential presentation, including nonce (pre) and its signature (co).
x default Generic/ill-defined dependency, or multiple co files exist with different meanings. Separates the two cardinalities without asserting any special semantics.

In external strategies

Clarifiers are most commonly used with the metadata and inline content strategies, where they are the second token in an explanation. However, they can also be used in external strategies. How they manifest in filenames is shown in the following table:

strategy sample clarifier value where to clarify unclarified filenames clarified filenames
sidecar 1v1
(1 pre verified by 1 co)
hyphenated suffix on stem of some or all co and pre files balance-sheet.xls, balance-sheet.xls.sig balance-sheet-1v1.xls, balance-sheet-1v1.xls.sig
shared stem x2
(2 co files)
hyphenated suffix on stem of some or all co files IMG001-1025.heic, IMG001-1025.jpg IMG001-1025-x2.heic, IMG001-1025-x2.jpg
infix a2
(two views of the same thing)
unhyphenated suffix on infix front-bumper–01.jpg, drivers-door–01.jpg front-bumper–01a2.jpg, drivers-door–01a2.jpg