Architectural Rules

Kind: domain

Record: algorithms-domain:architectural-rules

Canonical: Algorithms

The Architectural Rules domain holds 47 algorithm contracts.

Listed in Algorithm domains, after Architectural Clusters and before Automation.

Contracts

Linked from

Architectural Rules

Every algorithm contract in this domain is listed with its position on the derivation loop, its intent and invariant, the flow it walks and its productions as a grammar. Each record also shows what it composes and is composed by, which forces and principles it answers to, what grounds it and what it grounds, and an exemplar where the record carries one. The diagram shows what composes what inside the domain.

Relations diagram
What composes what inside this domain.
flowchart LR
    n_no_shortcuts["Constraints Over Shortcuts"]
    n_no_backward_compat["Forward Compatibility Over Backward Compatibility"]
    n_no_fallback["Fail-Fast Over Fallback"]
    n_no_deprecation["Explicit Removal Over Deprecation"]
    n_no_legacy["Greenfield Over Legacy"]
    n_no_dual_path["Single-Path Determinism Over Dual-Path"]
    n_no_deferring["Immediacy Over Deferring"]
    n_no_optional["Mandatory Over Optional"]
    n_no_for_now["Now Over For-Now"]
    n_no_unobserved["Observed Execution Over Unobserved"]
    n_no_uncompressed["Compression Over Repetition"]
    n_no_unapproved["Approved Evolution Over Unapproved"]
    n_no_ignored_feedback["Enforced Feedback Over Ignored"]
    n_no_shared_ownership["Single Owner Over Shared Ownership"]
    n_no_unbounded["Bounded Lifetime Over Unbounded"]
    n_no_asymmetric["Enforced Symmetry Over Asymmetric Lifecycle"]
    n_no_implicit_retention["Explicit Retention Over Implicit"]
    n_no_discipline_release["Structural Release Over Discipline"]
    n_no_mutable["Immutable Data Over Mutable State"]
    n_no_silent["Errors As Language Over Silent Errors"]
    n_no_hidden_invalidity["Explicit Invalidity Over Hidden"]
    n_no_callbacks["Event Emission Over Parent Callbacks"]
    n_no_retraction["Monotonic Growth Over Retraction"]
    n_no_location["Semantic Addressing Over Location Addressing"]
    n_no_timestamps["Ordinal Time Over Timestamps"]
    n_no_separation["Homoiconicity Over Separation"]
    n_no_unlimited["Bounded Complexity Over Unlimited"]
    n_no_metrics["Computed Health Over Metric Health"]
    n_no_hardcoded_secrets["Secret Store Over Hardcoded Secrets"]
    n_no_unvalidated_input["Boundary Validation Over Unvalidated Input"]
    n_no_broad_privilege["Least Privilege Over Broad Privilege"]
    n_no_env_fallback["Config Externalization Over Env Fallback"]
    n_no_unmeasured_optimization["Profile-First Over Unmeasured Optimization"]
    n_no_convention_enforcement["Rule As Code Over Convention"]
    n_no_implicit_contract["Design By Contract Over Implicit Contract"]
    n_no_breaking_change["Versioned Evolution Over Breaking Change"]
    n_no_untyped_boundary["Schema-Validated Boundary Over Untyped"]
    n_no_partial_commit["Atomic Boundary Over Partial Commit"]
    n_no_distributed_2pc["Saga Compensation Over Distributed 2PC"]
    n_no_sync_cross_boundary["Async Events Over Synchronous Cross-Boundary"]
    n_no_opaque_runtime["Observable Signals Over Opaque Runtime"]
    n_no_hidden_dependency["Injected Dependency Over Hidden"]
    n_no_hardcoded_wiring["Convention Discovery Over Hardcoded Wiring"]
    n_no_imperative_config["Declarative Config Over Imperative"]
    n_no_leaky_context["Anti-Corruption Layer Over Cross-Context Leak"]
    n_no_hidden_nondeterminism["Injected Nondeterminism Over Hidden"]
    n_no_speculative_pattern["Pattern By Fit Over Speculative Pattern"]