Back to Eliza

Headless CLI Audit

packages/chip/docs/toolchain/headless-cli-audit.md

2.0.14.1 KB
Original Source

Headless CLI Audit

Every tool used by this project must have a command-line path. GUI tools are allowed only when their CLI/export path is the repo-controlled interface.

ToolRepo entrypointHeadless statusCurrent blocker
Dockerdocker build, docker run ... make ci-fastWorks headlessDocker daemon required.
Nixnix developWorks headlessflake.lock is not pinned yet.
Python depsmake venv, requirements.txtWorks headlessHost must use .venv or Docker.
Verilatormake rtl-check, make verilator, cocotb backendWorks headlessNone in Docker path.
Yosysmake synth, formal fallbackWorks headlessFull proof still needs SymbiYosys.
SymbiYosysmake ci-strict with REQUIRE_SBY=1CLI-onlyNot installed in fast Docker image.
cocotbmake cocotb, make cocotb-contract, make cocotb-cpuWorks headlessRequires Python env plus Verilator/Icarus.
QEMUmake qemu-check, make qemuCLI-only; stage output is STATUS: PASS, STATUS: BLOCKED, or STATUS: FAILExecutable smoke needs RISC-V ELF compiler and qemu-system-riscv64.
Renodemake renode, make renode-check, scripts/run_renode.sh --check --transcript PATHCLI-onlyNot installed in fast Docker image; renode-check is scaffold/preflight only until a real Renode transcript is ingested.
Buildrootmake buildroot-check and sw/buildroot/scripts/import-buildroot-external.shCLI-onlyFull image build needs external Buildroot checkout.
Linux kernelmake linux-bsp-checkCLI-onlyFull kernel build needs external kernel tree/toolchain.
AOSP/Cuttlefishmake aosp-bsp-check, runbook in docs/androidCLI-onlyFull build needs external AOSP checkout and Cuttlefish deps.
CoreMarkmake benchmarks-dry-run, make benchmarksCLI-onlycoremark binary not installed by default.
STREAMmake benchmarks-dry-run, make benchmarksCLI-onlystream_c.exe not installed by default.
lmbenchmake benchmarks-dry-run, make benchmarksCLI-onlybw_mem and lat_mem_rd not installed by default.
fiobenchmarks/configs/*.fioCLI-onlyfio not installed by default.
TFLite benchmarkbenchmark_model via benchmark harnessCLI-onlyBinary and mobile_smoke.tflite artifact absent.
BSP scaffold auditmake software-bsp-check, make bsp-scaffold-checkCLI-onlyFull Linux/Buildroot/AOSP builds still need external trees.
MVP gap reportmake mvp-status, make mvp-status-strictCLI-onlyReports each subsystem as PASS, BLOCK, or FAIL with evidence and next command.
Release pipeline checkmake pipeline-checkCLI-onlyRequires generated synth/sim/formal artifacts under build/ and verify/cocotb/results.xml.
Release archivemake archive-releaseCLI-onlyRuns pipeline-check first; archive is blocked until required evidence exists.
MLPerf MobileBenchmark methodology docsCLI-capableNot wired as a local repo command yet.
OpenLanemake openlaneCLI-onlyDocker image or local OpenLane install required.
OpenROADmake openroadCLI-onlyLocal OpenROAD install required.
KiCadboard/kicad/** notes onlyCLI-capable through kicad-cliNo real KiCad project yet.
OpenOCDreferenced bring-up toolCLI-onlyNo board/JTAG target config yet.
sigrok-clireferenced bring-up toolCLI-onlyNo capture profile yet.
FreeCADreferenced mechanical toolCLI-capable through FreeCADCmdNo mechanical model yet.

Required Rule

No milestone may be marked complete because a GUI action was possible. Completion requires one of:

  • a repo command that runs headlessly,
  • a dry-run command that reports missing dependencies,
  • a blocked gate with the exact command and artifact needed to unblock it.

Current CLI Smoke Set

sh
make smoke
make mvp-status
make benchmarks-dry-run
make software-bsp-check aosp-bsp-check qemu-check renode-check
make pipeline-check
make archive-release
docker run --rm -v "$PWD:/work" -w /work eliza-soc-tools make ci-fast