Currently the instance/party (and place if done yet) extension DSL is just purely introspected.
We should use transformers, persisters and validators according to https://github.com/ash-project/spark/blob/main/documentation/how_to/writing-extensions.md
The transformers can inject useful methods onto the extended resource.
The persisters can make introspection data we find useful, perhaps to other enhanced resource's transformed methods.
The verifiers should raise at extended resource compile time to provide useful guidance.
Extended resources are unknown to each other at their respective compile times.
Refactor so action helpers are not needed. Most test cases should be unchanged, but not a pure refactoring as we'll include negative tests of the verifiers.
Currently the instance/party (and place if done yet) extension DSL is just purely introspected.
We should use transformers, persisters and validators according to https://github.com/ash-project/spark/blob/main/documentation/how_to/writing-extensions.md
The transformers can inject useful methods onto the extended resource.
The persisters can make introspection data we find useful, perhaps to other enhanced resource's transformed methods.
The verifiers should raise at extended resource compile time to provide useful guidance.
Extended resources are unknown to each other at their respective compile times.
Refactor so action helpers are not needed. Most test cases should be unchanged, but not a pure refactoring as we'll include negative tests of the verifiers.