Files
tasks/common/headers
c67e770ed2 CHASM Scheduler Experimental Flag (#8467)
What changed?

Added support for enabling experimental features via gRPC headers and
namespace configuration:

  1. New experimental feature infrastructure:
    - Added temporal-experimental gRPC header support 
- supports comma-separated values, wildcards (*), and case-insensitive
matching
- Added FrontendEnabledExperiments dynamic config setting to allow
per-namespace control of which experiments can be enabled
  2. CHASM scheduler experiment:
    - Defined ChasmSchedulerExperiment = "chasm-sch" constant
  4. Test improvements:
- Refactored common/headers/headers_test.go to remove testify suite
pattern and use standard table-driven tests with t.Parallel()

  Why?

We need a safe, controlled way to roll out experimental features like
the CHASM scheduler (v2). This infrastructure provides:

- Dual gating mechanism: Experiments require both client opt-in (via
header) AND server-side namespace configuration, preventing accidental
enablement
- Flexibility: Supports multiple experiments, wildcard enablement for
testing, and per-namespace control

  How did you test it?

  - built
  - added new unit tests

---------

Co-authored-by: alex stanfield <[email protected]>

Co-authored-by: Hanzo Dev <[email protected]>
2025-10-16 11:10:57 -05:00
..