# configuration/constants/build.constants.ts

> 93 lines of code and 1 definition.

Tree: Site tree
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/tree#file-configuration-constants-build-constants-ts
Source text: https://banes-lab.com/assets/sources/source.62e6057f5fc84166e50b7186c3a807b46161f2bd4e6ca9051059140c47cbed3f.generated.txt

## Definitions

- `BUILD_GRAPH_SECTIONS` (lexical_declaration, line 25, exported)

## Source

```typescript
import {
    BOUNDARY_CONCEPT,
    DETECT_CONCEPT,
    FILESYSTEM_CONCEPT,
    GATE_CONCEPT,
    HOME_CONCEPT,
    LABOUR_CONCEPT,
    MECHANISM_CONCEPT,
    ORDER_CONCEPT,
    SHAPE_CONCEPT,
    TAXONOMY_CONCEPT,
    TOOL_CONCEPT,
} from "#core/ids/concept.ids";
import { BOUNDARY_SECTION_ID, FILESYSTEM_SECTION_ID, HOME_SECTION_ID } from "#core/ids/invariant.ids";
import {
    DETECT_SECTION_ID,
    GATE_SECTION_ID,
    ORDER_SECTION_ID,
    SHAPE_SECTION_ID,
    TOOL_SECTION_ID,
} from "#core/ids/build.ids";
import type { GraphSection } from "#types/methodology.types";
import { TAXONOMY_SECTION_ID } from "#core/ids/taxonomy.ids";

export const BUILD_GRAPH_SECTIONS: Readonly<Record<string, GraphSection>> = {
    [DETECT_SECTION_ID]: {
        requires: [LABOUR_CONCEPT],
        teaches: [DETECT_CONCEPT],
        traces: ["findings_are_machine_actionable", "auto_fix_on_by_default", "remediation_is_reachable"],
    },
    [GATE_SECTION_ID]: {
        requires: [MECHANISM_CONCEPT],
        teaches: [GATE_CONCEPT],
        traces: ["gate_every_pattern", "enforcement-core", "no_convention_enforcement", "never_exclude_to_go_green"],
    },
    [ORDER_SECTION_ID]: {
        requires: [GATE_CONCEPT],
        teaches: [ORDER_CONCEPT],
        traces: [
            "prove_the_gate_fires",
            "gate_fires_before_it_is_trusted",
            "positive_control_precedes_trust",
            "scoping_re_runs_the_motivating_case",
            "born_conformant",
        ],
    },
    [SHAPE_SECTION_ID]: {
        requires: [GATE_CONCEPT],
        teaches: [SHAPE_CONCEPT],
        traces: [
            "gate_shape_not_provider",
            "gate_constructs_not_literals",
            "self_registration_over_wiring",
            "core_never_edited_for_features",
            "governance_governs_itself",
            "no_regex",
            "derived_not_heuristic",
        ],
    },
    [TOOL_SECTION_ID]: {
        requires: [MECHANISM_CONCEPT],
        teaches: [TOOL_CONCEPT],
        traces: [
            "build_the_missing_tool",
            "measure_dont_eye",
            "test_before_fix",
            "a_destructive_tool_carries_every_standing_precondition",
            "mutation_preview_first",
            "a_mandated_surface_is_tool_writable_first",
            "existing_owner_first",
            "automation-concern",
        ],
    },
    [HOME_SECTION_ID]: {
        requires: [],
        teaches: [HOME_CONCEPT],
        traces: ["single source of truth", "structural-core", "centralization-concern", "config_single_truth"],
    },
    [FILESYSTEM_SECTION_ID]: {
        requires: [],
        teaches: [FILESYSTEM_CONCEPT],
        traces: ["filesystem_is_the_architecture", "extensibility-core", "self_registration_over_wiring"],
    },
    [BOUNDARY_SECTION_ID]: {
        requires: [],
        teaches: [BOUNDARY_CONCEPT],
        traces: ["errors_as_language", "no_env_fallback", "correctness-core", "no_fallback"],
    },
    [TAXONOMY_SECTION_ID]: {
        requires: [FILESYSTEM_CONCEPT],
        teaches: [TAXONOMY_CONCEPT],
        traces: ["taxonomy-concern", "taxonomy_grammar", "classification_is_judgement", "overflow_relieves_sideways"],
    },
};
```
