# configuration/constants/layer.constants.ts

> 33 lines of code and 11 definitions.

Tree: GovLab Context
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/context#file-context-configuration-constants-layer-constants-ts
Source text: https://banes-lab.com/source/context/configuration/constants/layer.constants.ts.txt

Listed in [configuration/constants](https://banes-lab.com/api/source/context/configuration/constants.md), after [configuration/constants/kind.constants.ts](https://banes-lab.com/source/context/configuration/constants/kind.constants.ts.md) and before [configuration/constants/lexicon.constants.ts](https://banes-lab.com/source/context/configuration/constants/lexicon.constants.ts.md).

## Definitions

- `LAYER_EDGE_KIND_VOCABULARY` (lexical_declaration, line 4, exported)
- `LAYER_EDGE_KIND_VALUES` (lexical_declaration, line 14, exported)
- `RESOLUTION_MECHANISM_VOCABULARY` (lexical_declaration, line 16, exported)
- `RESOLUTION_MECHANISM_VALUES` (lexical_declaration, line 28, exported)
- `GRAPH_FILE` (lexical_declaration, line 32, exported)
- `INDEX_FILE` (lexical_declaration, line 34, exported)
- `TENSION_FILE` (lexical_declaration, line 36, exported)
- `EDGES_KEY` (lexical_declaration, line 38, exported)
- `MEMBERSHIP_KEY` (lexical_declaration, line 40, exported)
- `RESOLUTIONS_KEY` (lexical_declaration, line 42, exported)
- `PAIR_SEPARATOR` (lexical_declaration, line 44, exported)

## Contained in

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

## Source

```typescript
import type { LayerEdgeKind, ResolutionMechanism } from "#types/layer.types";
import type { VocabularyEntry } from "#types/vocabulary.types";

export const LAYER_EDGE_KIND_VOCABULARY = [
    { definition: "An edge along which one layer's output becomes the next layer's input.", value: "feeds" },
    { definition: "An edge that returns a layer's results to the layer that feeds it.", value: "feedback" },
    {
        definition: "An edge from a cross-cutting domain to the structural core it applies across.",
        value: "cross-cuts",
    },
    { definition: "An edge along which one layer reads another layer's state without changing it.", value: "observe" },
] as const satisfies readonly VocabularyEntry[];

export const LAYER_EDGE_KIND_VALUES: readonly LayerEdgeKind[] = LAYER_EDGE_KIND_VOCABULARY.map((entry) => entry.value);

export const RESOLUTION_MECHANISM_VOCABULARY = [
    { definition: "A resolution in which each principle holds whole inside its own scope.", value: "scope-separation" },
    {
        definition: "A resolution in which an operating point is measured, chosen and written down beside the choice.",
        value: "irreducible-tradeoff",
    },
    {
        definition: "A resolution in which a rule names the discriminator between two things that share a scope.",
        value: "mitigation",
    },
] as const satisfies readonly VocabularyEntry[];

export const RESOLUTION_MECHANISM_VALUES: readonly ResolutionMechanism[] = RESOLUTION_MECHANISM_VOCABULARY.map(
    (entry) => entry.value,
);

export const GRAPH_FILE = "graph.data.json";

export const INDEX_FILE = "index.data.json";

export const TENSION_FILE = "tension.data.json";

export const EDGES_KEY = "edges";

export const MEMBERSHIP_KEY = "membership";

export const RESOLUTIONS_KEY = "resolutions";

export const PAIR_SEPARATOR = "|";
```
