# Runtime Extensibility

Record: `arch:runtime-extensibility`
Kind: quality-attribute
Layer: [Extensibility Core](https://banes-lab.com/records/layer/extensibility-core.md)
Severity: contextual
Scope: runtime, plugin, system
Canonical: https://banes-lab.com/ontology#arch-runtime-extensibility

## Repair

- Refactored by: Add Extension Point, Add Plugin Interface
- Detected by: repeated core changes for variants
- Violated by: modifying core for every extension
- Measured by: extension/core-change ratio
- Enforced by: extension conformance tests

## requires

- [Extension Points](https://banes-lab.com/records/arch/extension-points.md)
- [Stable Interfaces](https://banes-lab.com/records/arch/stable-interfaces.md)

## reinforces

- [Plugin Architecture](https://banes-lab.com/records/arch/plugin-architecture.md)
- [Open/Closed Principle (OCP)](https://banes-lab.com/records/arch/open-closed.md)

## enables

- [Capability Addition without Core Modification](https://banes-lab.com/records/lex/capability-addition-without-core-modification.md)

## conflicts-with

- [Closed Static Core](https://banes-lab.com/records/lex/closed-static-core.md)

## tensions-with

- [Predictability](https://banes-lab.com/records/arch/predictability.md)
- [Security](https://banes-lab.com/records/lex/security.md)

## tensions

- [Runtime Extensibility Predictability](https://banes-lab.com/records/tension/predictability-runtime-extensibility.md)
- [Runtime Extensibility Security](https://banes-lab.com/records/tension/runtime-extensibility-security.md)

## contracts

- [Runtime Extensibility](https://banes-lab.com/records/algo/runtime-extensibility.md)

## referenced-by

- [Prototype Pattern](https://banes-lab.com/records/arch/prototype-pattern.md)
- [Runtime Code Generation](https://banes-lab.com/records/arch/runtime-code-generation.md)
- [Plugin Architecture](https://banes-lab.com/records/arch/plugin-architecture.md)
- [Feature Toggle](https://banes-lab.com/records/arch/feature-toggle.md)
- [Runtime Discovery](https://banes-lab.com/records/arch/runtime-discovery.md)
- [Late Binding](https://banes-lab.com/records/arch/late-binding.md)
