Conda environments have existed for more than 10 years. During most of that time,
conda was the only tool available to create, modify and delete conda environments. As a result,
once the Python implementation was considered stable enough, its integration test suite could be
regarded as the only technical specification needed for practical purposes.
However, as other tools appeared in the ecosystem (namely mamba and micromamba, along with the
libmamba-based solver), some of the tests contained in the integration suite did not adjust to
the ecosystem expectations (tests too strict, too tied to conda implementation details,
ambiguous results, conflicting outcomes across different tests, etc).
In this CEP, we'd like to propose a minimum set of guidelines any software implementation that
operates on conda environments should adhere to.
From the abstract: