4 Design🔗

Mindstream structures your workflow in sessions, which are version-controlled files. When you first start a session it begins as anonymous, meaning that it doesn’t have a name. If the session develops into something worth keeping, you can save it to a preconfigured (or any) location on disk by giving the session a name. A session is stored as a version-controlled folder. With that in mind, here are some properties of the design:

  1. Depending on mindstream-unique, there may be only one anonymous session active at any time per template, or there may be more than one.

  2. Saving an anonymous session turns it into a named session. Named sessions work the same as anonymous sessions aside from having a name and being in a permanent location on disk. A new anonymous session could be started at any time via mindstream-new.

  3. New sessions always begin anonymous.

  4. Anonymous sessions may persist across Emacs restarts, depending on mindstream-persist.

  5. Named sessions may be loaded without interfering with any active anonymous sessions.

  6. Any number of named sessions could be active at the same time. Sessions are self-contained and independent.