feat(provider-tangle): narrow interactions by backend catalog - #227
Merged
Conversation
tangletools
approved these changes
Aug 20, 2026
tangletools
left a comment
There was a problem hiding this comment.
✅ Auto-approved drewstone PR — 69db3bf2
This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.
This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.
tangletools · auto-approval · reason: drewstone_author · 2026-08-20T07:17:31Z
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.
Summary Narrow agent-provider-tangle interaction capabilities from the canonical Sandbox backend catalog. The provider resolves the configured defaultBackend, intersects declared interaction kinds with the backend catalog, and removes the interaction claim when lookup is unavailable, throws, or finds no backend. It preserves the existing provider API and leaves Braid unchanged. It works with published Sandbox 0.30.1 through listBackends(); getBackend() is optional for newer SDKs. ## Proof agent-interface build passed; provider check-types passed; provider build passed; provider tests passed 145/145; contract tests cover Pi permission-only narrowing, lookup failure, and absent backend fail-closed behavior; diff check and pre-push hooks passed. The Sandbox SDK catalog remains the only backend capability authority.