Add provisional and internal markers cluster-wide (#29765)

* Update cluster data with api maturity

* Pull in latest zap that supports api maturity

* mark scenes provisional, mark unit testing and fault injection as internal

* Mark more clusters as provisional

* Undo domain move

* Undo submodule change

* make the scenes domain identical with how it was

* Restyle

---------

Co-authored-by: Andrei Litvin <andreilitvin@google.com>
diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
index efd0d09..367388c 100644
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
@@ -117,7 +117,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-server cluster Scenes = 5 {
+provisional server cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
@@ -4183,7 +4183,7 @@
 }
 
 /** An interface for controlling a fan in a heating/cooling system. */
-server cluster FanControl = 514 {
+provisional server cluster FanControl = 514 {
   enum AirflowDirectionEnum : ENUM8 {
     kForward = 0;
     kReverse = 1;
@@ -4574,7 +4574,7 @@
 }
 
 /** Attributes and commands for configuring a lighting ballast. */
-server cluster BallastConfiguration = 769 {
+provisional server cluster BallastConfiguration = 769 {
   bitmap BallastStatusBitmap : BITMAP8 {
     kBallastNonOperational = 0x1;
     kLampFailure = 0x2;
@@ -5310,7 +5310,7 @@
 }
 
 /** The Test Cluster is meant to validate the generated code */
-server cluster UnitTesting = 4294048773 {
+internal server cluster UnitTesting = 4294048773 {
   enum SimpleEnum : ENUM8 {
     kUnspecified = 0;
     kValueA = 1;
@@ -5632,7 +5632,7 @@
 }
 
 /** The Fault Injection Cluster provide a means for a test harness to configure faults(for example triggering a fault in the system). */
-server cluster FaultInjection = 4294048774 {
+internal server cluster FaultInjection = 4294048774 {
   enum FaultType : ENUM8 {
     kUnspecified = 0;
     kSystemFault = 1;
diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
index 73ac503..f7ae8b3 100644
--- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
+++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
@@ -117,7 +117,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-server cluster Scenes = 5 {
+provisional server cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
@@ -2819,7 +2819,7 @@
 }
 
 /** An interface for controlling a fan in a heating/cooling system. */
-server cluster FanControl = 514 {
+provisional server cluster FanControl = 514 {
   enum AirflowDirectionEnum : ENUM8 {
     kForward = 0;
     kReverse = 1;
@@ -2978,7 +2978,7 @@
 }
 
 /** Attributes and commands for configuring a lighting ballast. */
-server cluster BallastConfiguration = 769 {
+provisional server cluster BallastConfiguration = 769 {
   bitmap BallastStatusBitmap : BITMAP8 {
     kBallastNonOperational = 0x1;
     kLampFailure = 0x2;
@@ -3654,7 +3654,7 @@
 }
 
 /** The Test Cluster is meant to validate the generated code */
-server cluster UnitTesting = 4294048773 {
+internal server cluster UnitTesting = 4294048773 {
   enum SimpleEnum : ENUM8 {
     kUnspecified = 0;
     kValueA = 1;
diff --git a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
index becc299..3e798fb 100644
--- a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
+++ b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
@@ -1088,7 +1088,7 @@
 }
 
 /** An interface for controlling a fan in a heating/cooling system. */
-server cluster FanControl = 514 {
+provisional server cluster FanControl = 514 {
   enum AirflowDirectionEnum : ENUM8 {
     kForward = 0;
     kReverse = 1;
diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
index 9367e36..af74d9b 100644
--- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
+++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
@@ -1139,7 +1139,7 @@
 }
 
 /** An interface for controlling a fan in a heating/cooling system. */
-server cluster FanControl = 514 {
+provisional server cluster FanControl = 514 {
   enum AirflowDirectionEnum : ENUM8 {
     kForward = 0;
     kReverse = 1;
diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
index e4aa78b..f2b3878 100644
--- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
+++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
@@ -1453,7 +1453,7 @@
 }
 
 /** An interface for controlling a fan in a heating/cooling system. */
-server cluster FanControl = 514 {
+provisional server cluster FanControl = 514 {
   enum AirflowDirectionEnum : ENUM8 {
     kForward = 0;
     kReverse = 1;
diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
index e824e2c..789188d 100644
--- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
+++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
@@ -117,7 +117,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-server cluster Scenes = 5 {
+provisional server cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
index 3bccbec..29941df 100644
--- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
+++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
@@ -1019,7 +1019,7 @@
 }
 
 /** An interface for controlling a fan in a heating/cooling system. */
-server cluster FanControl = 514 {
+provisional server cluster FanControl = 514 {
   enum AirflowDirectionEnum : ENUM8 {
     kForward = 0;
     kReverse = 1;
diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
index 42f0736..57b6112 100644
--- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
+++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
@@ -1261,7 +1261,7 @@
 }
 
 /** An interface for controlling a fan in a heating/cooling system. */
-client cluster FanControl = 514 {
+provisional client cluster FanControl = 514 {
   enum AirflowDirectionEnum : ENUM8 {
     kForward = 0;
     kReverse = 1;
diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter
index d05cbfa..f703cbf 100644
--- a/examples/light-switch-app/light-switch-common/light-switch-app.matter
+++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter
@@ -165,7 +165,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-client cluster Scenes = 5 {
+provisional client cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter
index 44cc85d..c0b6344 100644
--- a/examples/lighting-app/lighting-common/lighting-app.matter
+++ b/examples/lighting-app/lighting-common/lighting-app.matter
@@ -117,7 +117,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-server cluster Scenes = 5 {
+provisional server cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
diff --git a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
index 1ee2508..e1951b6 100644
--- a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
@@ -117,7 +117,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-server cluster Scenes = 5 {
+provisional server cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
diff --git a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
index ccad911..ca9d823 100644
--- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
@@ -117,7 +117,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-server cluster Scenes = 5 {
+provisional server cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter
index 3dc67ea..990047f 100644
--- a/examples/placeholder/linux/apps/app1/config.matter
+++ b/examples/placeholder/linux/apps/app1/config.matter
@@ -165,7 +165,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-server cluster Scenes = 5 {
+provisional server cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter
index daa2482..f11e7bb 100644
--- a/examples/placeholder/linux/apps/app2/config.matter
+++ b/examples/placeholder/linux/apps/app2/config.matter
@@ -165,7 +165,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-server cluster Scenes = 5 {
+provisional server cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
diff --git a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter
index 3f7be93..dd6e4bf 100644
--- a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter
+++ b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter
@@ -1579,7 +1579,7 @@
 }
 
 /** An interface for controlling a fan in a heating/cooling system. */
-server cluster FanControl = 514 {
+provisional server cluster FanControl = 514 {
   enum AirflowDirectionEnum : ENUM8 {
     kForward = 0;
     kReverse = 1;
diff --git a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter
index 997aad9..e20e6d4 100644
--- a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter
+++ b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter
@@ -117,7 +117,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-server cluster Scenes = 5 {
+provisional server cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
diff --git a/src/app/zap-templates/partials/idl/cluster_definition.zapt b/src/app/zap-templates/partials/idl/cluster_definition.zapt
index 2255015..54f6f68 100644
--- a/src/app/zap-templates/partials/idl/cluster_definition.zapt
+++ b/src/app/zap-templates/partials/idl/cluster_definition.zapt
@@ -1,4 +1,5 @@
 /** {{description}} */
+{{#if apiMaturity}}{{apiMaturity}} {{/if~}}
 {{#if generateClientCluster}}client {{else}}server {{/if~}}
 cluster {{asUpperCamelCase name}} = {{!}}
      {{~#if manufacturerCode}}
diff --git a/src/app/zap-templates/zcl/data-model/chip/ballast-configuration-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/ballast-configuration-cluster.xml
index 1b3a2d5..7819e95 100644
--- a/src/app/zap-templates/zcl/data-model/chip/ballast-configuration-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/ballast-configuration-cluster.xml
@@ -28,7 +28,7 @@
     <field name="LampBurnHours" mask="0x01"/>
   </bitmap>
 
-  <cluster>
+  <cluster apiMaturity="provisional">
     <name>Ballast Configuration</name>
     <domain>Lighting</domain>
     <description>Attributes and commands for configuring a lighting ballast.</description>
diff --git a/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml
index 9eb833b..3c30d96 100644
--- a/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml
@@ -73,7 +73,7 @@
     <item name="Reverse" value="0x01"/>
   </enum>
 
-  <cluster>
+  <cluster apiMaturity="provisional">
     <name>Fan Control</name>
     <domain>HVAC</domain>
     <description>An interface for controlling a fan in a heating/cooling system.</description>
diff --git a/src/app/zap-templates/zcl/data-model/chip/fault-injection-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/fault-injection-cluster.xml
index 76bc15e..3d95c99 100644
--- a/src/app/zap-templates/zcl/data-model/chip/fault-injection-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/fault-injection-cluster.xml
@@ -24,7 +24,7 @@
     <item name="ChipFault" value="0x03"/>
     <item name="CertFault" value="0x04"/>    
   </enum>  
-  <cluster>
+  <cluster apiMaturity="internal">
     <domain>CHIP</domain>
     <name>Fault Injection</name>
     <code>0xFFF1FC06</code>
diff --git a/src/app/zap-templates/zcl/data-model/chip/pwm-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/pwm-cluster.xml
index b71c0f1..ba31ad6 100644
--- a/src/app/zap-templates/zcl/data-model/chip/pwm-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/pwm-cluster.xml
@@ -17,11 +17,11 @@
 <configurator>
     <domain name="CHIP" />
 
-    <cluster>
+    <cluster apiMaturity="provisional">
         <domain>General</domain>
         <name>Pulse Width Modulation</name>
         <code>0x001c</code>
         <define>PWM_CLUSTER</define>
         <description>Cluster to control pulse width modulation</description>
     </cluster>
-</configurator>
\ No newline at end of file
+</configurator>
diff --git a/src/app/zap-templates/zcl/data-model/chip/scene.xml b/src/app/zap-templates/zcl/data-model/chip/scene.xml
index 8418f9c..ff67692 100644
--- a/src/app/zap-templates/zcl/data-model/chip/scene.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/scene.xml
@@ -33,7 +33,7 @@
   </struct>
 
   <domain name="CHIP"/>
-    <cluster>
+  <cluster apiMaturity="provisional">
     <name>Scenes</name>
     <domain>General</domain>
     <description>Attributes and commands for scene configuration and manipulation.</description>
diff --git a/src/app/zap-templates/zcl/data-model/chip/test-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/test-cluster.xml
index 2f7e137..9117389 100644
--- a/src/app/zap-templates/zcl/data-model/chip/test-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/test-cluster.xml
@@ -136,7 +136,7 @@
         <field mask="0x4000000000000000" name="MaskVal4" />
     </bitmap>
     
-  <cluster>
+  <cluster apiMaturity="internal">
     <domain>CHIP</domain>
     <name>Unit Testing</name>
     <code>0xFFF1FC05</code>
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index cf5a9d6..e4dec56 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -125,7 +125,7 @@
 }
 
 /** Attributes and commands for scene configuration and manipulation. */
-client cluster Scenes = 5 {
+provisional client cluster Scenes = 5 {
   bitmap Feature : BITMAP32 {
     kSceneNames = 0x1;
     kExplicit = 0x2;
@@ -526,7 +526,7 @@
 }
 
 /** Cluster to control pulse width modulation */
-client cluster PulseWidthModulation = 28 {
+provisional client cluster PulseWidthModulation = 28 {
   readonly attribute command_id generatedCommandList[] = 65528;
   readonly attribute command_id acceptedCommandList[] = 65529;
   readonly attribute event_id eventList[] = 65530;
@@ -4630,7 +4630,7 @@
 }
 
 /** An interface for controlling a fan in a heating/cooling system. */
-client cluster FanControl = 514 {
+provisional client cluster FanControl = 514 {
   enum AirflowDirectionEnum : ENUM8 {
     kForward = 0;
     kReverse = 1;
@@ -5041,7 +5041,7 @@
 }
 
 /** Attributes and commands for configuring a lighting ballast. */
-client cluster BallastConfiguration = 769 {
+provisional client cluster BallastConfiguration = 769 {
   bitmap BallastStatusBitmap : BITMAP8 {
     kBallastNonOperational = 0x1;
     kLampFailure = 0x2;
@@ -6572,7 +6572,7 @@
 }
 
 /** The Test Cluster is meant to validate the generated code */
-client cluster UnitTesting = 4294048773 {
+internal client cluster UnitTesting = 4294048773 {
   enum SimpleEnum : ENUM8 {
     kUnspecified = 0;
     kValueA = 1;
@@ -7018,7 +7018,7 @@
 }
 
 /** The Fault Injection Cluster provide a means for a test harness to configure faults(for example triggering a fault in the system). */
-client cluster FaultInjection = 4294048774 {
+internal client cluster FaultInjection = 4294048774 {
   enum FaultType : ENUM8 {
     kUnspecified = 0;
     kSystemFault = 1;