`needs` documentation is wrong

Problem to solve

The needs related documentation https://docs.gitlab.com/ee/ci/yaml/#requirements-and-limitations says:

For self-managed users, the feature must be turned on using the ci_dag_support feature flag. The ci_dag_limit_needs option, if set, will limit the number of jobs that a single job can need to 50. If unset, the limit is 5.

This seems to be wrong:

  • ci_dag_support defaults to true and does not need to be enabled manually

    $ git grep ci_dag_support
    app/models/ci/build.rb:      if Feature.enabled?(:ci_dag_support, project, default_enabled: true) && needs.exists?
    app/services/ci/process_pipeline_service.rb:      return false unless Feature.enabled?(:ci_dag_support, project, default_enabled: true)
    app/services/ci/process_pipeline_service.rb:      if Feature.enabled?(:ci_dag_support, project, default_enabled: true)
  • ci_dag_limit_needs logic is reverse (and matches the expected semantic of this flag): when set it limits the number of jobs to 5. Else it is (un)limited to 50. It defaults to true too and must be explicitly set to false to allow more than 5 jobs.

And please describe, how these feature flags can be set. When searching for "feature flag", google returns only hits about the EE feature but nothing which leads to the

Feature::disable(:ci_dag_limit_needs)

in gitlab-rails console.