RocheDB Release Checklist

This is the canonical release checklist for the public RocheDB repository.

v0.2.0 Positioning

Release v0.2.0 as a technical preview / research OSS release with stronger operational demos and Universe sync coverage.

Recommended wording:

RocheDB v0.2.0 Technical Preview
A ring/galaxy-oriented document and vector database prototype focused on
smaller working sets, durable recovery boundaries, and eventual universe sync.

Avoid claiming that RocheDB is generally faster than Redis, PostgreSQL, or Apache Arrow. The current defensible claim is narrower:

Local reads are being moved toward existing database speed bands, while
RAG-style synthetic benchmarks show reduced scanned candidates and token input
under the documented conditions. v0.2 adds stronger operational and sync
validation for evaluation.

v0.1.0 Positioning

Release v0.1.0 as a technical preview / research OSS release.

Recommended wording:

RocheDB v0.1.0 Technical Preview
A ring/galaxy-oriented document and vector database prototype focused on
reducing working-set size for retrieval-heavy systems.

Avoid claiming that RocheDB is generally faster than Redis, PostgreSQL, or Apache Arrow. The current defensible claim is narrower:

Local reads are being moved toward existing database speed bands, while
RAG-style synthetic benchmarks show reduced scanned candidates and token input
under the documented conditions.

Required Before v0.1.0

Area Required Item Status
Core tests scripts/test_core.sh passes Done
WAL recovery Torn-tail, invalid length, invalid vector dim, partial transaction tests pass Done
Warp belt WAL persistence, reopen recovery, ack cleanup, idempotent patch behavior Done
Cluster smoke tx / failure retry / authz / RBAC / wire fuzz smoke scripts pass locally Done
FAISS bridge roche doctor and FAISS bridge smoke are documented and reproducible Done
Drivers Driver status table is accurate and does not overclaim package publication Done
Bench docs Benchmark conditions, limitations, Redis/PostgreSQL wording, and environment are consistent Done
AI/RAG case study Generated JSONL corpus is imported and measured with global / routed / wrong-ring retrieval Done
Security docs Threat model and third-party notices are present Done
License docs Core license and third-party dependency licenses are clear Done
Generated files Test binaries and temporary outputs are not included in release artifacts Done; build/test binaries removed, ignored local FAISS bridge may remain for doctor
Area Item  
Release notes Done: CHANGELOG.md and docs/github-release-v0.1.0.md  
Docker Done: Docker-backed PHP / Swift / Kotlin smoke passed locally  
Cluster Done: local 3-node smoke scripts passed locally  
Docs Done: README links to status, benchmark, threat model, driver roadmap, and release draft  
Examples Done: cluster demo passed locally; core tests cover embedded usage  
AI/RAG demo Done: examples/ai_rag_case_study.sh passed locally  
Package metadata Done: rochedb.nimble version / description / license checked  
CLI CRUD roche --help, put/get/query/list-ring/count-ring, and minimal roche shell are available for embedded smoke usage Done

Required Before v0.2.0

Area Required Item Status
Universe sync Local data-dir sync and remote --peers delivery pass smoke tests Done
Universe sync failure Target-down retry keeps source outbox pending and later applies / acks / prunes Done
Universe sync JSONL failure Malformed JSONL rows are counted, valid rows still apply, replay is idempotent, and source ack/prune remains explicit Done
Universe sync observability Remote apply status and process-local apply/error counters are exposed through universe-status --peers --metrics Done
Universe sync authz/fuzz UAPPLY authz, idempotency, malformed frame, oversized body, and invalid JSON cases pass Done
Universe sync restart Remote target restart preserves applied keys, and duplicate delivery is skipped after restart Done
Protocol compatibility WIREVER exists and protocol compatibility notes document versioning and wire vector byte order Done
Driver byte order C ABI versus TCP wire vector endian contract is documented Done
Documentation site GitHub Pages workflow plus API / config / CLI entry pages exist under docs/ Done
Docker Compose demos Single galaxy, three-node galaxy, and local/remote universe demos build, start, pass health checks, and cleanly stop Done
CLI usability CRUD, shell, help, and user-facing auth error smoke checks pass Done
Package metadata rochedb.nimble is valid and versioned for v0.2.0 Done
Nimble CLI entrypoint src/roche.nim builds the user-facing roche command for Nimble installs Done
Production boundary README/status/design avoid claiming enterprise production readiness before TLS, audit, coordinator redundancy, and mixed-version tests Done
Planner boundary Heuristic planner status and benchmark dependency are documented Done

Explicitly Not Required For v0.1.0

These are important, but should not block the first technical preview:

  • TLS for public-network deployments
  • dynamic cluster membership
  • cluster coordinator redundancy
  • multi-VM / multi-AZ benchmark
  • WASM browser build
  • FlowBrigade / FlowLogbook adapter
  • enterprise plugin features
  • package publication to npm / PyPI / Cargo / Composer / NuGet / Maven
  • fault-tolerance improvements
  • cluster repair and integrity verification

Post-v0.1 Direction

The post-v0.1 roadmap should focus on integration and operational maturity. The items below are candidates for v0.2 and later releases, not a promise that all of them fit into v0.2.0:

  • rochedb-flow adapter
  • FlowBrigade-backed retry / backoff / lock / rate limit for warp belt
  • FlowLogbook-compatible warp attempt and ack history
  • server-side warp scheduler
  • browser / WASM local-state boundary
  • stronger cluster operational stories
  • package publication workflows
  • API reference documentation
  • Prometheus / OpenMetrics and Datadog metrics adapters

Final Release Gate

Before tagging:

  1. Run core tests.
  2. Run scripts/test_all_smoke.sh.
  3. Run Docker Compose demo checks from examples/compose/README.md.
  4. Run selected Docker-backed driver smoke tests when Docker capacity allows.
  5. Run nimble check.
  6. Review benchmark wording.
  7. Review license and third-party notices.
  8. Remove generated binaries and temporary artifacts.
  9. Confirm README and status docs describe v0.2.0 as technical preview.
  10. Prepare the nim-lang/packages PR after the v0.2.0 tag exists.