repair a broken chain link: rerun cycle 18 rather than reconstruct it #167

Merged
will.anderson merged 7 commits from experiment/async-future-replication into dev 2026-08-17 16:05:06 +00:00
Owner

The async/future measurements in docs/v1/experiments/cycles/18 were produced by a C stub in /tmp, destroyed when the session worktrees were removed. The log then asserted results with nothing behind them — a claim inside an evidence record.

Rerun, not reconstructed. Rebuilding the missing file would have been a fabrication with a fresh timestamp.

  • lang/tests/integration/fixtures/future.c — a future as one more magic-tagged heap object
  • lang/tests/integration/async_future.sh — the harness, 6/6

Proves @async needs no compiler change: a construct bound after the binary exists decides whether and when to invoke the body. The caller continues before the body finishes; the wrap returns in <10 ms while the body takes 50 ms; el_await yields 42.

Labelled a replication. The outcomes were known when the harness was written, so its expectations are not predictions committed in advance. Its value is that a third party can reproduce it. Recording it as anything stronger would corrupt the record it repairs.

The fixture carries the P5 defect and its fix in a comment — the first el_await dereferenced ->magic off an unvalidated slot and SIGSEGV'd, sixty seconds after the same defect was diagnosed elsewhere in the runtime.

The async/future measurements in `docs/v1/experiments/cycles/18` were produced by a C stub in `/tmp`, destroyed when the session worktrees were removed. The log then asserted results with nothing behind them — a claim inside an evidence record. **Rerun, not reconstructed.** Rebuilding the missing file would have been a fabrication with a fresh timestamp. - `lang/tests/integration/fixtures/future.c` — a future as one more magic-tagged heap object - `lang/tests/integration/async_future.sh` — the harness, **6/6** Proves `@async` needs no compiler change: a construct bound *after* the binary exists decides whether and when to invoke the body. The caller continues before the body finishes; the wrap returns in <10 ms while the body takes 50 ms; `el_await` yields 42. **Labelled a replication.** The outcomes were known when the harness was written, so its expectations are not predictions committed in advance. Its value is that a third party can reproduce it. Recording it as anything stronger would corrupt the record it repairs. The fixture carries the P5 defect and its fix in a comment — the first `el_await` dereferenced `->magic` off an unvalidated slot and SIGSEGV'd, sixty seconds after the same defect was diagnosed elsewhere in the runtime.
will.anderson added 7 commits 2026-08-17 16:04:41 +00:00
el: native @route dispatch + multi-decorator stacking in modular compiler
El SDK Release / build-and-release (pull_request) Failing after 11m40s
8c94d92033
Port the @route decorator from the bootstrap prototype into the production
modular compiler (parser + streaming codegen), and generalize single
decorators to a stacked list so a handler can be both @route and a VBD role
(@manager/@engine/@accessor). The dispatcher is synthesized from a token
pre-scan (survives the streaming backend's per-fn AST discard, works for
library modules) and emitted specificity-sorted so overlapping prefixes never
shadow by source order. Supports method lists ("GET|POST"), "ANY", and
suffix/compound matchers. Inert on all non-@route code (byte-identical C).
Merge pull request 'promote dev -> stage: transduce unification + HNSW + ggml adapter + reconciliation (2026-08-15)' (#119) from dev into stage
El SDK CI - stage / build-and-test (push) Failing after 46s
El SDK Release / build-and-release (pull_request) Failing after 45s
c7a78ab1eb
Merge pull request 'promote dev → stage: iteration-1 (the compiler stops adjudicating) + accumulated dev' (#165) from dev into stage
El SDK CI - stage / build-and-test (push) Failing after 11m53s
El SDK Release / build-and-release (pull_request) Failing after 12m5s
aa570b6899
rerun cycle 18 rather than reconstruct it
El SDK CI - dev / build-and-test (pull_request) Failing after 14m31s
511db25230
The async/future measurements were produced by a C stub in /tmp, and that
artifact was destroyed when the session worktrees were removed. The log then
asserted results with nothing behind them -- a claim inside an evidence record,
which is exactly what turns a chain of custody into a pile.

Rerun, not reconstructed. Rebuilding the missing file would have been a
fabrication with a fresh timestamp; rerunning produces new evidence with its own.

  lang/tests/integration/fixtures/future.c   the future, as a tagged heap object
  lang/tests/integration/async_future.sh     the harness, 6/6

  ok  unbound: synchronous, correct result
  ok  unbound: el_await on a non-future passes through, no crash
  ok  bound: does not crash
  ok  bound: the awaited result is correct
  ok  bound: the caller continues BEFORE the body finishes
  ok  bound: wrap returns in <10ms while the body takes 50ms

LABELLED AS A REPLICATION. The outcomes were already known when this harness was
written, so its expectations are NOT predictions committed in advance. Its
evidentiary value is that a third party can reproduce it, not that it was called
ahead of time. Recording it as anything stronger would corrupt the record it is
meant to repair.

The fixture also carries the P5 defect and its fix in a comment: the first
el_await dereferenced ->magic off an unvalidated slot and SIGSEGV'd on the
unbound path, sixty seconds after the same defect was diagnosed elsewhere in the
runtime.
will.anderson merged commit 44e2e17973 into dev 2026-08-17 16:05:06 +00:00
Sign in to join this conversation.