configuration/constants/canon.constants.ts
configuration/constants/canon.constants.ts is a file in Bane's Lab Site. 127 lines of code and 2 definitions.
import {
BOUNDARY_TENSION_CONCEPT,
CANON_CONCEPT,
CORE_CONCEPT,
DEFINITION_CONCEPT,
DERIVED_CONCEPT,
DIRECTION_CONCEPT,
EXECUTION_CONCEPT,
GRAPH_CONCEPT,
GROUPING_CONCEPT,
HOME_CONCEPT,
KIND_CONCEPT,
RESOLUTION_MECHANISM_CONCEPT,
SPINE_CONCEPT,
STRUCTURAL_CONCEPT,
TAXONOMY_CONCEPT,
TENSION_CONCEPT,
} from "#core/ids/concept.ids";
import {
CANON_SECTION_ID,
CORE_SECTION_ID,
DEFINITION_SECTION_ID,
DIRECTION_SECTION_ID,
EXECUTION_SECTION_ID,
GRAPH_SECTION_ID,
GROUPING_SECTION_ID,
MECHANISM_SECTION_ID,
RECORD_KIND_SECTION_ID,
SPINE_SECTION_ID,
STRUCTURAL_SECTION_ID,
TENSION_SECTION_ID,
} from "#core/ids/architecture.ids";
import type { GraphSection } from "#types/methodology.types";
export const MODEL_GRAPH_SECTIONS: Readonly<Record<string, GraphSection>> = {
[GRAPH_SECTION_ID]: {
requires: [DERIVED_CONCEPT],
teaches: [GRAPH_CONCEPT],
traces: ["profile.the-system-describes-itself", "relations_are_graphs"],
},
[DEFINITION_SECTION_ID]: {
requires: [GRAPH_CONCEPT, HOME_CONCEPT],
teaches: [DEFINITION_CONCEPT],
traces: ["profile.how-i-reason", "derive_before_declare"],
},
[SPINE_SECTION_ID]: {
requires: [GRAPH_CONCEPT, TAXONOMY_CONCEPT],
teaches: [SPINE_CONCEPT],
traces: ["concern_type_placement", "module_relocation_first", "module_boundary_index"],
},
[DIRECTION_SECTION_ID]: {
requires: [SPINE_CONCEPT],
teaches: [DIRECTION_CONCEPT],
traces: ["engine_domain_direction", "zero_cross_module_reachin"],
},
};
export const PRINCIPLE_GRAPH_SECTIONS: Readonly<Record<string, GraphSection>> = {
[CANON_SECTION_ID]: {
requires: [GRAPH_CONCEPT, DEFINITION_CONCEPT],
teaches: [CANON_CONCEPT],
traces: ["canonical_ontology_vocabulary", "architectural-relationship-algebra"],
},
[RECORD_KIND_SECTION_ID]: {
requires: [CANON_CONCEPT],
teaches: [KIND_CONCEPT],
traces: ["design-patterns-core", "architecture-anti-pattern"],
},
[GROUPING_SECTION_ID]: {
requires: [CANON_CONCEPT, KIND_CONCEPT, SPINE_CONCEPT],
teaches: [GROUPING_CONCEPT],
traces: [
"security-core",
"performance-core",
"correctness-core",
"extensibility-core",
"declarative-core",
"contracts-core",
"causality-core",
"observability",
"domain-modeling",
"evolution-principles",
"human-factors",
],
},
[CORE_SECTION_ID]: {
requires: [CANON_CONCEPT, GROUPING_CONCEPT],
teaches: [CORE_CONCEPT],
traces: [
"computation-core",
"resource-core",
"resource_lifecycle_contract",
"bounded_cache_contract",
"immutable_computation",
"no_unbounded",
"no_asymmetric",
"no_mutable",
],
},
[EXECUTION_SECTION_ID]: {
requires: [CORE_CONCEPT],
teaches: [EXECUTION_CONCEPT],
traces: [
"execution-core",
"event_emission",
"ordinal_time",
"append_only_history",
"no_implicit",
"no_callbacks",
"no_retraction",
"no_timestamps",
],
},
[STRUCTURAL_SECTION_ID]: {
requires: [CORE_CONCEPT, EXECUTION_CONCEPT],
teaches: [STRUCTURAL_CONCEPT],
traces: ["structural-core", "errors_as_language", "no_silent", "no_hidden", "no_discipline"],
},
[TENSION_SECTION_ID]: {
requires: [CANON_CONCEPT, CORE_CONCEPT, TENSION_CONCEPT],
teaches: [BOUNDARY_TENSION_CONCEPT],
traces: ["atomic-boundary", "rule_conflict_resolves_architecturally"],
},
[MECHANISM_SECTION_ID]: {
requires: [BOUNDARY_TENSION_CONCEPT],
teaches: [RESOLUTION_MECHANISM_CONCEPT],
traces: ["no_sync_cross_boundary", "no_distributed_2pc", "no_partial_commit"],
},
};