Repository navigation
Aestra 0.1.0-beta
Pre-release
Pre-release
Aestra v0.1.0-beta
Initial public beta release of Aestra: a deterministic execution sandbox and testing engine for competitive programming and automated grading.
Highlights
- Hardware-Level Sandboxing: Kernel-level CPU and RAM limits using POSIX
setrlimit(RLIMIT_CPU,RLIMIT_AS) with microsecondwait4telemetry. - PyO3 FFI Core: Rust CPython module (
aestra_core) exposing zero-overhead native execution. - Adaptive Fallback Engine: Automatic runtime selection—uses
NativeEngineon Linux/POSIX, falls back toSubprocessEngineon Windows and non-Rust environments. - ICPC-Grade Differential Checker: Support for
TOKEN,EXACT, andIGNORE_WHITESPACEcomparison modes. - Batch Test Runner & CLI: Automated
.in/.outtest discovery, verdict evaluation (OK,WA,TLE,MLE,RE), and terminal command interface with ANSI telemetry badges.
Features & Enhancements
Core Engine & Sandboxing
- Implement POSIX kernel sandbox using
fork,execve, andsetrlimit(#13, #14) - Expose native execution to Python via PyO3 C-bindings (#12, #13)
- Implement
NativeEnginewrapper interfacing withaestra_core(#15) - Implement
SubprocessEnginecross-platform fallback for non-Rust environments (#16) - Define frozen
ExecutionLimitsand typedExecutionResultdomain models (#6)
Testing & CLI
- Add batch test runner engine with recursive case discovery and verdict aggregation (#17, #19)
- Add multi-mode output checker with whitespace-delimited token comparisons (#14)
- Add production terminal CLI supporting
runandtestsubcommands (#18, #19) - Consolidate unified test suite in
tests/test.py(13/13 passing)
Infrastructure & Documentation
- Multi-OS GitHub Actions CI matrix with Ruff lint/format, Mypy typing, and Rust test targets (#12)
- Add zero-dependency installation scripts for POSIX Bash and Windows PowerShell (#16)
- Launch complete technical documentation portal at https://elitsuv.github.io/aestra/
Bug Fixes & Polish
- Ensure explicit string casting in
ExecutionStatus.__str__(#11) - Remove shebang in label script to satisfy Ruff
EXE001rule - Remove redundant title fields in GitHub issue templates
- Relocate static logo assets to
docs/assets/for GitHub Pages hosting
Breaking Changes
- None (initial public beta release).
Full Changelog: https://github.com/Elitsuv/aestra/commits/0.1.0-beta