# configuration/constants/methodology.constants.ts

> 135 lines of code and 2 definitions.

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

## Definitions

- `START_GRAPH_SECTIONS` (lexical_declaration, line 32)
- `METHODOLOGY_GRAPH` (lexical_declaration, line 127, exported)

## Source

```typescript
import {
    ADVERSARIAL_CONCEPT,
    CONTRACT_CONCEPT,
    ENCODING_CONCEPT,
    LABOUR_CONCEPT,
    LOOP_CONCEPT,
    MECHANISM_CONCEPT,
    ONBOARDING_CONCEPT,
    POLICY_CONCEPT,
    READING_CONCEPT,
    RULE_CONCEPT,
    UNVERIFIED_CONCEPT,
} from "#core/ids/concept.ids";
import {
    ADVERSARIAL_SECTION_ID,
    ENCODING_SECTION_ID,
    LABOUR_SECTION_ID,
    LOOP_SECTION_ID,
    READING_SECTION_ID,
    STANCE_SECTION_ID,
} from "#core/ids/methodology.start.ids";
import { CONTRACT_SECTION_ID, MECHANISM_SECTION_ID, POLICY_SECTION_ID, RULE_SECTION_ID } from "#core/ids/rule.ids";
import type { ContentGraph, GraphSection } from "#types/methodology.types";
import { BUILD_GRAPH_SECTIONS } from "#configuration/constants/build.constants";
import { COLLABORATE_GRAPH_SECTIONS } from "#configuration/constants/coordination.constants";
import { METHODOLOGY_PAGE } from "#core/ids/page.ids";
import { ONBOARDING_SECTION_ID } from "#core/ids/system.ids";
import { PLAN_GRAPH_SECTIONS } from "#configuration/constants/plan.constants";
import { SHIP_GRAPH_SECTIONS } from "#configuration/constants/release.constants";
import { VERIFY_GRAPH_SECTIONS } from "#configuration/constants/evidence.constants";

const START_GRAPH_SECTIONS: Readonly<Record<string, GraphSection>> = {
    [LOOP_SECTION_ID]: {
        requires: [],
        teaches: [LOOP_CONCEPT],
        traces: [
            "profile.how-i-reason",
            "10_step_chain",
            "four_gates_always_run",
            "decisions_are_typed",
            "repair_from_earliest_owner",
        ],
    },
    [LABOUR_SECTION_ID]: {
        requires: [],
        teaches: [LABOUR_CONCEPT],
        traces: ["profile.the-gate-holds-the-line-not-discipline", "auto_fix_on_by_default"],
    },
    [STANCE_SECTION_ID]: {
        requires: [],
        teaches: [UNVERIFIED_CONCEPT],
        traces: [
            "claims_are_lies",
            "a_claim_about_a_mechanism_opens_the_mechanism",
            "present_tense_only",
            "read_files_whole",
        ],
    },
    [ADVERSARIAL_SECTION_ID]: {
        requires: [UNVERIFIED_CONCEPT],
        teaches: [ADVERSARIAL_CONCEPT],
        traces: ["adversarial_default", "claims_are_lies"],
    },
    [READING_SECTION_ID]: {
        requires: [LOOP_CONCEPT],
        teaches: [READING_CONCEPT],
        traces: ["architecture_is_the_target", "introspection_over_abstraction", "profile.how-i-reason"],
    },
    [ENCODING_SECTION_ID]: {
        requires: [LABOUR_CONCEPT],
        teaches: [ENCODING_CONCEPT],
        traces: [
            "scope_separation",
            "precedence_order",
            "document_scope_law",
            "slots_resolve_through_the_adapter",
            "re-read mandate",
        ],
    },
    [MECHANISM_SECTION_ID]: {
        requires: [ENCODING_CONCEPT],
        teaches: [MECHANISM_CONCEPT],
        traces: ["no_discipline", "enforcement-core", "friction_is_a_missing_mechanism"],
    },
    [RULE_SECTION_ID]: {
        requires: [MECHANISM_CONCEPT],
        teaches: [RULE_CONCEPT],
        traces: [
            "feedback_capture_protocol",
            "format_mandate",
            "decision_names_its_gate_or_its_proof",
            "coverage_is_declared",
            "rule_evidence_is_a_measurement_not_a_narrative",
        ],
    },
    [CONTRACT_SECTION_ID]: {
        requires: [LABOUR_CONCEPT],
        teaches: [CONTRACT_CONCEPT],
        traces: ["role_document_is_uniform", "a_measured_entry_retires_by_extraction", "coverage_is_declared"],
    },
    [POLICY_SECTION_ID]: {
        requires: [ENCODING_CONCEPT, RULE_CONCEPT],
        teaches: [POLICY_CONCEPT],
        traces: [
            "docs_are_claims_too",
            "re-read mandate",
            "overwrite_dont_annotate",
            "history_has_two_homes",
            "collab_board_checked_first",
            "auto_mode_flows",
            "projection_is_one_line",
            "slot_absence_is_honoured",
        ],
    },
    [ONBOARDING_SECTION_ID]: {
        requires: [ENCODING_CONCEPT],
        teaches: [ONBOARDING_CONCEPT],
        traces: [
            "template_is_the_contract_not_a_copy_of_it",
            "slots_resolve_through_the_adapter",
            "slot_absence_is_honoured",
            "mechanism_transfers_catalogs_rederive",
        ],
    },
};

export const METHODOLOGY_GRAPH: ContentGraph = {
    page: METHODOLOGY_PAGE,
    sections: {
        ...START_GRAPH_SECTIONS,
        ...PLAN_GRAPH_SECTIONS,
        ...BUILD_GRAPH_SECTIONS,
        ...VERIFY_GRAPH_SECTIONS,
        ...COLLABORATE_GRAPH_SECTIONS,
        ...SHIP_GRAPH_SECTIONS,
    },
};
```
