Quickstart

Run the lost carrier reply example with the local decision engine.

1. Get the source

Repository access is required. The engine runs on Python 3.10 or newer; its rule-based core has no third-party dependencies.

git clone https://github.com/erphq/racksort.git
cd racksort

2. Run a decision

python3 -m racksort decide examples/carrier-lost-response.json

Without a model configured, uncertain evidence questions abstain. The engine follows the specification's conservative path and returns reconcile for this request: look up the carrier outcome before attempting anything billable again.

3. Read the verdict

The response's verdict says what to do with the proposed operation, next says how and who, state names the subject's state where the specification has one, and questions lists each evidence question with its status. A question with status certified settled a fact; any other status means it abstained. clauses quotes the specification sentences applied.

Explore the worked carrier example or browse all ten decisions.

Use the hosted API

Use an account API key to authenticate hosted requests. If the service returns 503, follow the error reference or run the same request locally using the commands above.

Create an account and a key

Create an account with your email address; a six-digit code signs you in. On your account, create a named API key and copy it. It is shown once.

Send a request

curl --fail --output request.json https://racksort.com/examples/carrier-lost-response.json
export RACKSORT_API_KEY="paste-your-key-here"
curl https://racksort.com/api/v1/decide \
  -H "Authorization: Bearer $RACKSORT_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

A verdict is a successful response whatever it says: HTTP 200 with reject means the request was decided and the operation must not run. Use the console to inspect a request and its response, and the API reference for every endpoint and field.