Repository navigation
refactor: consolidate built-in tool registration and dispatch - #247
Merged
Merged
Conversation
Derive tool names, classes, configuration eligibility, schemas, normalization and gateway dispatch from one ordered registry. Include dynamic-capability tools in static schema lookup, route GitHub review evidence tools through the existing executor, and persist code-intel authority through the shared workspace authority path. Co-authored-by: Codex <codex@openai.com>
3 tasks done
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
Built-in tool definitions, valid names, action classes, project-config IDs, payload normalization, and Gateway dispatch were maintained in separate lists. This allowed advertised GitHub review evidence tools to miss dispatch and code-intel calls with valid authority to be rejected by the Store.
Create one ordered registry in
internal/toolgateway/registry.goand derive those lookups and dispatch paths from its entries. The Agent's static admission check now uses the same registry. Remove the old lists, dispatch switch, and unused tool-name helpers: production Go code is reduced by 87 lines.This PR is based on #246 (
codex/clarify-runtime-names) so its diff contains only this 16-file registry change. Merge the naming PR first, then retarget this PR tomain.Validation
GOTOOLCHAIN=go1.26.6 go test ./internal/toolgateway -count=1— full package passes.git diff --checkpasses.Surface governance
No Surface is added, promoted, downgraded, deprecated, or removed.
Registry item(s): N/A — no Surface change
Target tier / transition: N/A — no Surface change
Entry criteria / decision: N/A — no Surface change
Owner: N/A — no Surface change
Shared Go Application contract: N/A — no Surface change
Authority impact: N/A — no Surface change
Supported platforms: N/A — no Surface change
Release / test evidence: N/A — no Surface change
Compatibility strategy: N/A — no Surface change
Deprecation window: N/A — no Surface change
Removal / rollback plan: N/A — no Surface change
Audit
Co-authored-by: Codex codex@openai.com