There are several new “media roles” introduced in CSL 1.0.2. For example the very generic “creator” or “writer” besides the already existing “author” role. Moreover, “host” and “guest” are very generic as well. AFAIK all variables including the name roles can be used´in CSL-JSON for any publication type, i.e. there is no mechanism which will restrict these new roles to media types only. In the final schema there also no hints about how to use these variables.
I would envision that a new software engineer which wants to implement CSL in their software has it a lot harder if s/he just sees all these possibilities for creator/contributor types. For example if I want to model data for a book according to the CSL schema, then I can take “author” or “creator” or “writer” which IMO would all look fine for a book. (Moreover, there will also be slight semantic changes when these terms have to be translated.)
One possibility for “writer” is to use the more specific term “screen-writer” or “script-writer” (=Drehbuchautor) instead. In German there is also “Studiogast” which is more specific as only “Gast” (=guest) but I don’t know if you have something similar in English as well.