Skip to content

Modularity, Interfaces & System Evolution

Primes about how software and formal systems are structured to change safely over time: modular boundaries and contracts (interfaces, abstract data types, substitutability, compatibility), and the mechanics of evolving them without breakage (refactoring, versioning, branching and merging, legacy integration).

20 primes in this family — primes that sit near one another in abstraction space (k-means over structural-signature embeddings). Each is shown with its short description.

  • Abstract Data Type — Specify a component by its externally observable behaviour while suppressing its implementation, so any conforming implementation is interchangeable behind the contract.
  • Abstract Work — A content identity that persists across its concrete carriers, with an explicit criterion for which instance-variations preserve the work and which fork a new one.
  • Branching and Merging — Lines of development that diverge and later recombine into one.
  • Communication Repair — When agents sharing state over an unreliable channel detect divergence, they pause the primary exchange, invoke a meta-channel act to restore alignment, and resume — making shared meaning robust to noise without perfect transmission.
  • Compatibility — The relational condition under which two or more entities can coexist or compose without breakage, interference, or contradiction.
  • Conway's Law — Any artifact built by a collective acquires a structure homomorphic to the communication topology of the collective that built it.
  • Design Patterns — Reusable solutions.
  • Hierarchical Decomposability — Nested decomposition where within-level coupling dominates over cross-level coupling, making complex systems tractably analyzable one scope at a time.
  • Immutability — State that cannot be modified after creation.
  • Interface — A bounded, rule-governed surface across which two systems exchange information or control while hiding their internals, letting each evolve independently behind a stable contract.
  • Interface Mismatch — Two systems that are locally workable fail to compose because what one exposes at their required exchange boundary does not satisfy what the other can accept, including the limiting case where the needed handoff surface is absent.
  • Legacy Integration — Maintains knowledge and identity across organizational discontinuities.
  • Modularity — Breaks systems into smaller units.
  • Native-Category Flattening — A source system's own partition of the world is silently collapsed when an external observer recodes it into a foreign taxonomy without first preserving the source partition, destroying distinctions the downstream analysis would have needed and that recoded labels cannot recover.
  • Refactoring — Change internal structure while preserving observable behavior.
  • Refinement — Iteratively improving a candidate solution toward adequacy through repeated cycles of evaluation and adjustment that narrow the gap to a target, rather than deriving the answer in one shot.
  • Reverse Engineering — Analyze existing systems.
  • Substitutability — One component replaces another without functional degradation.
  • Traceability — The infrastructure of bidirectional links that lets any element be followed backward to its origin and forward to its uses, turning opaque processes into auditable, queryable histories.
  • Versioning — Tracks incremental changes over time.