repair a broken chain link: rerun cycle 18 rather than reconstruct it #167
Reference in New Issue
Block a user
Delete Branch "experiment/async-future-replication"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The async/future measurements in
docs/v1/experiments/cycles/18were 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 objectlang/tests/integration/async_future.sh— the harness, 6/6Proves
@asyncneeds 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_awaityields 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_awaitdereferenced->magicoff an unvalidated slot and SIGSEGV'd, sixty seconds after the same defect was diagnosed elsewhere in the runtime.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).