Case study
GridCraft: spreadsheet workflow reconstruction and XLSX round-trip limits
The authors describe GridCraft as a clean-room Rust implementation of Excel-style spreadsheet workflows. A workbook model, formula parser and dependency-driven recalculation are connected to XLSX I/O and a shared editing-command layer for desktop, browser and automation interfaces.
Requirements and limitations
- The pinned workspace identifies version 0.7.0 and declares Rust 1.90+ with Cargo. Browser builds use Trunk and wasm32-unknown-unknown; native Linux CI lists X11/Wayland, GTK, fontconfig/FreeType and graphics dependencies. Fonts and input workbooks are separate; no build was run here.
- Reviewed XLSX tests construct workbooks and OOXML packages, compare modeled values after writing and reading, and check selected unmodeled parts and relationships. These checks do not establish arbitrary-workbook byte identity; preserving a connection part is not implementing or refreshing its data source.
- Calculation tests use expected values for selected formulas, dependency changes and spilled arrays. The dated assessment against Excel for Mac 16.113.4 says Excel was not launched and no build or test ran in that assessment pass; it also records the absence of Excel-computed conformance oracles.
- The project remains alpha. Ribbon/function-name counts and readiness estimates are not behavioral-compatibility pass rates. File fidelity, advanced workflows, performance and ecosystem compatibility remain bounded, and the README documents graphics-driver startup issues. No Microsoft source tree or Microsoft 365 backend recovery is established.
- Code is MIT OR Apache-2.0 with NOTICE obligations; optional fonts and ArtCraft branding have separate terms. Published modified versions must remove the ArtCraft marks, except contribution-only forks. Clean-room is the authors’ characterization, not an independently audited process; CLI/MCP support does not establish REA involvement.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- App
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/README.md
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/Cargo.toml
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/.github/workflows/ci.yml
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/docs/target-app-parity.md
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/crates/xlsx/src/tests/roundtrip.rs
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/crates/xlsx/src/tests/passthrough_tests.rs
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/crates/calc/src/tests.rs
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/LICENSE-MIT
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/LICENSE-APACHE
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/NOTICE
- https://github.com/storytold/gridcraft/blob/f1894c6da64d4326022ae644c767581816a23c2c/docs/brand/LICENSE-brand.txt