# configuration/constants/algorithm.constants.ts

> 28 lines of code and 15 definitions.

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

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

## Definitions

- `DOMAIN_TIER_VOCABULARY` (lexical_declaration, line 4, exported)
- `DOMAIN_TIER_VALUES` (lexical_declaration, line 14, exported)
- `DOMAIN_TIERS` (lexical_declaration, line 16, exported)
- `TYPED_TIERS` (lexical_declaration, line 21, exported)
- `ALGO_SUBJECT` (lexical_declaration, line 23, exported)
- `SYMBOLS_KEY` (lexical_declaration, line 25, exported)
- `TIER_KEY` (lexical_declaration, line 27, exported)
- `COMPOSES_RELATION` (lexical_declaration, line 29, exported)
- `CORE_DEGREE` (lexical_declaration, line 31, exported)
- `SYMBOL_NAME_SEPARATOR` (lexical_declaration, line 33, exported)
- `MIN_QUOTED_LENGTH` (lexical_declaration, line 35, exported)
- `QUOTE_PAIR_COUNT` (lexical_declaration, line 37, exported)
- `QUOTE` (lexical_declaration, line 39, exported)
- `ALTERNATIVE_SEPARATOR` (lexical_declaration, line 41, exported)
- `NONTERMINAL_OPEN` (lexical_declaration, line 43, exported)

## Contained in

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

## Source

```typescript
import type { DomainTier } from "#types/algorithm.types";
import type { VocabularyEntry } from "#types/vocabulary.types";

export const DOMAIN_TIER_VOCABULARY = [
    {
        definition:
            "A domain whose contracts run at a stage of the derivation loop and carry a stage, an axis, a math type and a yield.",
        value: "process",
    },
    { definition: "A domain whose contracts carry a math type and a yield and run at no loop stage.", value: "leaf" },
    { definition: "A domain whose contracts carry no math type, yield or loop stage.", value: "exempt" },
] as const satisfies readonly VocabularyEntry[];

export const DOMAIN_TIER_VALUES: readonly DomainTier[] = DOMAIN_TIER_VOCABULARY.map((entry) => entry.value);

export const DOMAIN_TIERS = { exempt: "exempt", leaf: "leaf", process: "process" } as const satisfies Record<
    DomainTier,
    DomainTier
>;

export const TYPED_TIERS: ReadonlySet<string> = new Set([DOMAIN_TIERS.process, DOMAIN_TIERS.leaf]);

export const ALGO_SUBJECT = "algo";

export const SYMBOLS_KEY = "symbols";

export const TIER_KEY = "tier";

export const COMPOSES_RELATION = "composes";

export const CORE_DEGREE = 2;

export const SYMBOL_NAME_SEPARATOR = " ";

export const MIN_QUOTED_LENGTH = 2;

export const QUOTE_PAIR_COUNT = 2;

export const QUOTE = '"';

export const ALTERNATIVE_SEPARATOR = "|";

export const NONTERMINAL_OPEN = "<";
```
