MajorDomo is essentially a highly distributed build tool, which monitors its containers for changes and then can, depending upon what has changed and its current view of the build dependencies, will compute the minimal build possible.
We use a system suggested by tup (see: Build System Rules and Algorithms (PDF), see also sake)
We use SyncThing's events pooling on the LocalChangeDetected and RemoteChangeDetected events. This forms the basic "change set" between "updates".
- pynt has an interesting use of Python decorators.