PRAXO-CORE Erlang Core

PRAXO-CORE is an embeddable, MIT-licensed agent framework. This package is its native Erlang Core with source tag erlang/v0.1.1. It passes all eleven shared vector groups on Erlang/OTP 29 and includes the native agent loop, memory store, checkpoint allowlist, lexical path policy, context compaction, event sinks, middleware helpers, and tool selection. It does not call Go or another Core.

Build and Test

From the repository root:

python language/erlang/run-tests.py
python language/erlang/api-snapshot.py --check

Set ERLC and ERL to select the compiler and runtime. The Python runner only launches erlc, erl, and the API checks; the implementation and tests are Erlang. Build output stays under language/erlang/build/ebin/.

To build manually from language/erlang/:

erlc -I src -o build/ebin src/*.erl conformance/*.erl tests/*.erl
erl -noshell -pa build/ebin -eval "praxo_conformance:main()." -s init stop
erl -noshell -pa build/ebin -eval "praxo_tests:run()." -s init stop

Usage

Model = praxo_agent:static_model(<<"hello">>),
Options = praxo_agent:new_agent_options(Model),
{ok, Result, _Options} =
    praxo_agent:run_agent(Options, praxo_models:session(<<"demo">>), <<"hello">>),
io:format("~s~n", [maps:get(output, Result)]).

Public declarations are inventoried in api/0.1.1.txt. This is a source declaration check, not a binary ABI promise. Regenerate it with python api-snapshot.py.

Current Limits

The source is MIT; see LICENSE. Erlang/OTP is a separate toolchain, not vendored code.

See language policy, parity inventory, SETUP.md, and implementation support.