Skip to content

[Inference/Web] Add a first-class inference CLI and documented API examples #72

Description

@agorevski

Finding

The repo documents training/evaluation and web/Python usage, but there is no first-class terminal command for decompiling bytecode and no documented curl/SSE API example.

Evidence

  • README Quick Start stops at data generation, training, and evaluation: README.md:26-105.
  • README CLI reference lists download_hf_contracts.py and train.py, but no inference/decompile CLI: README.md:204-242.
  • Runbook inference guidance covers Python API and starting the web app, but not a terminal decompile command or curl flow: docs/runbook.md:375-443.
  • src/model_setup.py has a main() that only sets up a training model and prints trainable parameters, not an inference CLI: src/model_setup.py:1623-1637.

Impact

A user can train/evaluate a model but cannot intuitively run inference from a shell, CI job, or scripted workflow. They must write Python code or reverse-engineer the web endpoint.

Recommended fix

Add a supported CLI such as uv run python scripts/decompile.py --model-path ... --bytecode ... (or a package entry point) plus README/runbook examples for both CLI and curl against /api/decompile.

Acceptance criteria

  • CLI accepts --model-path, --bytecode and/or --bytecode-file, compiler metadata, and output format (json, solidity, tac).
  • CLI validates input and exits non-zero with clear errors for invalid bytecode/model paths.
  • CLI emits machine-readable JSON including analysis timings, function errors, and model config.
  • Docs include a copy/paste CLI example and a curl/SSE example for the web API.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions