24c11d233a
The API stores mirror_strategy NOT NULL DEFAULT 'round_robin' and always returns it on GET, so an Optional-only attribute (mapping empty->null on read) put 'round_robin' into state while config was null, showing a perpetual 'round_robin -> null' diff for every remote that did not set it. - schema: mirror_strategy is now Optional+Computed with a round_robin default, mirroring how the description attribute handles an API-defaulted scalar; state can hold the API's round_robin with no diff - apiToModel: pass the API value straight through, settling an empty create-response to the round_robin default (no more empty->null) - datasource: read the value through directly (drop the shared helper) - tests: assert the GET-returns-round_robin refresh path yields no post-apply diff, the empty create-response settles to the default, and the schema attribute is Optional+Computed Removed the now-unused stringOrNull helper.