# Compile-Time Evaluation

Record: `arch:compile-time-evaluation`
Kind: mechanism
Layer: [Declarative Core](https://banes-lab.com/records/layer/declarative-core.md)
Severity: contextual
Scope: compiler, build
Canonical: https://banes-lab.com/ontology#arch-compile-time-evaluation

## Repair

- Refactored by: Move Check/Generation to Compile Time
- Detected by: repeated runtime reflection/validation
- Violated by: runtime work that could be validated/generated at compile time
- Measured by: compile-time coverage
- Enforced by: compiler plugins/build checks

## requires

- [Compile-Time Inputs](https://banes-lab.com/records/lex/compile-time-inputs.md)

## reinforces

- [Optimization](https://banes-lab.com/records/arch/optimization.md)
- [Type Safety](https://banes-lab.com/records/arch/type-safety.md)

## enables

- [Early Error Detection](https://banes-lab.com/records/lex/early-error-detection.md)

## tensions-with

- [Build Complexity](https://banes-lab.com/records/lex/build-complexity.md)
- [Runtime Dynamic Evaluation](https://banes-lab.com/records/lex/runtime-dynamic-evaluation.md)

## tensions

- [Compile-Time Evaluation Build Complexity](https://banes-lab.com/records/tension/build-complexity-compile-time-evaluation.md)
- [Compile-Time Evaluation Runtime Dynamic Evaluation](https://banes-lab.com/records/tension/compile-time-evaluation-runtime-dynamic-evaluation.md)
