Open source at Benchy
The asset-management layer of Benchy is open: the benchy-mesh validation engine, its grading harness, and the edge pipeline architecture around it.
Open where policy decisions are made
When benchy.world says File checks passed or permits a model to be sold, the named checks and policy behind that decision should be inspectable. That label is a server-enforced policy decision — not a guarantee the file is print-ready, slice-ready, or that every mesh property was inspected. The 3D file engine is open source, runnable locally, and explicit about which work passed, failed, was unsupported, or did not run.
The centerpiece is github.com/benchystudio/benchy-mesh — a Rust workspace of six crates for bounded 3D file inspection and policy decisions, plus a grading harness that scores alternative implementations against a defensive corpus.
What's open
- benchy-mesh — content-based detection and bounded parsing for STL, OBJ, GLB/glTF, and 3MF; evidence-backed geometry and topology checks; additive file-check assessments; a CLI; and WASM bindings. See benchy-mesh.
- The grading harness — a reproducible, 36-fixture corpus of valid and defensive inputs that scores any candidate implementation on correctness, robustness, determinism, and performance. Also covered on the benchy-mesh page.
- The agent skills — the playbooks that teach any MCP-capable agent to operate a Benchy account are published as open documents under Agent skills.
The wiring around the engine — the upload gateway, validation queue, and download gateway that run on Cloudflare Workers — is product infrastructure rather than a published package, but its architecture is documented in full on the upload pipeline page: HMAC grants, quarantined ingest buckets, WASM and Container execution, and stateless edges with a stateful core.
Licensing
benchy-mesh is dual-licensed MIT OR Apache-2.0 — use whichever suits your project; both license texts ship in the repository. The JSON result contract is versioned (schemaVersion plus a dated policyVersion) and kept additive, so integrations don't break under upgrades.
Go deeper
Use ← and → to move between pages.