Commit a04b539
feat(cli): add Zig CLI consumer (subprocess architecture)
Adds the verisim standalone CLI — the agreed-upon CLI-first consumer target,
chosen for OS process isolation (dependability + security over priority order).
Architecture:
- src/Abi/VCLProtocol.idr — Idris2 formal ABI for the stdio wire protocol
(VCLQuery, VerdictResult, WellFormedExchange + A2ML framing constants)
- src/vcl_server.jl — Julia server script; spawned as child process,
reads VCL from stdin, proves via Verisim package, emits A2ML [vcl-verdict]
- ffi/zig/src/verisim_cli.zig — Zig binary; resolves package path, spawns
Julia, pipes queries/verdicts (4/4 unit tests: Pass, ParseError, empty, multi)
- ffi/zig/build.zig + build.zig.zon — Zig 0.15 build config
- justfile: cli-build, cli-build-release, cli-test, cli-query recipes
No libjulia embedding — subprocess boundary is the isolation mechanism.
VERISIM_PACKAGE_PATH env var overrides package location; fallback: ../../../..
relative to binary.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent cc38b06 commit a04b539
26 files changed
Lines changed: 3154 additions & 0 deletions
File tree
- verisim-modular-experiment
- ffi/zig
- .zig-cache
- h
- o
- 0307ab4bff06f33ac296ab52d8095fe5
- 327829e0a82728c9c7e5a38887a68037
- 7c48ce26056b640f3bdfedb9392f0e72
- f1ea4330472a4c6ebcbfed6922919020
- z
- src
- zig-out/bin
- src
- Abi
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
Lines changed: 837 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
Lines changed: 835 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
Lines changed: 838 additions & 0 deletions
Large diffs are not rendered by default.
0 commit comments