This repository has been archived on 2026-08-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
el-retired/docs/v2/experiments/evidence/cycles/07-the-caller-was-already-there/CLAIMS.md
T
will d3495476f4
El SDK Release / build-and-release (push) Failing after 13m0s
kill: purge old-paradigm dist/platform binaries from tree
The generated C, amalgams, vendored runtime pins, and compiled binaries
from the Claude Code era are removed from the worktree. The El sources
survive; this tree is now source-only for the first-principles rebuild.

Per Principal direction 2026-08-19.
2026-08-19 19:46:15 -05:00

9.4 KiB
Raw Blame History

CLAIMS — v2 cycle 07, "the caller was already there"

Re-run 2026-08-17. Source doc: docs/v2/experiments/cycles/07-the-caller-was-already-there.md (not modified; it is the historical record).

Pinned commits

Role SHA Subject
Code commit (system under test) d9d1571f2a17024323a3f7be6966bc476c2f2a78 a construct can see its caller, with no new emission point
Its parent — the BASE for timing d403a5cf2e728ce00ecdc2d84290e471e74159bb v2 cycle 06: form is half bindable
Merge that landed it ffab17b merge experiment/seam-caller
Cycle 07 doc commit 47b56a3 v2 cycle 07: the caller was already there
Standing critique of this cycle fbb3a52 cycle 07's central claim is backed by a grep, not a measurement

All measurements were taken in detached worktrees at d9d1571 and d403a5c, so each .prov carries the system under test's SHA, not the re-run host's.

d9d1571 adds 80 lines across three files and touches no compiler sourceel_runtime.c (+33), el_runtime.h (+1), seam_caller.sh (+46). The compiler sources are byte-identical between BASE and STACK worktrees (0006, diff -rq … IDENTICAL), so the timing below isolates the runtime change and nothing else.

Verdicts

# Claim as stated in the doc Artifact Commit Verdict
A1 P1 — exactly three emission points per fn 0026, 0027, 0028 d9d1571 REPRODUCED — and by a better instrument than the doc's, see below
A2 P2 — no other emission point exists 0027, 0028, 0029, 0030 d9d1571 REPRODUCED — loops, call sites and field accesses emit none
A3 entry is el_seam_run(fn, 0, 0), refusable 0026, 0028 d9d1571 REPRODUCED verbatim
A4 wrap is el_seam_wrap(fn, thunk, env) 0026, 0028 d9d1571 REPRODUCED verbatim
A5 exit is el_seam_run(fn, 1, __r) 0026, 0028 d9d1571 REPRODUCED verbatim
A6 all three keyed on fn_name 0028 d9d1571 REPRODUCED — every point carries EL_STR("<fn>")
A7 P3 — a construct cannot see WHO called it (before the change) 0032 d9d1571 REPRODUCED — unbound run reports nothing
A8 P4 — the call graph is static, the gap is runtime NOT-CAPTURED — asserted in prose, no measurement stated
A9 P5 — a seam-maintained stack gives the caller with NO new emission point 0027, 0033 d9d1571 REPRODUCED
A10 the result: AUDIT save called by handle_request 0033 d9d1571 REPRODUCED verbatim
A11 and AUDIT save called by migrate 0033 d9d1571 REPRODUCED verbatim
A12 a construct bound after the build sees its caller 0032, 0033 d9d1571 REPRODUCED — same binary, binding supplied at run time via EL_CONSTRUCTS
A13 P6 — maintaining the stack costs something measurable — FALSE 00070021, 0024 d9d1571 vs d403a5c REPRODUCED — 7 interleaved rounds, means identical to 0.00 ms
A14 P7 — moving it behind the early-out removes the cost — FALSE, there was no cost 0024 NOT-REPRODUCIBLE — the "before the early-out" variant was never committed
A15 interleaved rounds base 0.25/0.25/0.24 s, stack 0.24/0.24/0.24 s 0024, 0025 d9d1571 vs d403a5c DIVERGED on absolute magnitude, REPRODUCED on the conclusion — see below
A16 "identical within noise. There was no regression." 0024 d9d1571 vs d403a5c REPRODUCED, and more strongly than the doc claims
A17 the baseline had drifted from 0.37 s — the machine, not the code 0025 REPRODUCED in mechanism — cold/warm alone is 4.30×
A18 seam_caller.sh — 5 assertions 0031 d9d1571 REPRODUCED — 5 assertions, 5 passed, exit 0
A19 defect 11 — arity_query.sh asserted exactly 503 signatures 0039 d9d1571^ REPRODUCED verbatim
A20 the assertion now tests the property directly 0040 47b56a3 REPRODUCED — now SIGN -gt 400
A21 "the gauntlet built in cycle 04 caught this" NOT-CAPTURED — no artifact of the original failing run survives

