As standard across Cytognosis, reproducibility is a core tenet of our deployment infrastructure. Rather than relying on transient network pings to PyPI or mapping ambiguous version tags, cytoskeleton strictly resolves and anchors all dependency trees downstream.
locked/)The core repository stores exact cryptographic manifestations of all tested compatibility permutations internally.
locked/environments/.uv.lock and locked/matrix/.uv.lock.strix-halo and cookiecutter projects checking out submodules. Running uv pip sync modules/cytoskeleton/locked/environments/ml-linux-cuda.uv.lock safely installs exactly the environment audited by our generate_all_locks.py suite.LOCK_MANIFEST.json contains SHA-256 validation sums to detect accidental/manual mutations.For non-developer installations (i.e., deployed nodes, end-users leveraging Pixi or Conda natively without cloning git repos), environments are additionally synced and managed seamlessly through prefix.dev.
pixi or micromamba..uv.lock mappings and integrates them with conda-forge/pytorch registries to synthesize unified Conda distributions safely circumventing pip's native shortcomings handling native C++ bindings.Cytognosis maintains the following explicit channels on prefix.dev:
https://prefix.dev/channels/cytognosis-stack: The bleeding-edge development channel automatically updated by our Github Actions (refresh-locks.yml).https://prefix.dev/channels/cytognosis-stable: Manually promoted lock matrices bound to explicit version tags (e.g., v1.2.0).Downstream users seeking to establish a specific cytoskeleton generated environment can achieve it trivially using pixi.toml:
``toml
[project]
name = "my_analysis_project"
channels = ["conda-forge", "cytognosis-stack"]
platforms = ["linux-64", "osx-arm64"]
[dependencies]
cytognosis-ml = "==0.1.0" # This implicitly fetches the entire pre-locked dependency array
`
The overall strategic architecture depends exclusively on Git actions ensuring these artifacts are never stale.
1. Monday 6:00 AM Cron: refresh-locks.yml rebuilds all 80 permutations, identifying any newly patched packages that unpinned constraints shifted slightly for.dep_diff.py
2. Review: Dependencies are diffed structurally via and presented as a Pull Request.main
3. Merge: Once merged into , the .github/workflows/tag-locks.yml mechanism detects locked/ changes and dynamically increments semantic tags (e.g., publishing v1.3.1).cytoskeleton
4. Broadcast: This tag syncs implicitly down to the submodule in cookiecutter` instances globally.