# Runtime Code Generation

Record: `arch:runtime-code-generation`
Kind: mechanism
Layer: [Declarative Core](https://banes-lab.com/records/layer/declarative-core.md)
Severity: contextual/discouraged unless justified
Scope: runtime, framework
Canonical: https://banes-lab.com/ontology#arch-runtime-code-generation

## Repair

- Refactored by: Use Safe Generator, Sandbox, Precompile
- Detected by: dynamic eval with external input
- Violated by: unsafe eval, untrusted code generation
- Measured by: unsafe generation paths
- Enforced by: [security policy](https://banes-lab.com/records/algo/security-policy.md)

## requires

- [Safe Generation Boundary](https://banes-lab.com/records/lex/safe-generation-boundary.md)

## reinforces

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

## enables

- [Dynamic Optimization/Adaptation](https://banes-lab.com/records/lex/dynamic-optimization-adaptation.md)

## tensions-with

- [Security/Debugging](https://banes-lab.com/records/lex/security-debugging.md)
- [Static Safety](https://banes-lab.com/records/lex/static-safety.md)

## tensions

- [Runtime Code Generation Security/Debugging](https://banes-lab.com/records/tension/runtime-code-generation-security-debugging.md)
- [Runtime Code Generation Static Safety](https://banes-lab.com/records/tension/runtime-code-generation-static-safety.md)
