Skip to content

Releases

speedrunpapi 0.7.1

Choose a tag to compare

@lmtlssss lmtlssss released this 11 Nov 02:55
e7300e4

speedrunpapi 0.7.1

This release replaces the analyzer.

There is no 0.7.0 package. A v0.7.0 tag was pushed to the wrong commit by mistake, the publish workflow's version guard refused it, and release tags in this repository are immutable, so the tag stays and the release is 0.7.1.

What was wrong

Versions before 0.7.1 classified Circom, Verilog and INT8 sources by template name and keyword. They did not analyse the constraint system. A circuit whose output was assigned with <-- and never constrained was reported Certified if its main template had a recognised name such as BigAdd, or if the file mentioned BinSum. The hosted service signed those verdicts, and also signed verdicts that a client merely reported.

Those results were not proofs. If you relied on a Certified result from an earlier version, scan again with this one. Every certificate issued before 0.7.1 has been revoked; the revocation feed is at https://api.colony.technology/v1/revocations.

What 0.7.1 does

scan compiles Circom with the real circom compiler and analyses the R1CS it emits for output determinism: do two satisfying witnesses with the same inputs always have the same outputs?

  • Certified: a derivation shows they do. An independent checker replays it before the verdict is reported.
  • Broken: two witnesses that share every input and differ on an output. Both are re-evaluated against every constraint.
  • Unknown: neither was established. The open signals are listed with the condition under which a constraint would fix them.

The report (--report) carries the derivation or the witnesses and can be checked without the scanner: speedrunpapi verify, or the standard-library Python checker in verifiers/determinism/.

New options: --main "Template(args)" for library files, -l/--include, --assume-binary for inputs a template expects to be bits (the assumption becomes part of the claim), --strict for witness uniqueness, --report, --opt.

Measured

circomlib templates, circom 2.2.3 --O0, Apple M1, Node.js 26, single runs:

Circuit Verdict Constraints Prove Replay
Sha256compression() Certified 202,784 228 ms 155 ms
Poseidon(5) Certified 1,347 1.9 ms 1.1 ms
LessThan(252) Certified 256 0.8 ms 0.6 ms
Num2Bits(254) Broken 255
Decoder(4) Broken 6
MontgomeryAdd() Broken 3

The Broken rows hold for those templates taken alone with unrestricted inputs; circomlib uses them where the caller excludes the degenerate cases. The 71-case corpus has 46 Certified, 15 Broken and 10 Unknown, and no verdict contradicts the known answer. A fuzzer that compares the engine with brute-force enumeration over small fields ran 150,000 random systems without a wrong Certified or Broken.

What still returns Unknown

Elliptic-curve arithmetic whose uniqueness rests on a number-theoretic fact (Baby Jubjub addition), big-integer arithmetic that depends on range bounds across limbs, alias checks such as Num2Bits_strict, circuits with no outputs, and R1CS with custom gates.

Breaking changes

  • Verilog, INT8, ONNX-text and carry-graph inputs return Unknown. Those classifiers are removed.
  • Bitcoin Script and RV32IM trace inputs return Unknown. An audit found that the Script adapter executed nothing (it reported Certified for scripts that can never complete) and that the trace adapter only replayed a trace against instruction words the trace itself supplied.
  • Result JSON has a new shape (schema: colony.determinism/1). Results from earlier versions cannot be verified.
  • The hosted API signs only Certified or Broken results that it re-verified from a submitted R1CS (up to 8 MiB). It no longer signs client-reported verdicts or Unknown.
  • The GitHub Action no longer requires an API key. It scans locally and fails on Broken; a key adds a signed certificate.

The hosted-job client (run, solve, optimize, check, ...) and the ONNX checker are unchanged.

speedrunpapi v0.6.3: M01–M14 exact math

Choose a tag to compare

@lmtlssss lmtlssss released this 10 Nov 19:04
59e0536

