Skip to content

feat(confighub): return the standard rule builder from FromConfigHub - #60

Merged
windischb merged 1 commit into
developfrom
feature/confighub-rule-builder
Oct 5, 2026
Merged

windischb merged 1 commit into
developfrom
feature/confighub-rule-builder

Conversation

@windischb

Copy link
Copy Markdown
Contributor

Summary

  • FromConfigHub returns the normal ProviderRuleBuilder<...> again; the ConfigHubRuleBuilder wrapper is removed. Select and MountAt therefore work as on every other rule and apply to the class object the server returns.
  • Schema registration ignores Select/MountAt and always reports the full type from For<T>() under its class name or alias. Only the "no Select" guard was removed; the conflict error for one key with different types is unchanged.
  • Guide and changelog updated, Agent Skill regenerated.

Why

The class key decides which object ConfigHub delivers. A type can still lie below a path inside that object (Select), or the delivered object can belong to a nested property of the bound type (MountAt). Both are rare but valid, and the decision belongs to the developer, as with any other provider.

Test plan

  • dotnet test ./src -c Release --filter "Type!=Performance" — all green
  • New tests: Select and MountAt take effect on delivery while the registered schema stays the full type
  • node website/scripts/sync-skill.mjs --check

🤖 Generated with Claude Code

Select and MountAt are valid on a ConfigHub rule: the class key decides which
object the server returns, and both then apply to that object on the client like
on any other rule. Whether they make sense is the developer's decision, so the
wrapper builder that hid them is removed.

Schema registration ignores both and always reports the full type of the rule
under its class name or alias.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@windischb
windischb merged commit 2e48450 into develop Oct 5, 2026
5 checks passed
@windischb
windischb deleted the feature/confighub-rule-builder branch October 5, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant