tp context show before running commands. Add root --json before the command when machine parsing needs JSON output; use root --profile <name> only to override the active profile.
Discover functions
describe normally overlays target-workspace availability from DESCRIBE FUNCTION EXTENDED without running inference.
Inspect source data
project/raw/... is a ThinkPlatform logical path, not a Unity Catalog Volume path. Use the URI returned by datalake resolve-uri as the notebook or Job input_path; do not construct /Volumes/<catalog>/project/... or an ABFSS URI yourself.
Run and monitor a SQL statement
Import and validate notebooks
--serverless and --cluster-id.
Save production work as a job
--wait resolves the latest retry attempt automatically when a run has repeated entries for one task key. For a genuine multi-task Job, inspect the parent with tp lakehouse runs get <run-id>, then request each task run’s output explicitly.
SQL notebook compact output may contain only run metadata. Use an independent tp lakehouse statements execute query against the materialized project-catalog table for row-level acceptance checks. A raw-only read_files Statement can be rejected by the project-catalog guard; perform raw inspection in the bounded notebook and keep the independent Statement focused on the resulting project table.
Use no more than 10 representative rows for the default validation. Materialize the AI expression once, then perform all acceptance queries against that output. Keep preview caching enabled; add --fresh only for the first read after the materialization commit.
CLI and MCP execution routes
If Serverless is unsupported, use
job-cluster/job_cluster with the organization policy. Use existing compute only with explicit approval and an explicit cluster ID.