This checklist records the release hardening gate for Cougr's 1.0 line.
It is intentionally practical: release readiness depends on evidence in the repo and a package that can be consumed from crates.io.
Published crate:
- API_CONTRACT.md matches the actual curated public surface
- API_FREEZE_1_0.md matches the current freeze decisions
- COMPATIBILITY_PROMISES.md matches maturity and namespace intent
- PUBLIC_GAPS.md reflects the real known gaps
- tests/public_api_surface.rs passes and covers the curated namespaces
-
appremains the clearest onboarding path -
SimpleWorldandArchetypeWorldremain the defended Soroban-first backends -
RuntimeWorldandRuntimeWorldMutstill describe the stable shared overlap
-
authclearly mirrors Beta account flows -
privacy::stableandprivacy::experimentalstill reflect the intended maturity split -
opsclearly mirrors stable operational standards
- README.md reflects the current onboarding path
- ECS_CORE.md reflects the current backend story
- PERFORMANCE.md reflects the current benchmark suite
- canonical example READMEs still match the product story
- CHANGELOG.md summarizes the release accurately
-
cargo fmt -
cargo test -
cargo bench --no-run - example crates designated as canonical references still pass their local tests
- THREAT_MODEL.md still matches the shipped trust boundaries
- UNSAFE_INVARIANTS.md still matches the crate's current safety posture
- no Beta or Experimental surface is accidentally described as stable
The 1.0.0 release is acceptable because:
- the curated onboarding path is coherent
- the stable contract is narrower than the total public graph
- remaining gaps are explicit and acceptable
Current repo status:
cougr-core1.0.0has been published- release story is coherent enough for a defended
1.0.0 - remaining gaps are compatibility and maturity gaps, not onboarding ambiguity
- the only unchecked gate in this file should be an actually unrun verification step