import { AUTHOR_CONCEPT, CANON_CONCEPT, CEILING_CONCEPT, CONTROL_CONCEPT, DECAY_CONCEPT, DETERMINISM_SCALE_CONCEPT, FORCING_CONCEPT, GLOSSARY_CONCEPT, GRAPH_CONCEPT, GROUPING_CONCEPT, MODEL_SYSTEM_CONCEPT, PREDICATE_CONCEPT, REDUCTION_CONCEPT, } from "#core/ids/concept.ids"; import { AUTHOR_SECTION_ID, CEILING_SECTION_ID, DETERMINISM_SECTION_ID, FORCING_SECTION_ID, GLOSSARY_SECTION_ID, MAP_SECTION_ID, MODEL_SYSTEM_SECTION_ID, REDUCTION_SECTION_ID, } from "#core/ids/architecture.ids"; import { COVERAGE_GRAPH_SECTIONS, DECAY_GRAPH_SECTIONS } from "#configuration/constants/failure.constants"; import type { ContentGraph, GraphSection } from "#types/methodology.types"; import { MODEL_GRAPH_SECTIONS, PRINCIPLE_GRAPH_SECTIONS } from "#configuration/constants/canon.constants"; import { ARCHITECTURE_PAGE } from "#core/ids/page.ids"; const LAYER_SEEDS = [ "structural-core", "computation-core", "resource-core", "execution-core", "human-factors", "evolution-principles", "security-core", "performance-core", "contracts-core", "causality-core", "observability", "extensibility-core", "declarative-core", "domain-modeling", "design-patterns-core", "correctness-core", ]; const SCALE_GRAPH_SECTIONS: Readonly> = { [FORCING_SECTION_ID]: { requires: [GRAPH_CONCEPT], teaches: [FORCING_CONCEPT], traces: [ "coupling.invariant-the-count-is-derived-from-a-partition-and-never-chosen-independently-of-it", "coupling.invariant-the-floor-counts-the-partition-s-nodes", ], }, [CEILING_SECTION_ID]: { requires: [FORCING_CONCEPT], teaches: [CEILING_CONCEPT], traces: [ "coupling.invariant-the-ceiling-is-set-by-the-worst-fan-in-not-by-the-count", "coupling.invariant-fan-in-is-measured-and-never-declared", ], }, [REDUCTION_SECTION_ID]: { requires: [FORCING_CONCEPT, CEILING_CONCEPT], teaches: [REDUCTION_CONCEPT], traces: ["coupling.invariant-fan-in-is-measured-and-never-declared", "no_unbounded"], }, [AUTHOR_SECTION_ID]: { requires: [PREDICATE_CONCEPT, DECAY_CONCEPT, CONTROL_CONCEPT], teaches: [AUTHOR_CONCEPT], traces: [ "profile.the-gate-holds-the-line-not-discipline", "auto_fix_on_by_default", "findings_are_machine_actionable", ], }, [DETERMINISM_SECTION_ID]: { requires: [AUTHOR_CONCEPT], teaches: [DETERMINISM_SCALE_CONCEPT], traces: ["determinism_is_the_one_axis", "no_hidden_nondeterminism"], }, [MODEL_SYSTEM_SECTION_ID]: { requires: [AUTHOR_CONCEPT, DETERMINISM_SCALE_CONCEPT], teaches: [MODEL_SYSTEM_CONCEPT], traces: ["no_unvalidated_input", "no_broad_privilege", "correctness-core"], }, }; const GLOSSARY_GRAPH_SECTIONS: Readonly> = { [MAP_SECTION_ID]: { narrative: true, requires: [], teaches: [], traces: [] }, [GLOSSARY_SECTION_ID]: { requires: [CANON_CONCEPT, GROUPING_CONCEPT], teaches: [GLOSSARY_CONCEPT], traces: LAYER_SEEDS, }, }; export const ARCHITECTURE_GRAPH: ContentGraph = { page: ARCHITECTURE_PAGE, sections: { ...MODEL_GRAPH_SECTIONS, ...PRINCIPLE_GRAPH_SECTIONS, ...DECAY_GRAPH_SECTIONS, ...COVERAGE_GRAPH_SECTIONS, ...SCALE_GRAPH_SECTIONS, ...GLOSSARY_GRAPH_SECTIONS, }, };