biokoda/actordb
45.4
Weak · 22 September 2026
842
lines of production code
Erlang
with C
6
measurements over time
What this system is
ActorDB is a distributed database system that provides both a command-line and graphical user interface for interactive SQL sessions and cluster management. It supports cross-platform compilation for Windows, Linux, and macOS, with a build system that automates the creation of standalone console executables. The system manages database initialization, configuration, and runtime behavior through updated configuration files and scripts, while ensuring reliability through comprehensive test suites for distributed operations and REPL interactions.
Features
Introduce ActorDB console and GUI shell
Added the \actordb\_console\ command-line interface and the \actordb\_wxconsole\ graphical shell for interacting with ActorDB. The console supports executing SQL queries, managing configuration and schema, and running scripts via the \-f\ flag. The GUI shell provides a windowed interface with history navigation and a login dialog. This replaces the previous \etop\_txt\ text-based process monitor.
src · high confidence
Introduce standalone console executable scripts for Windows and Unix
A new escript, priv/mkconsole.escript, has been added to the codebase. This script compiles the Erlang source files (actordb\_console.erl and, on Windows, actordb\_wxconsole.erl) and packages them into executable scripts (actordb\_console or actordb\_wxconsole) placed in the priv directory. This change enables users to run the console application directly as a standalone executable, with the script handling the necessary path setup and file generation.
priv · high confidence
Introduces a new C-based command shell for interactive database sessions
A new C source file, cmdshell.c, has been added to the c\_src directory. This file implements a command-line interface that uses the GNU Readline library to provide an interactive shell experience. It manages inter-process communication via named pipes (FIFOs) to relay commands and responses between the shell and the database backend, including handling of input/output redirection and process management.
_c\src · high confidence
Behavioural changes
ActorDB runtime and configuration overhaul
The release scripts and control utilities have been refactored: the legacy \actordb\ and \actordbctrl\ scripts are replaced by a new \actordb\_console\ wrapper and a simplified \nodetool\ that now uses \init:stop\ and \init:restart\ for node management. Configuration defaults have been updated to improve performance and safety: \fsync\ is set to an interval of 1000ms, \query\_timeout\ is set to 10000ms, and \client\_inactivity\_timeout\ is introduced. The network ports for RPC and Erlang distribution have been shifted to the 44xx range (e.g., RPC port 44380, distribution 44370-44379). Additional runtime options include enabling \multi\_time\_warp\, setting \max\_replication\_space\, and configuring scheduler binding via \+stbt db\. Several legacy configuration files (\nodes.yaml\, \schema.yaml\, \install\_upgrade.escript\) have been removed.
rel/files · high confidence
Database initialization and configuration overhaul
The default SQL initialization script (etc/init.sql) has been added to define the root and default users, along with sample actor schemas, replacing the previous YAML-based schema and node configuration files (etc/schema.yaml, etc/nodes.yaml) which have been removed. The main configuration file (etc/app.config) has been significantly updated with new settings for Thrift and MySQL ports, client inactivity and query timeouts, replication space limits, SQLite extension loading, and a new fsync mode for write safety. Additionally, the Erlang VM arguments (etc/vm.args) have been updated to include new flags.
etc · high confidence
Release 0.10.29 and build system updates
The release version is updated to 0.10.29, which includes a bugfix for transaction restart after interruption. The build system is updated to support cross-platform compilation: the Makefile now detects the OS to compile the C-based \actordb\_tool\ and \cmdshell\ with appropriate flags (e.g., static linking on Linux, specific headers/libs on macOS and CentOS). A new \winbuild\ script is added to automate Windows builds, and the \pkg.vars.config\ is updated to include \actordb\_console\ and \actordb\_tool\ in the package commands. Additionally, the \rebar.config\ is updated to use the \biokoda\ GitHub repositories for \actordb\_core\ and \node\_package\ (version 4.0), and \actordb\_client\ is added as a dependency.
(repo-wide) · high confidence
Updated release configuration for version 0.10.25 with new binaries and dependencies
The release build configuration has been updated to version 0.10.25. The release now includes the adbt and crypto applications, while explicitly excluding common\_test and test\_server. The build process has been modified to replace the actordbctrl binary with actordb\_console and cmdshell, and to include the actordb\_tool binary. Additionally, the configuration now supports an extensions directory for SQLite extensions and initializes an example SQL file, while removing the schema and nodes YAML files from the release artifacts.
rel · high confidence
Test coverage
Added distributed and REPL test suites; Added test configuration and schema for ActorDB and BKDCore.
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 33 → 45 (+12.5)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 91 → 92 (+0.7)
- Architecture 69 → 69 (+0.0)
- Maturity 21 → 33 (+11.5)
- Readiness 26 → 70 (+44.1)
- Security 100 → 100 (+0.0)
- Event-Driven 35 → 35 (+0.0)
Resolved (7)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- No exposed public API
- Test reliability not included
- TooManyMethods: actordb_console (src/actordb_console.erl)
- complexity unreadable for .erl — churn × complexity hotspots could not be measured
- dormant codebase — no living knowledge left to concentrate
New (14)
- Coverage not measured — no coverage collector is wired up
- Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (9 lines × 3) (src/actordb_console.erl)
- Floating source dependency: actordb_core
- Floating source dependency: node_package
- No ADRs found
- No dependency lockfile committed (rebar.config)
- actordb_console.cmd (cyclomatic 39) (src/actordb_console.erl)
- actordb_console.dopipe (cognitive 22) (src/actordb_console.erl)
- actordb_wxconsole.wxloop (cognitive 29) (src/actordb_wxconsole.erl)
- actordb_wxconsole.wxloop (cyclomatic 22) (src/actordb_wxconsole.erl)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
biokoda/actordb 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 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit cf48f819c6cd1a5d4d50ff977db1617b3cece460 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-821afab8930d.