# Late Binding

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

## Repair

- Refactored by: Add Interface, Defer Resolution, Add Registry
- Detected by: compile-time dependency on runtime extension
- Violated by: premature concrete resolution
- Measured by: late-bound extension count
- Enforced by: dependency checks

## requires

- [Dynamic Binding](https://banes-lab.com/records/arch/dynamic-binding.md)

## reinforces

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

## enables

- [Deferred Implementation Choice](https://banes-lab.com/records/lex/deferred-implementation-choice.md)

## conflicts-with

- [Early Binding](https://banes-lab.com/records/lex/early-binding.md)

## tensions-with

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

## tensions

- [Late Binding Predictability](https://banes-lab.com/records/tension/late-binding-predictability.md)
