SODL

Start

Run it on your own repository.

Not a demo project. The whole claim is that SODL derives a model from your contract, so a curated showcase is precisely the artifact that cannot demonstrate it. No account, no token, no sign-up, and the first four commands need no running service at all.

1  Install

The script detects your platform, verifies the download against SHA256SUMS, installs into a user directory without admin rights, and prints the PATH line to add if one is missing.

curl -fsSL https://github.com/rajsinghsisodia/sodl-releases/\
releases/latest/download/install.sh | sh

# Windows, PowerShell
irm https://github.com/rajsinghsisodia/sodl-releases/\
releases/latest/download/install.ps1 | iex

sodl version

Unsigned internal build, so SmartScreen or Smart App Control may stop it on Windows. Signing is planned before SODL ships wider; install.adoc in the zip has the full story.

2  Ask it what it can see, before it writes anything

Run this in a repository that already holds .proto files or an OpenAPI document. -probe is read-only. It writes nothing, creates nothing, and prints what it found.

Do this first because discovery walks a convention, and a repository laid out differently will produce an empty manifest. Far better to see that here than to find out two commands later, having already had a config file written for you.

sodl init -probe

Prints hasProject, a suggested name, and the proto roots and OpenAPI documents it located, as JSON. If the lists are empty, pass your contracts explicitly in the next step with -contracts.

3  Set up the project

Writes a minimal sodl.yaml, an environment file and a starter scenario, using the same convention walk -probe just showed you. It refuses if sodl.yaml already exists, so it is never a silent clobber.

sodl init -yes

Still nothing running, still no credentials. sodl.yaml is yours to edit afterwards; nothing regenerates it behind you.

4  See what it understood, and what it would not conclude

This is the step worth your attention. It shows you your own system: entities, lifecycles, identities and relationships, with everything it declined to conclude named alongside.

The kind of thing it says →

sodl analyze
sodl model -open

model -open renders the derived surface as a browsable page, recomputed from your contract each time. This step also drops an assumptions.yaml into your project. Commit it and leave it alone; SODL maintains its own lines in it.

5  Prove it, then hand over the evidence

sodl run takes no arguments inside a project. It walks the scenario tree, runs every scenario against your service, and writes one immutable record. sodl report -open renders that record as a self-contained page.

What is in the record →

sodl run
sodl report -open

While authoring, sodl check is the faster loop: same derivation, same runner, read back as one verdict. It writes no record, because running is the evidence-producing act.

A claim you could not reproduce is the most useful thing you can send back. More useful than a feature request. If SODL asserted something and you could not verify it, that is a defect in the one thing this product sells. Send the output of sodl version, the command you ran, and the run record from .sodl/runs/.