Counts: 17 REPRODUCED, 1 DIVERGED, 1 NOT-REPRODUCIBLE, 2 NOT-CAPTURED.


A1/A2 — measured from emitted C, because the doc's instrument does not measure the system

The cycle's headline — three emission points, all keyed on fn_name — is asserted in seam_caller.sh by this line (0034):

chk "no fourth emission point was added" "3" \
  "$(grep -c 'el_seam_run(EL_STR\|el_seam_wrap(EL_STR' el-compiler/src/codegen.el)"

That greps compiler source text, while the harness runs a prebuilt compiler passed in as $1. The source it counts is never compiled by the harness. Commit fbb3a52 records this as a standing defect. I confirmed it independently, in both directions, with my own artifacts:

grep of source emitted-C emission points compiler sha256 harness
baseline (0035) 3 9 e99058b8… 5/5 green
after appending one comment line (0036, 0037) 4 9 e99058b8… unchanged FAILS, "expected 3 got 4"

A comment — zero semantic change, byte-identical binary, identical emitted C — turns the cycle's central assertion red. The assertion measures a text file, not the system.

So I did not rely on it. A1A6 above are graded against the emitted C produced by the binary under test, which is causally downstream of the compiler and therefore an actual measurement. Compiling a probe containing a loop, a call site, a map field access and four functions (0030) yields (0028):

fields           -> entry wrap exit
loops            -> entry wrap exit
helper           -> entry wrap exit

total emission points = 9

Three functions with bodies, three points each, nine total, every one keyed on the function name. main gets none. Loops, call sites and field accesses get none — which is precisely the bound the cycle claims, now established by observing the compiler's output rather than by counting strings in its source.

This is a stronger result than the document's, obtained because the document's own instrument was found untrustworthy. The conclusion the cycle drew was right; the evidence it offered for it was not.


A15 — the one divergence, reported loudly

The conclusion reproduces. The numbers do not.

doc:       round 1  base 0.25 s   stack 0.24 s
           round 2  base 0.25 s   stack 0.24 s
           round 3  base 0.24 s   stack 0.24 s

measured:  7 interleaved rounds, alternating, identical workload
           round   BASE   STACK
               1     51      53
               2     53      52
               3     52      53
               4     53      53
               5     52      52
               6     52      52
               7     53      51

           BASE    mean 52.29 ms   min 51   max 53   spread 2   sd 0.70
           STACK   mean 52.29 ms   min 51   max 53   spread 2   sd 0.70
           STACK/BASE ratio of means = 1.0000  (+0.00%)

Today's absolute figures are ~4.8× faster than the doc's — 52 ms where the doc reports 240250 ms. The doc's conclusion is nonetheless confirmed, and confirmed harder: where the doc showed a 1-round-in-3 wobble of 0.01 s, seven interleaved rounds give means equal to two decimal places and identical spread.

The magnitude gap is explained, and the explanation is the point of the cycle (0025):

FIRST (cold) run, BASE  = 225 ms
FIRST (cold) run, STACK = 229 ms
steady-state warm mean over 14 runs = 52.29 ms
cold/warm ratio, BASE  = 4.30x

The doc's 0.240.25 s figures sit in the cold-cache band; its steady-state equivalent is 52 ms. Cache state alone moves this workload by 4.30×, which is larger than the 50% (0.48 → 0.72 s) "regression" that was originally reported and then retracted. That single number does more to explain the phantom regression than the retraction in the doc does: the original pair of timings was not merely noisy, it was almost certainly comparing a cold run against a warm one.

Recorded as DIVERGED because the doc presents 0.25 s and 0.24 s as measurements of this workload and they are not reproducible as such — they are reproducible only as cold-start measurements. The finding they support — no regression — is REPRODUCED (A13, A16).

A14 — why NOT-REPRODUCIBLE

P7 concerns a variant in which the depth-stack maintenance sits before the unbound early-out. That variant was never committed; only the post-early-out form exists in history (0003). Reconstructing it would mean writing a mutant today and grading a historical prediction against it, which is a new experiment, not a reproduction. The runtime comment in 0003 states the 50% figure that motivated the move — but a comment is a claim, not a measurement, and no artifact of it survives.

Notes on tree state

Every .prov records d9d1571f2… or d403a5cf2…. 0041 shows the worktree ended with only untracked build scaffolding (elc-stack, g2.c, work/) and no modified tracked file: the deliberate source mutation in 0036 was reverted in 0038 and the revert is in the record. Both worktrees were removed after capture.

0023 is a failed instrument run (a malformed awk, exit 2) and is retained rather than deleted. Removing a failed attempt from an evidence record is itself a measurement defect; 0024 is the corrected run.