feat: add tool gating examples#20
Merged
Merged
Conversation
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
Adds generic Python and TypeScript tool-gating examples.
The examples demonstrate that Context Compiler authoritative state determines which tools are exposed by the host and whether those tools may execute. The host owns tool registration and execution, while Context Compiler owns the policy state that controls tool availability.
Why
Tool gating is a distinct enforcement point.
These examples show that restricted tools are removed from the available tool surface when not authorized. Access decisions are enforced by the host using authoritative Context Compiler state rather than prompt instructions, user claims, or model compliance.
The examples use a calendar administration domain to demonstrate observable changes in tool availability and execution behavior as authoritative state changes.
Example metadata
Checklist
Notes
Both implementations demonstrate:
The examples intentionally gate tool discovery as well as execution. Unauthorized tools are not exposed by the host, and direct invocation attempts are blocked even if a caller bypasses discovery.
TypeScript validation scripts were updated so the new example participates in repository validation.