Feature flag catalog inventory at the audit baseline¶
Temporary evidence companion to the architecture proposal. Extracted from src/charts/syrf-common/env-mapping.yaml at 3afae3c07d4ca367f34afe84d6a1dc5e67d6ce9b. These are schema defaults and routing declarations, not actual deployed values. Duplicate keys represent multiple service emission paths; do not deduplicate them without preserving consumers. web means a browser property is declared; runtime catalog membership is a separate decision.
| .NET property | Browser key | Helm value path | Default | Backend services | Schema featureFlag marker |
|---|---|---|---|---|---|
DeletionLifecycle |
— |
featureFlags.deletionLifecycle |
false |
api, project-management |
false |
BulkStudyUpdateRequireCurrentExecutionVersion |
— |
featureFlags.bulkStudyUpdateRequireCurrentExecutionVersion |
false |
project-management |
false |
BulkPdfUpload |
— |
featureFlags.bulkPdfUpload |
false |
project-management |
false |
IdentityClaimRecovery |
— |
featureFlags.identityClaimRecovery |
false |
identity |
false |
ProjectMembersEditConfigurable |
projectMembersEditConfigurable |
featureFlags.editProjectMembers |
false |
api |
true |
LivingSearchConfigurable |
livingSearchConfigurable |
featureFlags.livingSearchConfig |
false |
api |
true |
StudyPartitionConfigurable |
studyPartitionConfigurable |
featureFlags.studyPartitionConfig |
false |
api |
true |
PdfReviewConfigurable |
pdfReviewConfigurable |
featureFlags.pdfReviewConfig |
false |
api |
true |
StudyFiltersConfigurable |
studyFiltersConfigurable |
featureFlags.studyFilters |
false |
api |
true |
StagePermissionsConfigurable |
stagePermissionsConfigurable |
featureFlags.stagePermissionsConfig |
false |
api |
true |
ReviewDataUploadConfigurable |
reviewDataUploadConfigurable |
featureFlags.reviewDataUploadFeature |
false |
api |
true |
ProjectJoinRequestFormConfigurable |
projectJoinRequestFormConfigurable |
featureFlags.projectJoinRequestForm |
false |
api |
true |
ProportionalStudyAllocation |
proportionalStudyAllocation |
featureFlags.proportionalStudyAllocation |
false |
api |
true |
BulkPdfUpload |
bulkPdfUpload |
featureFlags.bulkPdfUpload |
false |
api |
true |
DisableMembership |
disableMembership |
featureFlags.disableMembership |
false |
api |
true |
ShowContactUsForm |
showContactUsForm |
featureFlags.contactUsForm |
false |
api |
true |
StudiesDownloadEnabled |
studiesDownloadEnabled |
featureFlags.downloadStudies |
false |
api |
true |
NewQuestionManagement |
newQuestionManagement |
featureFlags.newQuestionManagement |
false |
api |
true |
AnnotationFormV2 |
annotationFormV2 |
featureFlags.annotationFormV2 |
false |
api |
true |
IntegratedPdfViewer |
integratedPdfViewer |
featureFlags.integratedPdfViewer |
false |
api |
true |
StageReviewRedesign |
stageReviewRedesign |
featureFlags.stageReviewRedesign |
false |
api |
true |
StageReviewDockview |
stageReviewDockview |
featureFlags.stageReviewDockview |
false |
api |
true |
StudyManagementProcessing |
studyManagementProcessing |
featureFlags.studyManagementProcessing |
false |
api |
true |
NewProgressIndicators |
newProgressIndicators |
featureFlags.newProgressIndicators |
false |
api |
true |
ShowStageOverviewAreaCharts |
showStageOverviewAreaCharts |
featureFlags.showStageOverviewAreaCharts |
false |
api |
true |
NewStageOverview |
newStageOverview |
featureFlags.newStageOverview |
false |
api |
true |
NewScreeningOverview |
newScreeningOverview |
featureFlags.newScreeningOverview |
false |
api |
true |
QuantitativeDataExportEnabled |
quantitativeDataExportEnabled |
featureFlags.quantitativeDataExportEnabled |
false |
api |
true |
VersionMismatchCheck |
versionMismatchCheck |
featureFlags.versionMismatchCheck |
false |
api |
true |
SignalRActive |
signalRActive |
featureFlags.signalRActive |
true |
api |
true |
ThemeToggle |
themeToggle |
featureFlags.themeToggle |
false |
api |
true |
RobToolEnabled |
robToolEnabled |
featureFlags.robToolEnabled |
false |
api |
true |
RobAiTestButton |
robAiTestButton |
featureFlags.robAiTestButton |
false |
api |
true |
ShowUpdateInclusionInfo |
showUpdateInclusionInfo |
featureFlags.showUpdateInclusionInfo |
false |
api |
true |
Graph2DataEnabled |
graph2data |
featureFlags.graph2Data |
false |
api |
true |
DevMode |
devMode |
featureFlags.devMode |
false |
api |
true |
ZonelessChangeDetection |
zonelessChangeDetection |
featureFlags.zonelessChangeDetection |
false |
api |
true |
ErrorTracking |
errorTracking |
sentry.enabled |
false |
api |
true |
ApmEnabled |
apmEnabled |
featureFlags.apm |
true |
api |
true |
LogRocketEnabled |
logRocketEnabled |
featureFlags.logRocket |
false |
api |
true |
SignalRActive |
— |
featureFlags.signalRActive |
true |
project-management |
false |
ActiveReviewerTrackingEnabled |
activeReviewerTrackingEnabled |
featureFlags.activeReviewerTrackingEnabled |
false |
api, project-management |
true |
MaterializedProjectStatisticsWrites |
— |
featureFlags.materializedProjectStatisticsWrites |
false |
api, project-management |
false |
MaterializedProjectStatisticsServing |
— |
featureFlags.materializedProjectStatisticsServing |
false |
api, project-management |
false |
MaterializedProjectStatisticsScreening |
— |
featureFlags.materializedProjectStatisticsScreening |
false |
api, project-management |
false |
MaterializedProjectStatisticsMembershipScreening |
— |
featureFlags.materializedProjectStatisticsMembershipScreening |
false |
api, project-management |
false |
MaterializedProjectStatisticsAnnotation |
— |
featureFlags.materializedProjectStatisticsAnnotation |
false |
api, project-management |
false |
MaterializedProjectStatisticsMembershipAnnotation |
— |
featureFlags.materializedProjectStatisticsMembershipAnnotation |
false |
api, project-management |
false |
MaterializedProjectStatisticsQuestionAnswers |
— |
featureFlags.materializedProjectStatisticsQuestionAnswers |
false |
api, project-management |
false |
MaterializedProjectStatisticsSearchPopulation |
— |
featureFlags.materializedProjectStatisticsSearchPopulation |
false |
api, project-management |
false |
MaterializedProjectStatisticsDerivedSummaries |
— |
featureFlags.materializedProjectStatisticsDerivedSummaries |
false |
api, project-management |
false |
MaterializedProjectStatisticsFold |
— |
featureFlags.materializedProjectStatisticsFold |
false |
api, project-management |
false |
MaterializedProjectStatisticsProjectOverview |
materializedProjectStatisticsProjectOverview |
featureFlags.materializedProjectStatisticsProjectOverview |
false |
api, project-management |
true |
MaterializedProjectStatisticsStageOverview |
materializedProjectStatisticsStageOverview |
featureFlags.materializedProjectStatisticsStageOverview |
false |
api, project-management |
true |
MaterializedProjectStatisticsPages |
materializedProjectStatisticsPages |
featureFlags.materializedProjectStatisticsPages |
false |
api, project-management |
true |
MaterializedProjectStatisticsSignalR |
materializedProjectStatisticsSignalR |
featureFlags.materializedProjectStatisticsSignalR |
false |
api, project-management |
true |
MaterializedProjectStatisticsExports |
materializedProjectStatisticsExports |
featureFlags.materializedProjectStatisticsExports |
false |
api, project-management |
true |
Other relevant controls¶
MaxInProgressSessionsis in the C# runtime catalog/shared settings and API appsettings; it is not emitted as a FeatureFlags row in the audited YAML. Both API/PM chart values contain amaxInProgressSessionsentry; inspect rendering before inferring its runtime value.- Identity claim recovery, deletion lifecycle and the bulk-study execution-version floor are deliberately outside the runtime Boolean override catalog.
ActiveReviewerTrackingEnabledis a generated web/backend flag outside the API runtime catalog. Its full-stack YAML section is outside the catalog parity test's selected sections.- Statistics maintenance flags are catalogued but constrained to deployed values; serving can only be enabled when deployed serving is enabled. The catalog's generic activation label alone does not describe these constraints.
- Additional operational controls include notifier durable capture/publication pause, cleanup authority, identity provider/writer floors, storage roots and transport topology. They must not be made runtime-mutable merely because a configuration value is Boolean.
This inventory deliberately excludes credentials and local JSON content. See the proposal for runtime consumers, observed staging state, deployment-evidence limitations and the ordered migration.