aeternity/aesophia
58.6
Adequate · 2 October 2026
11.8k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
This system is the Aeso compiler for the Sophia smart contract language, which generates code for the FATE backend. It provides core language processing capabilities including parsing, type inference, and structured error reporting, alongside a standard library featuring cryptographic primitives, functional utilities, and set operations. The project also includes comprehensive test suites validating compilation, ABI generation, and contract lifecycle features, as well as a versioned documentation site for developer reference.
Features
Introduce FATE backend and structured error handling for Sophia contracts
The compiler now supports the FATE backend, replacing the legacy AEVM, which enables new capabilities such as BLS12-381 cryptographic operations, improved liveness analysis, and optimized switch handling. To support this, the system introduces a structured error type (\aeso\_errors\) for consistent, position-aware error reporting and a new ACI generation module (\aeso\_aci\) that exposes contract interfaces as JSON. The compiler pipeline now explicitly separates parsing, type inference, and FATE code generation, allowing for better optimization and debugging of Sophia contracts.
src · high confidence
New standard library modules for cryptography, fractions, sets, and functional utilities
The \priv/stdlib\ directory now includes several new modules that expand the language's capabilities. The \BLS12\_381\ module adds support for BLS12-381 elliptic curve operations, including point arithmetic and pairings, enabling advanced cryptographic use cases. A new \Frac\ module introduces a rational number type with arithmetic, comparison, and rounding functions. The \Set\ module provides a generic set implementation backed by maps, supporting insertion, deletion, and set operations like union and intersection. Additionally, the \Func\ module adds higher-order function utilities such as composition, currying, and recursion combinators, while \AENSCompat\ provides translation functions between AENS pointee formats.
priv · high confidence
Behavioural changes
New documentation site with versioning and theme support
The documentation site has been rebuilt using MkDocs with the Material theme, introducing a pink and slate color scheme with dark/light mode toggles. It now supports version management via the 'mike' plugin and includes a navigation hook that automatically copies Markdown files from the root docs folder and the CHANGELOG into the build directory. The site features a custom 'outdated' banner to alert users when viewing older documentation versions and organizes content to include sections for the compiler and ACI alongside existing Sophia language guides.
.docssite · high confidence
Test coverage
Expanded contract test suite for language features and error handling; Initial test suite for the Aeso Sophia compiler.
Dependencies
Add documentation build dependencies
Added a new requirements file for the GitHub Actions workflow specifying versions for MkDocs (1.4.2), MkDocs Simple Hooks (0.1.5), MkDocs Material (9.0.9), Mike (1.1.2), and Pygments (2.17.2) to support documentation generation.
(dependencies) · high confidence
Release v8.0.1: Upgrade aebytecode to v3.4.1
The aebytecode dependency has been upgraded to version 3.4.1 to resolve C compiler warnings. This change is included in the v8.0.1 release, which also updates the release target in the build configuration.
(repo-wide) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 64 → 59 (-4.9)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 83 → 83 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 48 → 48 (+0.0)
- Readiness 73 → 53 (-19.7)
- Security 72 → 72 (+0.0)
- Event Sourcing 100 → 100 (+0.0)
Resolved (2)
- Coverage not measured — no coverage collector is wired up
- Documentation: written for insiders (README.md)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
aeternity/aesophia was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 4f8c01a76e97a85364f8a83b5690fe218561c38f — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.