Section 41 of 51
95. Compilation Context
Stable section ID: S05-CON-008-SECTION-41 · 26 content blocks
The Compilation Context is the complete governed environment within which a Compilation Request is interpreted and executed.
It shall include:
compiler identity and version;
BDL language version;
parser and schema versions;
resolved modules and packages;
dependency lock record;
Engineering Profiles;
project and regional profiles;
regulatory rules and adopted editions;
certification requirements;
unit and coordinate conventions;
security and trust policies;
plugin identities and versions;
target definitions;
configuration selections;
feature flags;
permitted extensions;
deterministic execution settings;
time and jurisdictional context.
The Compilation Context shall distinguish explicitly supplied information from compiler defaults, organizational policies, inherited project settings, registry-derived information, and target-imposed requirements.
Formal compilations shall operate against a frozen or otherwise immutable context. A registry update, regulatory change, package replacement, profile revision, certificate revocation, or compiler upgrade occurring during execution shall not silently alter the active compilation.
Where live external information is required, the exact retrieved state, time, source, integrity status, and applicability shall be recorded.
Equivalent inputs compiled against different contexts may produce different valid results. Every output shall therefore identify the Compilation Context upon which it depends.
Context changes shall trigger impact analysis and recompilation of affected stages. Historical compilations shall preserve sufficient context to reproduce, audit, or explain their results.
The Compilation Context shall not be used to conceal assumptions. Every context-derived value affecting engineering meaning, compliance, safety, compatibility, or execution shall remain traceable.