Remove the experimental Go-on-Dis work - #566
Conversation
godis translated Go to Dis bytecode. It was an experiment, it never finished, and its CI job blocks pull requests that have nothing to do with it. Go on Dis works apart from the standard library, which is the part that does not fit: it is very large, Limbo already covers most of what the work was reaching for, and anything that genuinely needs a full Go implementation can run as a service outside Inferno rather than in Inferno user space. Removes tools/godis, the Go-on-Dis halves of the benchmark suite and their runner, and the CI job. The cross-language JIT comparison stays: Go appears there as one language among five, through the native toolchain, and has nothing to do with Go-on-Dis. Recoverable from history at e652fc3 if the work is picked up again.
|
Carefully done — the "what stays" section draws the right line around the Two things before this is decided, one factual and one about scope. The CI justification no longer holds — that failure was mine
That breakage came from #560, which stopped tracking #568 fixed it 25 minutes ago by adding #552's red is stale — it has not re-run since. So the operational argument for If CI noise is the real pain, it is a much smaller changeThe
"Not in the distribution" and "not in the repository" are differentThe stated position on GoDis has been that it is an experiment that should not The recovery argument — Middle options, if the goal is "out of the distribution, still tracked":
That last point is worth weighing: the "shouldn't ship in the main Smaller notesThe I have no vote on the scope question — that is a maintainer call. I only want |
|
Thank you for correcting the CI claim — I have dropped it from the description The scope decision is the one you made: remove it here and move the work to its On the SBOM: it does not go red.
|
What this changes
godistranslated Go source to Dis bytecode. It was an experiment and it neverfinished. Go on Dis works apart from the standard library, and the standard
library is the part that does not fit: it is very large, Limbo already covers
most of what the work was reaching for, and anything that genuinely needs a full
Go implementation can run as a service outside Inferno rather than in Inferno
user space.
The work is going to a repository of its own, as you decided. This removes it
from master;
e652fc38is the commit to split from, and a subtree split therekeeps its history intact.
What goes
tools/godis/— the compiler, its corpus and testdatabenchmarks/go/,benchmarks/native/— the Go-on-Dis benchmark inputs andtheir native baseline
benchmarks/run.sh— the Go-on-Dis benchmark runnergodisjob in.github/workflows/ci.ymlREADME.md,docs/BENCHMARKS.md,docs/compliance/SLSA.md,.gitignore, and one dangling comment inbenchmarks/limbo/map_ops.bWhat stays
The cross-language JIT comparison:
benchmarks/limbo/,bench-jit.sh,run-comparison.sh,jitbench.{c,go,py}andJITBench.java. Go appears thereas one language among five, built with the native toolchain, and has nothing to
do with Go-on-Dis.
docs/BENCHMARKS.mdkeeps its cross-language sections andloses only the Go-on-Dis suite.
docs/SONARQUBE_WORK.mdis left alone. It is a dated record of analysis thatwas performed, and its
tools/godiscitations were true when written.The SBOM gate does not go red
Dropping
tools/godis/go.modremoves the Go modules from the SBOM's scope.sbom.ymlgates onpackages >= 1, and the tree still carriesandroid-app/build.gradle.kts,android-app/app/build.gradle.kts,tools/codex-gate/requirements.txt,tools/claude-gate/requirements.txt,.github/requirements-security.txtandtools/vdec/Cargo.toml.Test plan
ci.ymlparses, has 7 jobs, nogodisjob, nothing left declaringneeds: godisgodisor Go-on-Dis outside the dated work log