Justify default enablement

When adding new configuration options, carefully consider whether features should be enabled by default. Require explicit justification for default enablement, weighing functionality benefits against compatibility risks and user impact.

copy reviewer prompt

Prompt

Reviewer Prompt

When adding new configuration options, carefully consider whether features should be enabled by default. Require explicit justification for default enablement, weighing functionality benefits against compatibility risks and user impact.

Key considerations:

  • Compatibility: Will default enablement break existing deployments or require newer system versions?
  • User necessity: Is this feature essential for basic functionality or an optional enhancement?
  • Override complexity: How difficult is it for users to change the default if needed?

Example from Helm values configuration:

custom:
  # Don't enable by default - requires k8s v1.31+ APIs
  # feature_gates: DynamicResourceAllocation=true
  feature_gates: ""
  
  # Enable capability by default - core functionality
  root_queue:
    capability: true

When in doubt, prefer conservative defaults that maintain backward compatibility, and provide clear documentation on how users can enable advanced features when needed.

Source discussions