Purlend Data Dictionary

rule proposed

Enum values are UPPER_SNAKE and every enum is versioned

Enum values at the data-model layer are UPPER_SNAKE_CASE: uppercase words joined by underscores (US_CITIZEN, CASH_TO_CLOSE). Every enum is versioned — enum values are defined in the Program Library API and must not change meaning silently.

Known inconsistency in the source: while every example value in CE_C05 is UPPER_SNAKE, most of its Values: enumerations are written in lowercase (income_type: base_salary, bonus…; deal_type: purchase, rate_refi…). The examples and the two explicitly UPPER_SNAKE enumerations are taken as the intended convention; the lowercase lists are a candidate row for the Open Items Register, not a second convention.

Scope: BIX-side entity fields (CE_C05). The POC's protocol enums (directive components, tone values) follow the code conventions in R-004 instead.

Evidence

CE_C05 (Data Dictionary + Rules Matrix), Field Legend: "Enum values are defined in the Program Library API. All enums must be versioned." Every enum example cell in its field tables is UPPER_SNAKE (US_CITIZEN, MARRIED, BASE_SALARY, CREDIT_CARD, SFR, PRIMARY, PURCHASE, ACTIVE, CONVENTIONAL, DPA, FORGIVABLE, CASH_TO_CLOSE, OPTIMAL, PASSED, SCENARIO_GENERATED, SYSTEM, …), and the citizenship_status / marital_status rows enumerate their values in UPPER_SNAKE. The versioning requirement is restated for the move library: "All moves must be versioned."