- **Admin GraphQL/GUI surface for `PipelineSettings.preferred_enrichers` (issue #2118).**
  The per-MIME-type ORDERED LIST of enricher class paths has been a real,
  executed runtime field since the Enrichers stage shipped
  (`opencontractserver/pipeline/base/parser.py::_run_enrichment_stage`,
  `opencontractserver/pipeline/utils.py::run_enrichers`, and
  `PipelineSettings.get_preferred_enrichers`), but had zero API/GUI surface:
  no field on `PipelineSettingsType`, no `updatePipelineSettings` argument,
  not restored by `resetPipelineSettings`, and no admin editor — the only way
  to configure it was a direct DB write. Added:
  - `preferred_enrichers` to `PipelineSettingsType`
    (`config/graphql/pipeline_types.py`) and an `enrichers` list to
    `PipelineComponentsType`, wired through `resolve_pipeline_components`
    (`config/graphql/pipeline_queries.py`) exactly like the existing
    `rerankers` field, including the non-superuser "configured components"
    visibility filter.
  - `preferred_enrichers` argument + `validate_enricher_mapping` (mime ->
    ORDERED LIST, unlike the existing mime -> single-path
    `validate_component_mapping`) on `UpdatePipelineSettingsMutation`
    (`config/graphql/pipeline_settings_mutations.py`), rejecting non-list
    values and non-`ENRICHER` component types.
  - `ResetPipelineSettingsMutation` now also restores `preferred_enrichers`
    from Django's `PREFERRED_ENRICHERS` setting — previously the one
    DB-backed pipeline field Reset-to-Defaults silently skipped.
  - New `EnricherChainEditor.tsx`
    (`frontend/src/components/admin/system_settings/`): a dedicated per-MIME
    chain editor (ordered list + up/down/remove/add), separate from the
    existing `StageType`/`STAGE_CONFIG` `<select>` machinery since enrichers
    are a list per MIME type, not a single class path. Mounted in
    `SystemSettings.tsx` below Filetype Defaults.
  - Tests: `opencontractserver/tests/test_pipeline_settings.py` (mutation
    validation, round-trip, reset-restores-default, `pipelineComponents`
    surfacing) and `frontend/tests/system-settings-flows.ct.tsx` (add/remove/
    reorder chain interactions).
