SPDX-License-Identifier: CC-BY-SA-4.0 SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell (hyperpolymath) -->
Procedure for cutting a release of echidnabot, plus standing checklist of items that should already be in place before any release ships.
Current target: v0.2.0 (production hardening — observability,
deployment automation; see ROADMAP.adoc "Remaining
Work").
Last reviewed: 2026-06-01
- README.adoc - SEO-optimized, project-focused
- BRANDING.md - Visual identity and LLM art prompts
- Justfile - RSR canonical task runner
- Nickel configuration (config/echidnabot.ncl)
- MCP configuration (.claude/settings/mcp.json)
- STATE.a2ml - Project checkpoint
- META.a2ml - Dublin Core metadata
- ECOSYSTEM.a2ml - Dependency graph
- GitHub topics file (.github/topics.txt)
- Apply GitHub Topics - Go to repo Settings → About → Topics and add:
theorem-prover, formal-verification, proof-assistant, ci-cd, rust, coq, lean4, agda, isabelle, z3, smt, formal-methods, type-theory, github-app, automation, mathematics, logic, webhooks, hacktoberfest - Update GitHub Description - Set to:
Proof-aware CI bot that verifies mathematical theorems on every push. Coq, Lean, Agda, Isabelle, Z3 support. Rust + Tokio + GraphQL.
- wiki/Home.md
- wiki/Getting-Started.md
- wiki/Architecture.md
- wiki/Supported-Provers.md
- wiki/FAQ.md
- wiki/Configuration-Reference.md - All config options
- wiki/API-Reference.md - GraphQL schema documentation
- wiki/Platform-Integration.md - GitHub/GitLab/Bitbucket setup
- wiki/Troubleshooting.md - Common issues
- wiki/Changelog.md - Version history
- wiki/Roadmap.md - Future plans
- Enable Wiki in GitHub repo settings
- Push wiki/ to the wiki repo:
git clone https://github.com/hyperpolymath/echidnabot.wiki.git cp wiki/*.md echidnabot.wiki/ cd echidnabot.wiki && git add . && git commit -m "Initial wiki" && git push
- .github/workflows/quality.yml - Rust build/test/lint
- .github/workflows/docs.yml - casket-ssg documentation
- .github/workflows/echidnabot.yml - Self-referential proof checking
- .github/workflows/codeql.yml - Security scanning
- .github/workflows/scorecard.yml - OSSF Scorecard
- Ensure all workflows pass on main branch
- Add release workflow for crates.io publishing
- Add container publishing to ghcr.io
- README.adoc + README.md (Markdown summary linking into .adoc)
- EXPLAINME.adoc — receipts behind README claims
- ROADMAP.adoc — phases + completion
- CONTRIBUTING.md
- SECURITY.md
- CODE_OF_CONDUCT.md
- MAINTAINERS.adoc
- CHANGELOG.md (auto-generated from conventional commits)
- CITATION.cff + codemeta.json
- ABI-FFI-README.md — Zig FFI + Idris2 ABI boundary
- 0-AI-MANIFEST.a2ml + .claude/CLAUDE.md — AI assistant pointers
- RSR_OUTLINE.adoc + RSR_COMPLIANCE.adoc
- docs/content/{index,getting-started,configuration,api}.md (casket-ssg)
- docs/DEPLOYMENT.md — Production deployment guide (k8s, helm, docker-compose)
- Man pages (docs/man/echidnabot.1) via Mustfile recipe
- Avatar (512x512) - Geometric echidna logo
- Banner (1280x640) - GitHub social preview
- Favicon (32x32, 16x16) - For docs site
- Upload avatar to GitHub org/repo
- Set social preview image in repo settings
- Add favicon to docs site
- Run
cargo fmton all files - Run
cargo clippyand fix all warnings - Achieve 50%+ test coverage
- Add integration tests
- Run
cargo auditand fix vulnerabilities - Run
cargo deny checkfor license compliance
- GitHub webhook handler with signature verification (HMAC-SHA256)
- GitLab + Bitbucket webhook handlers
- Proof file detection (by extension across 7 file types)
- ECHIDNA Core dispatcher client (REST + GraphQL)
- GitHub Check Run reporter
- SQLite + PostgreSQL persistence
- CLI:
serve,register,check,status,init-db
- Auto-detect prover from file extension
- 12-prover surface (Coq, Lean 4, Agda, Isabelle, Z3, CVC5, Metamath, HOL Light, Mizar, PVS, ACL2, HOL4)
-
ProverKindslug newtype — open-ended for 113 upstream provers - Parallel proof checking (semaphore-bounded)
- Aggregated results
- Container isolation (podman + bwrap, fail-safe)
- Retry + circuit breaker (5-failures-then-open, 5-min reset)
- Trust bridge (confidence levels, solver integrity, axiom tracking)
- Per-IP webhook rate limiting
- Prometheus
/metricsendpoint - Double-loop feedback (tactic-outcome recording + corpus delta)
- OpenTelemetry distributed tracing
- Structured JSON logging end-to-end
- Graceful shutdown (finish in-progress jobs before exit)
- SECURITY.md policy
- .well-known/security.txt
- HMAC-SHA256 webhook verification (code exists)
- No hardcoded secrets
- SHA-pinned GitHub Actions
- Run TruffleHog scan: no secrets in history
- Run CodeQL: no critical findings
- OSSF Scorecard: 7+ score
- Cargo.toml metadata complete
- guix.scm package definition
- Containerfile for Docker/Podman
- Justfile for task automation
- cargo-deb configuration
- cargo-rpm configuration
- Homebrew formula (optional)
(Nix flake intentionally NOT planned: nix is deprecated estate-wide as of 2026-06-01.)
- All tests passing
- Changelog updated
- Version bumped in Cargo.toml
- STATE.a2ml updated
- Documentation reviewed
- Create git tag:
git tag -s v0.1.0 -m "Release 0.1.0" - Push tag:
git push origin v0.1.0 - GitHub release created with notes
- Publish to crates.io:
cargo publish - Container pushed to ghcr.io
- Announce on relevant channels
- Verify crates.io page
- Verify container works
- Update roadmap
- Start next milestone
- Enable GitHub Discussions
- Set up issue templates (if not present)
- Configure branch protection rules
- Enable Dependabot
- Post to Hacker News (when ready)
- Post to r/rust, r/programming
- Post to Coq, Lean, Agda communities
- Add to Awesome lists (awesome-rust, etc.)
- 100+ GitHub stars
- 5+ external contributors
- 3+ production users
- 80%+ test coverage
- OSSF Scorecard 8+
-
Immediate (before merge)
- Apply GitHub topics manually
- Update GitHub description
- Enable wiki and push content
-
This Week
- Create branding assets
- Add missing wiki pages
- Complete Phase 1 functionality
-
This Month
- Achieve MVP release (v0.2)
- 50% test coverage
-
Next Quarter
- v1.0 production release
- Multi-platform support
- ML tactic suggestions