chore: the compiler is a build input too, and regenerate under the fixed elc
Neuron Soul CI / build (push) Failing after 14m28s
Neuron Soul CI / deploy (push) Has been skipped

Installing the fixed compiler exposed a blind spot in this gate. On clean main,
with no source changed, soulc-stamp reported OK while the committed amalgam had
gone stale by a line — because the fingerprint covered .el sources and not the
toolchain that turns them into dist/soul.c. That is exactly the class of silent
divergence the gate was written to close, and it had it.

The stamp now fingerprints the elc binary alongside the sources. Demonstrated: with
the old stamp the gate passed after a compiler swap; with this change the same
condition fails, naming __compiler__.

dist/soul.c regenerated under the installed compiler (1,205,027 bytes) and verified:
builds from its own committed input, the declared principal is present in the
resulting binary, interface 110 routes in / 110 out.

Differential evidence that the new compiler is a strict superset — same sources,
both compilers:
  neuron soul        1 differing line, the el_cgi_init emission
  engram server.el   0 differing lines
  mcp-wrapper        0 differing lines
  mcp-proxy          0 differing lines

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Neuron
2026-08-09 13:56:11 -05:00
parent eb69c40f2d
commit 6934a0e889
3 changed files with 14 additions and 2 deletions
+10
View File
@@ -30,9 +30,19 @@ AMALGAM="$ROOT/dist/soul.c"
# Every .el at the repo root is an input to the amalgam. Sorted so the hash is
# order-independent; content-only so timestamps and checkouts do not perturb it.
# The COMPILER is an input too. Learned 2026-08-09 by installing a fixed elc and
# watching this gate report OK while the committed amalgam had gone stale by a line:
# the sources had not changed, so a source-only fingerprint could not see it. That is
# precisely the blind spot this gate exists to close, and it had it.
fingerprint() {
(
cd "$ROOT" || exit 1
ELC_BIN="${ELC:-$HOME/neuron-dev-stack/src/el/lang/dist/platform/elc}"
if [ -f "$ELC_BIN" ]; then
printf '%s %s\n' "$(shasum -a 256 "$ELC_BIN" | awk '{print $1}')" "__compiler__"
else
printf '%s %s\n' "MISSING" "__compiler__"
fi
for f in $(ls -1 *.el 2>/dev/null | sort); do
printf '%s %s\n' "$(shasum -a 256 "$f" | awk '{print $1}')" "$f"
done