Eighteen bounded exact mathematical operators. Nine new funded production M05/M07–M14 original-source results and separate independent verifier. Tested across 300 exact cases, 300 altered-certificate rejections, eighteen hosted profiles and nine production jobs. Each research theorem retains its own declared domain.

speedrunpapi v0.6.2 — Exact shared-input carry counts

Choose a tag to compare

@lmtlssss lmtlssss released this 10 Nov 18:26
0f70557

Nine bounded exact mathematical operators. M-06 adds ordered carry-frontier masked counting with complete original-domain independent replay. The public source and result bundle reproduces 4 witnesses, least input 9 and six retained carry states from production job c456f437-8769-4452-9b5f-cd195bd3276e. Local npm tarball and Python wheel installed fresh and independently verified the source-bound result. Real card payment and external zkGolf comparator submission remain separate acceptance gates.

ᑕ. speedrunpapi v0.6.1 — R11 exact mathematics

Choose a tag to compare

@lmtlssss lmtlssss released this 10 Nov 17:45
5bdbe27

Eight source-bound bounded mathematical operators in the public hosted-job client, with independent local replay. New cases: cyclic inverse fibers, tap-span fiber counts, affine inverse cells, and two-stage addition codes. Four canonical .math inputs and three genuine production mathematical result bundles are available in examples/. Changed source and forged result fields are rejected. npm and PyPI publish from this tag with pinned workflows. These exact finite-domain scopes do not assert complete source-paper integration or external cash settlement.

speedrunpapi v0.6.0

Choose a tag to compare

@lmtlssss lmtlssss released this 10 Nov 14:56
e184fc0

Public universal-job client for Colony verified execution. Free offline circuit scanning remains available. New hosted commands: quote, run, optimize, solve, status, result and independent check. Native ONNX optimization returns the executable candidate and a portable source-bound proof package. The npm tarball and Python wheel include six independent ONNX verification modules and the verify-onnx command. The GitHub source release includes a real production ONNX proof packet with local replay and a CI tampering rejection. npm and PyPI use their respective verified publication workflows. The customer Stripe checkout is a separate deployment path.

speedrunpapi v0.5.1

Choose a tag to compare

@lmtlssss lmtlssss released this 07 Nov 23:55

CLI JSON has a clean default output. Use --references to include DOI research metadata. Signed proof methods and source-bound verification are unchanged.

speedrunpapi v0.5.0

Choose a tag to compare

@lmtlssss lmtlssss released this 07 Nov 22:36

Native Bitcoin Script alternate stack and hash opcodes; RV32IM v2 branch and word-memory trace verification; BN254 square-zero R1CS elimination; source-bound public checker, digest result URLs and paid GitHub Action pilot. Scoped exact claims with source replay and altered-source rejection.

ᑕ. speedrunpapi 0.4.0

Choose a tag to compare

@lmtlssss lmtlssss released this 07 Nov 21:58

Native Bitcoin Script assembly and bytecode deterministic-subset scanning; source-bound RV32IM arithmetic register trace checks for zkVM guests; BN254 coupled full-rank R1CS uniqueness; independent source recheck for all three; public signed receipts and paid GitHub Action pilot. All certificates state their exact scope. Full BitVM and zkVM proof-system verification remains a separate layer.

ᑕ. speedrunpapi 0.3.2

Choose a tag to compare

@lmtlssss lmtlssss released this 07 Nov 20:17

Native iden3/snarkjs binary R1CS v1 scanner. Uniqueness of every wire for fixed public and private inputs is certified only for complete constant-pivot constraint systems. Includes source-bound local re-verification, malformed-file rejection, and independent compiler fixture.

speedrunpapi 0.3.1

Choose a tag to compare

@lmtlssss lmtlssss released this 07 Nov 18:40

Exact Circom AND, LessThan and Mux1 circuit analysis. Browser, API and CLI use the same checked source patterns. Includes standalone Node CLI, Python wheel, reusable GitHub Action and examples.