Require explicit resource Provider operation contracts - #255
Merged
Merged
Conversation
…er-contracts # Conflicts: # apps/docs/content/guide-sources.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Provider extensions previously inferred support from optional Go interfaces, while batch observation used a boolean that could hide failures as unsupported behavior. Require every resource provider to declare each existing operation, validate its registration and method set, and return a typed Unsupported outcome with an authored safe reason.
Keep the five resource primitives mandatory, preserve existing lifecycle and cleanup semantics, and forward Unsupported through the exact-version node protocol. Batch observations fall back to single reads only for explicit Unsupported. The canonical Provider guide and generated documentation describe the contract.
Validation so far:
make check), official-client checks, and Linux/Windows/macOS platform checks pass atc7627bfb6cf0f1aaca9ad9ea38557419f3310ecf.4f25d37048ed9212259b46a44500e811ffb30dd2.The additional zju full run passed backend/persistence checks and 84/86 Web browser tests, then stopped on two pages whose scripts failed with
ERR_NETWORK_CHANGED. A focused retry passed one; the other again recorded 53 network-change failures. Traces are retained outside the repository. CI's complete gate, including these browser tests and the example checks, passed without this host issue.This does not include #248 resident pause, Harness/Runtime capability changes, deployment or release. Live E2B and microsandbox qualification are not included in the current evidence.