# configuration/reason/data/failure.data.json

> 150 lines of code and 0 definitions.

Tree: GovLab Context
Language: json
Layer: domain
Canonical: https://banes-lab.com/anatomy/context#file-context-configuration-reason-data-failure-data-json
Source text: https://banes-lab.com/source/context/configuration/reason/data/failure.data.json.txt

Listed in [configuration/reason/data](https://banes-lab.com/api/source/context/configuration/reason/data.md), after [configuration/reason/data/dimension.data.json](https://banes-lab.com/source/context/configuration/reason/data/dimension.data.json.md) and before [configuration/reason/data/index.data.json](https://banes-lab.com/source/context/configuration/reason/data/index.data.json.md).

## Contained in

- [configuration/reason/data](https://banes-lab.com/anatomy/context/folder-context-configuration-reason-data.md)

## Source

```json
{
    "check": {
        "by": [
            "the quality rules each shape names, which refuse its syntactic signature where one exists",
            "the classification step of the verification substrate, which files every silent failure under a shape before a fix is chosen"
        ],
        "population": "every source file the named rules lint, and every failure a check or a review classifies",
        "freshness": "a verdict stands until the linted source, a named rule or the shape's instances change",
        "refusal": "a named rule fails the lint stage on the signature; the invariant each shape breaks is gated in every structured document that grounds it",
        "observation": "the runtime observations that locate a failure, which are then filed under a shape",
        "evidence": "fires-and-accepts: a suite plants a shape that names no invariant and no canon, and the bundled shapes validate clean",
        "authority": "the invariant the shape breaks, which the shape cites, while each named rule conforms to the shape's signature"
    },
    "records": [
        {
            "id": "no-reachable-check",
            "name": "No reachable check",
            "shape": "A representation that no check reaches.",
            "fix": "Declare the representation into a check's jurisdiction, or state in writing that it lies outside it.",
            "breaks": "epi-reachable-check",
            "instances": [
                "architecture:manual-only-governance",
                "architecture:unobservable-failure",
                "lexicon:untested-implementation"
            ],
            "canon": ["none: whether a representation is reachable is a property of the gate's jurisdiction, which no source rule sees"]
        },
        {
            "id": "empty-domain",
            "name": "Empty domain",
            "shape": "A check that ran over an empty domain and reported a pass.",
            "fix": "Report the population beside every rate, and confirm at start-up that every name the check uses resolves.",
            "breaks": "epi-declared-domain",
            "instances": ["lexicon:silent-failure"],
            "canon": [
                "empty-block",
                "exception-handling"
            ]
        },
        {
            "id": "spent-parent",
            "name": "Spent parent",
            "shape": "A parent counted as read while its children were never read.",
            "fix": "Subtract the read set from the child set and report what remains.",
            "breaks": "epi-declared-domain",
            "canon": ["none: a read set is known only while the run executes"]
        },
        {
            "id": "edge-from-spelling",
            "name": "Edge from spelling",
            "shape": "A dependency created because two names share a word.",
            "fix": "Join on the id the referent declares.",
            "breaks": "epi-declared-dependency",
            "instances": ["lexicon:hidden-dependency"],
            "canon": ["none: a join on spelling reads like any other string comparison in source"]
        },
        {
            "id": "trusted-leaf",
            "name": "Trusted leaf",
            "shape": "A node inside the graph that is trusted without a check, such as an exit code or a modification time.",
            "fix": "Route the node through a check that can fail, and disclose what no check can reach.",
            "breaks": "epi-verdict-is-representation",
            "instances": [
                "architecture:flaky-test-normalization",
                "architecture:mock-mirage",
                "architecture:security-theater"
            ],
            "canon": ["error-handling"]
        },
        {
            "id": "lossy-lowering",
            "name": "Lossy lowering",
            "shape": "A reshaped representation that dropped a distinction a later check needs.",
            "fix": "Keep the distinction, and refuse at the writer anything the layout cannot express.",
            "breaks": "epi-preserved-distinction",
            "instances": [
                "architecture:null-semantics-drift",
                "architecture:schema-drift",
                "architecture:silent-data-corruption"
            ],
            "canon": ["type-safety"]
        },
        {
            "id": "stale-read",
            "name": "Stale read",
            "shape": "A check that reads a representation the run already changed.",
            "fix": "Derive after the last mutator, and decide freshness by the fingerprint of the inputs and the code.",
            "breaks": "epi-fresh-read",
            "instances": ["architecture:cache-poisoning-by-design"],
            "canon": ["none: no catalogued rule refuses a cache keyed by time or by lifetime alone"]
        },
        {
            "id": "two-derivations",
            "name": "Two derivations",
            "shape": "One question answered by two derivations that can drift apart.",
            "fix": "Collapse them to one derivation, computed by the producer of the answer.",
            "breaks": "epi-one-derivation",
            "instances": ["lexicon:duplicated-authority"],
            "canon": ["duplicate-code"]
        },
        {
            "id": "weak-link-kept",
            "name": "Weak link kept",
            "shape": "A link below the certainty floor kept in a chain with a flag on it.",
            "fix": "Remove the link from the chain.",
            "breaks": "epi-weakest-link",
            "canon": ["none: the certainty of a link is a property of the chain, which no source rule sees"]
        },
        {
            "id": "absence-certified-by-observation",
            "name": "Absence certified by observation",
            "shape": "No observed failure read as proof that no failure exists.",
            "fix": "Use the observation to locate failures, and leave the verdict on absence to a check.",
            "breaks": "epi-observation-locates",
            "canon": ["none: the shape lies in how a report is read, not in source"]
        },
        {
            "id": "stop-on-confidence",
            "name": "Stop on confidence",
            "shape": "A run that stops because the model is confident, before completion, saturation and verification hold.",
            "fix": "Stop only when the three conditions hold, or when the run is blocked on something outside it.",
            "breaks": "epi-terminate-on-three",
            "canon": ["none: the shape lies in how a run decides to stop, not in source"]
        },
        {
            "id": "unfailable-floor",
            "name": "Unfailable floor",
            "shape": "A threshold set below what its population already meets, so the check it guards cannot fail until most of the population is gone.",
            "fix": "Set the floor from the population as it stands, and plant a case below it to watch the check fail.",
            "breaks": "epi-verdict-is-representation",
            "canon": ["none: whether a floor can be reached is a property of the population, which no source rule sees"]
        },
        {
            "id": "verdictless-verifier",
            "name": "Verdictless verifier",
            "shape": "A tool named as a verifier that reports no pass, no fail and no exit code, so what it examines has no check at all.",
            "fix": "Give the tool a verdict and an exit code, or rename it to the probe it is.",
            "breaks": "epi-reachable-check",
            "canon": ["none: whether a tool issues a verdict is a property of its output contract, which no source rule sees"]
        },
        {
            "id": "unindexed-construct-kind",
            "name": "Unindexed construct kind",
            "shape": "A kind of construct the index a family of checks reads never records, so every check over that index misses every construct of the kind.",
            "fix": "Record the kind in the index, and confirm that a planted construct of the kind is reported.",
            "breaks": "epi-preserved-distinction",
            "canon": ["none: an index's coverage of construct kinds is a property of its builder, which no source rule sees"]
        }
    ]
}
```
