Hi all,
I am using the Use LLM node in Pipeline Builder with a vision prompt. My setup is as follows:
- A code repository transform joins a MediaSet with product data and outputs an enriched dataset. The
mediaReferencecolumn is present in this output dataset. - In Pipeline Builder, I feed that enriched dataset directly into the Use LLM node. The MediaSet itself is not a node in the Pipeline Builder graph — only the enriched dataset is.
Trial runs work without issue. Full builds fail with:
PERMISSION_DENIED (MediaSet:CannotReadMediaSetBranch)
mediaSetRid = ri.mio.main.media-set.<redacted>
The build job does not have read access to the MediaSet because it is not declared as a connected input node in the pipeline graph. The build token is scoped only to resources explicitly present in the graph, so even though the mediaReference values are sitting in the enriched dataset, the build job cannot resolve them against the MediaSet at runtime.
I know that adding the MediaSet as a connected input node in the pipeline graph (with a join back to the enriched dataset) resolves the permission issue, and I have confirmed this works. However, this is a problematic workaround for two reasons:
- The
mediaReferencevalues are already in the enriched dataset. Re-introducing the MediaSet into the pipeline graph just to satisfy the build job’s permission scoping is unnecessary overhead. - More importantly, this creates a hidden dependency problem for consumers of the enriched dataset. Any downstream user who builds a pipeline on top of that dataset and uses the Use LLM node will hit the same
PERMISSION_DENIEDfailure. They have no visibility into the upstream MediaSet, no reason to know the workaround exists, and will burn build credits on repeated failures before understanding why. This has already happened in practice.
This is not just a usability issue — it has a real cost impact for teams consuming enriched datasets that contain mediaReference columns.
My questions:
- Is there a supported way to grant a Pipeline Builder build job read access to a MediaSet without adding it as a connected input node in the graph?
- If not, is the lightweight join pattern (adding the MediaSet as a connected node with a minimal join that adds no new columns) the only supported approach right now?
- Is there a platform-level mechanism planned to allow MediaSet read access to be declared or inherited without requiring an explicit graph node, so that downstream consumers are not silently blocked and do not incur unnecessary build costs?
Thank you.