Axiom Engine v0.2.2-beta.1
Pre-release
Pre-release
🚀 Axiom Engine v0.2.2-beta.1
This release solidifies codebase stability through comprehensive static type analysis and rigorous linting, introduces powerful new automated developer workflows, and builds upon the robust fragment-aware ledger introduced in v0.2.1.
Highlights
- Strict Type Safety & Linting: Enforced
mypy --strictcoverage andrufflinting across the codebase to ensure deep structural integrity. - Automated Developer Workflows: Introduced auto_fix.py, smart_coder.py, and
fast_coderscripts to automatically resolve code issues and enforce quality. - Enhanced Engine Resilience: The node now gracefully handles missing or deleted ledger databases mid-run, automatically regenerating the schema for uninterrupted cycles.
- P2P Synchronization Fixes: Addressed crashes and edge-cases during node handshakes and chain syncing.
- Tooling Overhaul: Reorganized pyproject.toml to leverage
uvfor lightning-fast explicit tool dependency management (attrs,mypy,ruff).
Core changes
1. Code Quality & Type Safety
-
Comprehensive
mypyIntegration- Fully typed the
src/directory, resolving hundreds ofAnytypes across core modules (node.py, ledger.py,p2p.py, etc.). - Added strict enforcement rules to pyproject.toml (e.g.,
disallow_any_decorated,disallow_any_unimported,warn_unreachable).
- Fully typed the
-
Rigorous
ruffLinting- Replaced legacy linters with
ruff, catching and automatically fixing hundreds of code style, import sorting, and complexity warnings (ruff-fixes,ruff patches). - Implemented strict line-length and docstring formatting constraints to ensure maximum readability.
- Replaced legacy linters with
-
Developer Automation Scripts
- smart_coder.py /
fast_coder: New developer tools to intelligently execute and parse static analysis, automatically applying patches to the codebase. - auto_fix.py: Automated script to tackle stubborn Mypy and Ruff errors programmatically.
- Added docs/fast-smart-coder.md to document usage and workflows for these new tools.
- smart_coder.py /
2. Engine Resilience & Bug Fixes
-
Database Initialization Safety (node.py & ledger.py)
- Fixed a critical crash where the node would fail
[Idle] Learning cycle skipped: no such table: factsif the ledger database was deleted while the background thread was running. - The engine now guarantees the schema is correctly initialized when recovering from a wiped state, allowing safe interoperability with reset_axiom_state.sh.
- Fixed a critical crash where the node would fail
-
P2P Sync Hardening (
p2p.py&blockchain.py)- Improved defensive programming around peer synchronization.
- Hardened dictionary accesses and type checking when parsing foreign node JSON responses during handshake and chain sync operations.
3. Build & Tooling Improvements
-
Dependency Management (pyproject.toml)
- Grouped developer tooling explicitly under
[project.optional-dependencies] tools(attrs==25.4.0,mypy>=1.0.0,ruff>=0.8.0). - Shifted to leverage the
uvpackage manager for significantly faster environment syncing and CLI execution.
- Grouped developer tooling explicitly under
-
Build Constraints (build_standalone.py)
- Refined PyInstaller specs to properly package static assets and ignore unnecessary automated tooling folders from the final distribution.
Upgrade notes
- Tooling Dependencies: Contributors must now install tooling explicitly (e.g.,
uv pip install -e ".[tools]"oruv sync --extra tools) to participate in development. - Database: No manual migration is needed from
v0.2.1-beta.1. The ledger schema remains structurally identical.
Full Changelog: v0.2.1-beta.1...v0.2.2-beta.1