This repository contains the execution protocol, runner, language SDKs, and conformance tests used by Rough Stack challenges.
The current pre-release runtime supports Go, Python, C, C++, Java, and Rust over a line-delimited JSON protocol. It includes deterministic SSD and compaction reference tasks inherited from the original platform implementation. Those tasks are compatibility fixtures, not the long-term boundary for challenge-specific simulation logic.
- Define and version the language-neutral execution protocol.
- Provide thin SDK bindings for supported languages.
- Compile and run participant code under explicit resource limits.
- Keep participant diagnostics separate from protocol output.
- Verify equivalent behavior through cross-language conformance tests.
- Support local and remote runner adapters without binding the platform to one hosting provider.
Challenge statements, public workloads, and scoring metadata belong in
roughstack/challenges. Hidden
workloads and calibration data belong in the private official-evaluation
repository. The web application consumes versioned runtime artifacts and does not
own SDK releases.
go test ./...
go vet ./...
sh scripts/check-repository-hygiene.shThe conformance suite invokes the toolchains available on the host. A missing optional compiler skips only that language case; CI is responsible for providing the complete supported toolchain matrix before release.
Some SDK filenames, protocol strings, and diagnostic prefixes still use the
bytearena name. They are preserved temporarily so extraction does not silently
break existing submissions. They will move to Rough Stack names through one
versioned compatibility release before v1.0.0.
This code processes untrusted participant programs. The runner protocol and language bindings are not a sandbox by themselves. Read SECURITY.md before deploying an execution backend or reporting a vulnerability.
Licensed under the Apache License 2.0. See NOTICE.