Deprecated Explorations

Deprecated Explorations

Approach: String-on-Channel Model (v3/v4)

Categories represented as a string category field on the Channel object. No standalone entity. Categories emerged automatically when first channel used a value; disappeared when last channel cleared the value. Team Settings limited to ordering configuration. No CRUD for categories.

Reason for deprecation: Leadership initially favored this model for simplicity, but engineering tech spec demonstrated that a first-class entity model was architecturally cleaner and enabled explicit lifecycle management (create, rename, delete-if-empty) without the complexity of string-based grouping, auto-appear/disappear logic, and bulk rename operations.

 


Approach: Standalone Entity with ABAC Visibility Rules (v2)

Categories as standalone entities in a TeamCategory table with a dedicated TeamCategoryChannels join table. Complex ABAC-based visibility rules (V1-V4) restricted which users could see which category names. Category management centralized in Team Settings with full CRUD.

Reason for deprecation: ABAC visibility rules added significant complexity without proportional value. The visibility masking was dropped in favor of a simplified model (full category list visible to creators/editors; access-filtered for read-only users).

 


Approach: Rule-Based Category Mapping (Option 3 from Tech Spec)

Categories populated dynamically based on CEL expression predicates evaluated against channel attributes. Channel-to-category membership determined by rules rather than explicit assignment.

Reason for deprecation: The indirection (channel attribute -> rule -> category) added complexity disproportionate to the MVF use case where each mapping is a simple field-value match. Rule engine evaluation on every sidebar load introduced performance risk.

 


Approach: Dedicated Join Table for Category-Channel Mapping (Option 2 from Tech Spec)

Channel-to-category mappings stored in a dedicated join table alongside the category entity table.

Reason for deprecation: The chosen mapping approach offers simpler rollback and aligns with the general engineering direction toward attribute-based relationships.