Skip to content

Axiom Engine v0.2.2-beta.1

Pre-release
Pre-release

Choose a tag to compare

@vicsanity623 vicsanity623 released this 28 Feb 04:09

🚀 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 --strict coverage and ruff linting across the codebase to ensure deep structural integrity.
  • Automated Developer Workflows: Introduced auto_fix.py, smart_coder.py, and fast_coder scripts 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 uv for lightning-fast explicit tool dependency management (attrs, mypy, ruff).

Core changes

1. Code Quality & Type Safety

  • Comprehensive mypy Integration

    • Fully typed the src/ directory, resolving hundreds of Any types 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).
  • Rigorous ruff Linting

    • 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.
  • 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.

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: facts if 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.
  • 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 uv package manager for significantly faster environment syncing and CLI execution.
  • 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]" or uv 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