# Compiler OUTPUT size baseline — compiled wasm bytes for each
# bench/binary_size/*.vibe sample, measured by scripts/size_ratchet.sh
# against a stage2 built from the same commit.
#
# WHY THESE AND NOT THE COMPILER'S OWN SIZE (#1109-4): these are the sizes
# the compiler PRODUCES, so a codegen regression here makes every user
# program bigger. The compiler's own artifacts (stage2.wasm, the committed
# bundles, the flat module source) legitimately grow whenever a feature
# lands — ADR-0076 追記34 V2 alone added ~2.4% — so ratcheting those would
# fight ordinary development instead of protecting anything. The perf
# report still tracks them; they just are not gated.
#
# Byte-deterministic for a fixed (stage2, sample) pair, so this can block
# CI without flakes. Threshold = committed baseline + 2% per sample (tight:
# these numbers move only when codegen itself changes).
#
# Rebaseline when an intentional codegen change moves a number (either
# direction — ratchet DOWN after a size win so the gate protects it):
#   bash scripts/generations.sh build --out-dir /tmp/size_gen
#   bash scripts/size_ratchet.sh /tmp/size_gen/stage2.wasm --print
#   # -> copy the reported lines over the table below
# and commit the new numbers with the codegen change, noting old -> new
# (and why) in the PR.
#
# Format: comments/blank lines ignored; remaining lines are "<name> <bytes>".
#
# 2026-07-26 initial baseline (#1109-4), measured on main 458170fc + the
# #1114 capture fix. Locks in the #1107 Phase 1-4 wins (ADR-0077 release
# strip, funcref table minimization) that were previously unprotected.
#
# 2026-07-28 rebaseline: Map[String,V] open-addressing read index (PR #1191)
# registers 5 new runtime builtins (hash / capacity-for-count / index-insert
# / build-index / probe-index, codegen/builtin_bodies/bodies_core_b.vibe).
# Like every other static builtin (eq, str_eq, arr_new, ...) these are
# unconditionally part of the linked module's fixed runtime footprint --
# there's no usage-based tree-shaking for builtins today, only for top-level
# user statements (core/dce.vibe) -- so every sample grows by a small fixed
# amount even though none of these five samples touch Map. closure_indirect
# 2657->2682, fib 755->780, fizzbuzz 1333->1358, hello_world 791->816,
# variant_float 5303->5636 (the largest sample eats the biggest absolute
# delta from the new function bodies, hence the largest %).
#
# 2026-07-31 rebaseline (#1262 / PR #1274, ADR-0092 allocator work):
# vibe_rc_drop grew 432->646 B (size-bin free pushes at its two free
# sites) and vibe_rc_alloc 190->285 B (bin-first pop + bounded 16-node
# walk) -- a CONSTANT runtime-builtin delta for every RC output that
# links them, verified byte-exact against a main-built stage2 (every
# user function identical; the whole diff is those two builtins). Bought:
# RC selfcompile ratio 3.86x -> 1.97x (unbounded O(list) exact-fit walk
# was 44% of compile CPU). closure_indirect 2682->2991 (its live set
# includes both builtins), variant_float 5636->5657, fib/fizzbuzz/
# hello_world unchanged (rc builtins stubbed out of their live sets).
#
# 2026-08-01 rebaseline (#1262 / PR #1282, borrowed-arg0 ABI enabled by
# default): closure_indirect 2991->3135 (+144 B, +4.8%), variant_float
# 5657->5643 (-14 B), fib/fizzbuzz/hello_world unchanged. The ABI's
# per-use-paired planner accounting does not only remove dup/drop pairs:
# a view-call binding holds no initial owned reference, so its last owned
# use now DUPS where it previously did not (its scope-end drop is
# suppressed in exchange). closure_indirect is the sample whose live set
# carries that shape; variant_float nets out slightly smaller. Bought:
# selfcompile RC ratio 1.951 -> 1.659, and gate section 40d heap_used
# 1,920,352 B -> 424 B at N=20000. NOT attributed function-by-function --
# the numbers reproduce byte-exactly against a stage2 built from this
# branch, and main is green at the old numbers, so the delta is this
# change; if the author reads the growth as unintended, revert this entry
# rather than widen the tolerance.
closure_indirect 3135
fib 780
fizzbuzz 1358
hello_world 816
variant_float 5643
