Loading
Document project-creation gap in cascading settings
What does this MR do and why?
Documents the project-creation gap in cascading settings: cascade workers fire on parent updates, not child creation, so new projects get the database default instead of inheriting the parent value. Adds guidance on the EE::Projects::CreateService fixup pattern that duo_features_enabled and ai_audit_events_storage_enabled already use.
This gap is undocumented and has caused bugs (the auto_duo_code_review_enabled incident, !200397 (merged)) and recurring review confusion (!242583 (merged), !255428 (merged)).
References
- !200397 (merged) (the
auto_duo_code_review_enabledbug that required a 43M-row BBM) - !209323 (merged) (write-cascade conversion for
auto_duo_code_review_enabled) - !242583 (merged), !255428 (merged) (review discussions about this pattern)
Screenshots or screen recordings
No UI changes.
How to set up and validate locally
- Read the updated
doc/development/cascading_settings.mdand confirm the new "Handle new project creation" subsection is accurate.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.