Validation

Every write is checked against the project schema before it lands, so a script cannot produce a broken project.

Clamped

A number outside its documented range is clamped silently:

CODE
synth.volume = 20        // stored as 6
synth.instrument.cutoff = 5  // stored as 20

Throws

SituationError
wrong type (cutoff = "high")cutoff: expected a number, got string
NaNcutoff: NaN is not a valid value
unknown enumeration (mode: 7 on Arpeggio)mode: 7 is not one of 0, 1, 2
+Infinity on a gainvolume: +Infinity is not a valid gain
overlapping regionsRegion [0, 3840] overlaps existing region ...
removing the output unitThe output unit cannot be removed
getProject() without an open projectthrows, check hasProject() first
openInStudio() after the studio changedrefused with a toast, nothing applied

An uncaught error stops the script and shows in the editor. Nothing is applied to the studio until openInStudio() succeeds, so a failing edit script leaves the open project untouched.