feat(mason): add code-first Python tools - #491
Open
junchoi-db wants to merge 1 commit into
Open
Conversation
junchoi-db
commented
Aug 30, 2026
junchoi-db
commented
Aug 30, 2026
junchoi-db
marked this pull request as ready for review
August 31, 2026 00:30
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.
What
https://metric-reports-viewer-6051921418418893.staging.aws.databricksapps.com/20260829_mason-code-first-custom-tool-df1-e2e.html

@toolauthoringagent.tomlentrypoints the only activation sourcemason tools check/run, non-blockingMASON001undeclared-tool warnings, and dev/deploy preflight validationWhy
Writing customer code and also running a CLI generator duplicated ownership. This flow keeps behavior and schema in typed Python, exposure in
agent.toml, and uses the CLI for validation, execution, development, and deployment.Design doc
Proof of work
df1validation/dev/deploy E2E: 16/16 semantic rows passed, covering CLI and direct-agent.tomlauthoring acrossmason devand deployed Apps for sandbox, managed MCP, the custom Python tool, and a UC functionMASON001, broken-entrypoint rejection, valid contract check, and direct custom-tool runMASON_PYTHON_OKthrough both dev lanes and both deployed App lanesinformation_schema.routinesdbfs:/Volumes/jun_choi_test/reports/metric_reports/20260829_mason-code-first-custom-tool-df1-e2e.html2a374ea79789365f2a6d75d69344ab9740ba28d6f45b13a456120b0de09f8a9eTesting
228 passed; JUnit reportserrors=0 failures=0 skipped=0 tests=228sha256 7351535f35e6dd6d35c8c1627ab507a06dd1433ce79ec9c400ff90dfaba0e0de)19 passedacross all tests runnable in this environmentasyncio.to_thread(lambda: 1)hangs in both project virtual environments; plain threads and plain asyncio both passbffee76produces the same eighthttpx/httpx2errors and two warnings.This pull request and its description were written by Isaac.