- Frontend serialize: use undefined instead of null for synth_engine - Backend validate: strip None synth_engine from tracks before schema validation - Prevents 'None is not of type object' schema error
- validate_project_data injects missing project_id with temp_legacy_ prefix - Prevents 400 error when old frontend data lacks project_id