Partial update. geometry_kind, unit deliberately absent — both immutable.
folder_id accepts an explicit null (move to root). The route layer must use model_dump(exclude_unset=True) to distinguish "omitted" from "explicit null" before forwarding to the repo.
layer_id is optional ("omitted = leave alone") but explicit null is rejected by the route (conditions must always have a layer; per ADR-0026).
derivations semantics: None → leave alone; [] → 422; non-empty list → full replacement (atomic DELETE + INSERT in one transaction).
Successful Response
Back-compat metadata. Reads fall back here when config.dimensions is empty.