A system consists of interacting and/or interrelated components. Such components interact with certain preferences, forming a BOUNDARY separating the system and the environment.
A system is usually long-running, needs to be durable, must self-regulate, and often have subsystems, each having a sub-purpose of the parent's. Having a boundary, it bounds to have a mechanism to interact with the environment--the interface.
Having many components, maintenance is harder, thus requiring a different strategy.
Scriptic, on the other hand, is a quality of software, code, script, etc, that is not systemic.
I derived the definition from how script errors are commonly handled by reporting and retrying. In a script, it is rare that an error or a message in general is passed to some other piece of code to be interpreted.
But it is not rare to see a collection of scripts become systemic over time and then the programmers begin to consider using another tool, and then another language. This complexity shift is often painful; when unmanaged, many have resorted to total rewrites with new languages.
Moreover, determining whether a program will be a system at first is often difficult at first because the formation of the system's boundary is continuous, not instant.
Systemic TypeScript series aims to select a particular strategy of writing TypeScript program that scales with complexity, where design pattern does not have to change often as a scriptic program becomes systemic. Therefore, when applied, the distinction between systemic and scriptic becomes less important and thus reducing the negative effect of complexity shift.