Most long-running systems rot because components leak irreversible side effects or inter-component dependencies become entangled at runtime. Cordis treats composition as a runtime-first problem: it tracks context transformations with inverses (revertible effects) and notifies components of context changes (reactive coeffects) so components can be added, removed, or patched without leaving the system in an inconsistent state.
What Sets It Apart
- Runtime-first formalism: brings effect and coeffect concepts into the runtime by making effects revertible and coeffects reactive, which lets the system automatically unwind side effects when a component is removed. This reduces manual cleanup logic and makes dynamic reconfiguration safer.
- Declarative composition + HMR: a component loader reconciles layered configurations and supports hot module replacement, enabling developers to update or compose plugins declaratively rather than imperatively.
- System-level guarantees: the project presents a calculus and metatheory showing how spatiotemporal composability scales from a single component to interleaved component systems, providing stronger reasoning about correctness than ad-hoc plugin systems.
Who it's for + Trade-offs
Great fit if you build plugin-based agent harnesses, extensible developer tooling, or any system that must modify running component graphs without restarting. Look elsewhere if you need a drop-in UI app or a polished production SDK today — Cordis is research-driven and under active development, so APIs can change and integration requires understanding its composability model. It shines when you need formal guarantees about revertibility and dependency management across component lifecycles.