11# Assura Development Status
22
3- > 164,785 lines of Rust, 4,925 tests, ** 21 workspace members** (re-counted 2026-07-04 via ` scripts/count-crates.sh ` ).
3+ > 201,160 lines of Rust, 5,781 tests, ** 21 workspace members** (re-counted 2026-08-02 via ` scripts/count-crates.sh ` ).
44
55## What Works Today
66
77| Capability | Status |
88| ------------| --------|
9- | Parse ` .assura ` contracts | 24 demos, 157 test fixtures |
9+ | Parse ` .assura ` contracts | 31 demos, 187 test fixtures |
1010| Name resolution with stdlib prelude types | Done |
1111| Type checking with 60+ checkers across all 50 spec features | Done |
1212| Z3 verification of requires/ensures/invariant clauses | Done |
1515| WASM codegen (` --target wasm ` ) | Done |
1616| IR prompt generation for AI coding agents | Done |
1717| IR parsing, structural validation, and SMT verification | Done |
18- | MCP server (5 tools) | Done |
18+ | MCP server (6 tools: check, infer, explain, type_map, ir_prompt, ir_verify ) | Done |
1919| gRPC server with streaming verification (5 RPCs) | Done |
2020| LSP server (hover, completion, go-to-def, symbols) | Done |
2121| VS Code extension (TextMate grammar + LSP client) | Done |
@@ -36,28 +36,28 @@ Workspace members only (`Cargo.toml` `members = ["crates/*"]` with
3636
3737| Crate (package) | LOC | Tests | Role |
3838| -----------------| -----| -------| ------|
39- | assura-parser | 9,597 | 188 | Lexer (logos) + recursive-descent parser (rowan CST), Pratt expressions |
40- | assura-ast | 2,942 | 39 | Canonical AST, DeclVisitor, ExprVisitor, ExprFolder |
41- | assura-resolve | 5,767 | 184 | Scope analysis, imports, stdlib prelude injection |
42- | assura-types | 43,305 | 1,704 | 60+ checkers in CHECKER_PIPELINE, all 50 spec features |
43- | assura-smt | 53,152 | 1,245 | Z3 + CVC5, Layer 2 verifier, prophecy/liveness/weak-memory, IR exec |
44- | assura-codegen | 15,867 | 658 | Multi-file Rust projects, proptest gen, WASM, IR body substitution |
45- | assura-pipeline | 2,103 | 66 | Canonical compile/compile_full/verify_typed/run_at |
39+ | assura-parser | 10,402 | 209 | Lexer (logos) + recursive-descent parser (rowan CST), Pratt expressions |
40+ | assura-ast | 3,162 | 46 | Canonical AST, DeclVisitor, ExprVisitor, ExprFolder |
41+ | assura-resolve | 6,095 | 189 | Scope analysis, imports, stdlib prelude injection |
42+ | assura-types | 44,727 | 1,750 | 60+ checkers in CHECKER_PIPELINE, all 50 spec features |
43+ | assura-smt | 59,594 | 1,348 | Z3 + CVC5, Layer 2 verifier, prophecy/liveness/weak-memory, IR exec |
44+ | assura-codegen | 16,706 | 670 | Multi-file Rust projects, proptest gen, WASM, IR body substitution |
45+ | assura-pipeline | 2,379 | 71 | Canonical compile/compile_full/verify_typed/run_at |
4646| assura-config | 1,299 | 53 | assura.toml, VerifyOptions, CompilerConfig |
47- | assura-diagnostics | 4,163 | 73 | Error codes, ariadne + JSON rendering |
48- | assura (dir: assura-cli) | 12,910 | 283 | CLI binary: check, build, init, fmt, infer, … |
47+ | assura-diagnostics | 4,224 | 75 | Error codes, ariadne + JSON rendering |
48+ | assura (dir: assura-cli) | 38,774 | 937 | CLI binary: check, build, init, fmt, infer, check-rust , … |
4949| assura-lsp | 1,965 | 55 | Language server (tower-lsp) |
5050| assura-server | 809 | 27 | gRPC + HTTP/JSON API |
51- | assura-mcp | 841 | 28 | MCP server for AI agent integration |
52- | assura-fmt | 648 | 52 | Formatter |
53- | assura-macros | 1,973 | 58 | Proc macros (` #[contract] ` , ` #[trust] ` ) |
51+ | assura-mcp | 865 | 28 | MCP server for AI agent integration |
52+ | assura-fmt | 741 | 53 | Formatter |
53+ | assura-macros | 1,974 | 58 | Proc macros (` #[contract] ` , ` #[trust] ` ) |
5454| assura-stdlib | 409 | 18 | Stdlib modules (math, string, collections, …) |
5555| assura-rust-analyzer | 2,514 | 92 | Syn-based Rust source parser for contract inference |
5656| assura-test-support | 376 | 10 | Shared test helpers |
5757| assura-bench | 421 | 0 | Criterion benchmarks |
5858| assura-runtime | 262 | 10 | Runtime support for contracts |
5959| assura-llm | 3,462 | 82 | LLM provider abstraction for auto-implement / suggest |
60- | ** Total** | ** 164,785 ** | ** 4,925 ** | |
60+ | ** Total** | ** 201,160 ** | ** 5,781 ** | |
6161
6262` crates/assura-driver ` is ** excluded** from the workspace (exploratory rustc
6363driver). Refresh counts with ` bash scripts/count-crates.sh ` .
0 commit comments