I added an 8th requirement:
It must be clear in all client interfaces which actions:
- affect the domain model
- affect components associated with the domain model but not the domain model itself (e.g. an obscure property exposed via a component's managment interface that isn't part of the domain model).
- affect non-classified components
Thinking about it, the example in 2. above is probably overly narrow. Besides the case of obscure properties not included in the domain model, there is also the case of actions that are meant to temporarily override the domain value (e.g. to tweak a logging level).
Further to that, if we are going to allow temporarily overriding the domain value, that should be one of the requirements. :)