Part of the answer to "why are escalations rising?" can sit in PDF policies that never became SQL. We would put the current handbook on one managed volume attached to one domain Genie Agent, leave the ingestion landing volume off that agent, and keep Chat on the metric views for yesterday's sales number. Databricks' 2 November 2026 AI/BI release notes moved Analyze files in Unity Catalog volumes to Public Preview. That is the moment we'd change how we invite people to a domain agent. It is not the moment we'd stand up a second retrieval stack beside Genie.
The invite check we'd run first #
The invite is the gate.
Before anyone gets CAN RUN, we'd ask three things. Is the attached volume a managed volume that holds only the current handbook? Does every invitee already hold READ VOLUME on it? Do draft contracts still share that volume with the published pack? The volumes docs make the middle question non-negotiable: a user without at least READ VOLUME on an attached volume gets an error, and attaching a volume covers all of it, since you cannot attach a subset of its files. This models our check and isn't a Databricks API.
def invite_ok(volume_is_managed_handbook, invitees_hold_read_volume, drafts_on_same_volume):
"""One domain Genie Agent, before anyone gets CAN RUN."""
if not volume_is_managed_handbook:
return "stop, attach only a managed volume that holds the current handbook"
if drafts_on_same_volume:
return "stop, split drafts onto another volume before the invite"
if not invitees_hold_read_volume:
return "stop, grant READ VOLUME first, or shrink the group"
return "send the invite"
assert invite_ok(False, True, False).startswith("stop, attach only")
assert invite_ok(True, True, True).startswith("stop, split drafts")
assert invite_ok(True, False, False).startswith("stop, grant READ VOLUME")
assert invite_ok(True, True, False) == "send the invite"We'd expect a hurried review to miss the drafts assertion.
Take a support-escalation agent whose metric views already answer ticket age by queue. The handbook PDF that names the severity rules belongs on a managed volume next to those views. The daily drop of scanned contracts in /Volumes/raw/inbox does not. We'd run invite_ok on the handbook volume and the invitee group, and we'd leave the inbox alone even though the files are already in Unity Catalog. Mixing drafts with the published pack means the agent can cite a draft, because it processes the entire volume. The Genie Agent always uses the permissions of the user who asks the question, and the securable here is a volume, so we'd delay the invite.
Why the landing volume stays off #
A landing zone churns. Preparing and syncing files bills through ai_parse_document, and when files change Databricks re-parses them; answering is ordinary Genie usage (billing FAQ). The bill for a small handbook we keep current is one we accept. The bill for a zone that turns over all day is one we'd refuse.
Drive and SharePoint stay on MCP for us. A frozen copy lands in a managed volume only when Unity Catalog grants have to own it. Yesterday's sales number stays in Chat. The afternoon investigation that needs the handbook and three joins is where the volume belongs (Genie chapter). The Toolkit Genie readiness checks still apply to the tables beside those files, because uncommented columns leave the agent guessing on the SQL side. When we need our own chunking or multi-agent control, this preview is not the route we'd take.