← Back to Docs
VERSION LOCKING
Every backtest creates a strategy_versions row that records the exact inputs that produced it, using SHA-256 hashes. Deployments are version-locked to one of these rows, so what trades is always reproducible and auditable.
What Gets Hashed
| Hash | Covers |
|---|---|
| code_hash | The strategy source (strategy.py / entry module). |
| config_hash | The strategy config (universe, parameters, risk limits). |
| bundle_hash | Canonical hash of all bundle files (path|content pairs) for multi-file submissions. |
| skills_manifest_hash | Hash of every skill file (SKILL.md, scripts, references) in the bundle. |
Why It Matters
- Backtest results map to an exact, immutable version of your code and config.
- A deployment cannot silently drift — it trades the locked version until redeployed.
- Allocators can verify that a tracked record corresponds to a specific version.
- Identical inputs produce identical hashes, so duplicate strategies are detectable.
See Deployment and Skill Bundles.