Let's imagine that we have an application with 3 layers (Implementation, Framework and Platform).
When creating a new rule in the implementation layer:
CBR will attempt to create the rule in the ruleset that defines the context class for the rule.
If this is not available, it will then look for another valid ruleset in that application
If no valid ruleset is found, it will look for a valid ruleset in the implementation layer
When Updating a rule (For example updating a flow in the case type lifecycle: myFlow is defined at Org-App-Work-Case, in framework 01-01-01)
CBR will first attempt to update the rule in it's current ruleset (framework 01-01-01)
If this is not available, CBR will follow the basic create process
The Platform will always be locked , and in most case the Framework layer is locked, so these rulesets are not available for changes. This will have App Studio create and save updated rules in the implementation rulesets.