VFX-E-1151¶
Title¶
SchemaSectionNotFound
Explanation¶
get_schema was given a section argument that addresses nothing in the composed schema, so there
was no subtree to return and the call could not be performed. Rather than return an empty success
that a caller could mistake for "this section exists and is empty", the tool fails with this code.
Two shapes reach it: an unrecognised named section (anything other than full, metadata,
environment, variables, or steps), and a step:<family>.<provider> token whose dotted type
name the schema does not define. Section matching is case-sensitive — Metadata is not
metadata.
Note the deliberate distinction from VFX-E-1250 (StepTypeNotInCatalogue), which describe_step_type
returns: that code is about the live engine catalogue, this one about the embedded schema
document get_schema serves offline. They can, in principle, disagree, which is why they are
separate codes.
Common causes¶
- A typo or wrong casing in the
sectionargument. - Guessing a section name that sounds plausible but is not one of the five the tool advertises (for example
services,dependencies, orsuite). - A misspelled or invented
family.providerin astep:token. - A
step:token with no dot in it, such asstep:http— the schema only defines dottedfamily.providernames, never a bare family. - Asking for a step type from a different engine version than the one this server is pinned to.
Fixes¶
- Call
list_step_typesfirst and copy a dotted type name from its output verbatim intostep:<type>— this is the cheapest correct path for a step-type lookup, and it addresses exactly the subtree you need. - Use one of the exact named sections:
full,metadata,environment,variables,steps. - Check the error message itself — it lists every valid named section, and for a
step:token it says which type name was not found. - Ask for
format: "summary"instead of a schema subtree when you only need to know which fields a section defines; the digest is capped at 8 KB. - As a last resort, omit
sectionentirely to get the whole schema and navigate it yourself — but note the cost: the full document is ~105 KB of JSON (~220 KB on the wire, because the payload is carried both as structured content and as text). Reach for it only when you genuinely need the entire contract in one call.