Skip to content
BANG

Changelog

Notable product changes — the MVP increments that surface the verified kernel. This file is generated from conventional commits (just changelog); the normalized subject is the entry, and each change: identity binds its canonical parent plus the complete before/after delta with raw-content SHA-256 records. The generated block alone is normalized to break self-reference. The pre-MVP verification grind is git + ROADMAP.md history, out of scope here. Squash-merge each increment to main → one clean entry per shipped unit with the same identity before and after.

Unreleased

Features

  • surface — ADTs end-to-end — Left/Right/match + (a,b)/let-destructure (#1) (96346ff2)
  • arith — infix arithmetic, comparisons & if over a verified δ-rule kernel (#4) (f826dbc2)
  • surface — do-notation — sequential effectful statements (#27) (e4fcd2b1)
  • typecheck — ADR-0066 ③ — bidirectional-checker spike (pure fragment) (6cef2ba1)
  • surface — ADR-0066 ②a — type-expression grammar + (e : T) ascription (92114d47)
  • typecheck — ADR-0066 ②b — Surf-level checker, lifts the no-annotation limitation (bb39c345)
  • typecheck — ADR-0066 ④ — effect-row inference + handler discharge (= #5) (ec7638c7)
  • typecheck — ADR-0066 ④b — type DISPLAY (#5's "type display": effect rows visible) (2c536c61)
  • typecheck — ADR-0066 ④b (writing) — effect signatures ! {ρ}, enforced (#5 complete) (858421bd)
  • surface — trait/impl declarations parse — Prog = decl prelude + body (#24 piece 1, ADR-0068) (d724f81c)
  • typecheck — type-directed operator resolution — the northstar runs (#24 piece 2, ADR-0068) (63c7fb90)
  • typecheck — source laws discharge on the tested rung — the northstar is LAWFUL (#24 piece 3, ADR-0068) (d9276c03)
  • surface — law implication sugar — conditional laws read as written (#39 part 1) (d74325ff)
  • surface — data declarations — named ctors/match over sums·products·μ; Vec northstar in its intended spelling (#2, ADR-0069) (a59cc483)
  • cli — compiled path — bang run/eval --compiled runs exec∘compile, differentially gated (#6, closes #6) (8d40928e)
  • surface — named capabilities — with H as h in e + h.op, two state cells at once (#3, closes #3, ADR-0070) (dadafad6)
  • calcvm — binop δ-rule in the calculated machine — arithmetic on --compiled (#40, closes #40) (d10f946c)
  • cli — bang run/eval use the TYPED pipeline — data/traits/named-caps now runnable (8e46e0fa)
  • reference — GENERATE the grammar spec from the reified parser rules (#30 stage ③, closes #38) (e8bb6149)
  • surface — whitespace-insensitive tokenizer — the dominant dogfood papercut, killed (#30 stage ④, ADR-0071) (97221ccf)
  • surface — named-cap syntax 'state <init> as h in e' — drop 'with', fold binder into effect forms (ADR-0072) (b4e59e3f)
  • typecheck — check-mode completeness — push expected types into thunks; μ-recursion now types+runs (#45, closes #45) (b42014a9)
  • typecheck — A-normalize value-position computations — recursion + lawful demos read naturally (#41, closes #41) (8e2e132e)
  • surface — let rec — recursion is user-facing (ADR-0073 §1, μ-encoding, no new primitive) (0f771c6d)
  • typecheck — Div-row — recursion's partiality is type-visible (#46, closes #46, ADR-0073 §2) (0397adcc)
  • typecheck — structural termination checker — Div is now PRECISE (#47, closes #47, ADR-0073 §2) (0f8e2449)
  • surface — strings — String = List Char spec, runnable end-to-end (ADR-0074 #49 stages 1-2+fold+display) (a2025b59)
  • examples — a tokenizer WRITTEN IN BANG — 'writes its own tools', #47-total, ZERO compiler change (#49 stage 5) (ce6d7381)
  • typecheck — bite-0 HM polymorphism IN-PLACE — first-order let-poly runs via bang eval, corpus preserved (PATH-polymorphism, ADR-0075) (f063c783)
  • typecheck — bite-0b item 1 — the ML VALUE RESTRICTION (soundness gate for effect-typed poly) (PATH-polymorphism) (e6cdc936)
  • surface — source spans — the IR carries source truth; located-error view (ADR-0076 Data-to-IR-to-Views) (ff49adb1)
  • surface — located PARSE errors — the parser reports line:col (#52 Stage A, ADR-0076) (77dec515)
  • cli — bang eval TYPE-CHECKS before running — ill-typed is a type error, not runtime stuck (#51, closes #51, ADR-0076) (553aaf7a)
  • typecheck — bare Left/Right injections SYNTHESIZE via an HM hole — closes the #51 raw-sum regression (#53, closes #53) (6e51cd7e)
  • typecheck — curryBind — annotated higher-order compose ELABORATES+RUNS (ADR-0075 annotation-checked tier) (4c380a44)
  • typecheck — paramHole — bare curried lambdas elaborate; the bare-higher-order wall moves to the force-of-hole boundary (poly item-2-HM stage 1) (8e3aa199)
  • cli — located TYPE errors (post-hoc) — name-carrying type errors report line:col (#52 Stage B, ADR-0076) (ef391650)
  • stdlib — string stdlib — concat/reverse/eq injected into the prelude, available free (#49, closes the #50 reuse gap for first-order helpers) (3fcdebac)
  • tooling — progress dashboard → GitHub Pages — a generated glanceable tracker (ADR-0077 product face) (839358f2)
  • tooling — dashboard is a PWA — installable, offline, app-like (manifest + service worker + icons) (0938d285)
  • site — pre-render mermaid to static SVG — draw the graphs, no client loop (b9ec56bb)
  • typecheck — IVTy/ICTy re-rep — bare HM-inferred higher-order compose types+runs+polymorphic (the parser-combinator keystone) (b6c66a63)
  • typecheck — generic data types — data List a, monomorphized to the kernel (polymorphism bite-1) (36983676)
  • examples — parser-combinator library + examples/<project>/ structure + a run-oracle (the polymorphism acceptance test) (a3068152)
  • typecheck — bounded generic functions over traits — fold : Monoid a => List a -> a, monomorphized (polymorphism bite-2) (f463011b)
  • typecheck — annotation-free generic introduction — the parser library goes fully generic (#55, closes #55) (a462728c)
  • typecheck — Option/Result universal prelude + Either-as-built-in-sum + the first witnessed isomorphisms (1ac850aa)
  • typecheck — bite-3 HKT Stage C — concrete-use Functor RUNS (fmap inc (Some 5)→6); A+B HK-unify substrate built, not yet wired (7d887c2f)
  • typecheck — bite-3 HKT Case B — abstract-over-f RUNS at TWO Functors (the write-once payoff) (c27bdb4a)
  • skills — /doc-smells — detect + fix doc smells; wire into codebase-maintenance G2 (1494fec6)
  • typecheck — bite-3 Stage D — Monad (the last polymorphism rung); Option monad + Parser-as-monad + laws (cea8ae26)
  • typecheck — Item 3 effect row-polymorphism — compose generic over its effect row (the last frontier) (5d0a32f9)
  • kernel — #44 Stage 1 — Handler.custom rep (the general handler ctor); additive ripple, census stays axiom-clean (d84aeaef)
  • gates — analysis quality gates wired into the lifecycle hooks (f60472ad)
  • spec+backend — compile_forward_sim sorryAx-ZERO — premised re-freeze + completeness spine (ADR-0086, closes #16) (d13e0af0)
  • agents — compiler-engineer + surface-engineer roles; record #15 ruling (D-now/A-later) (24cc6709)
  • surface — locate structural-mismatch errors via nameHint (#52 stage-B tier) (95710a40)
  • witness — #14 differential fuzz — Source.eval vs exec∘compile, 200 seeded samples (ac20df2d)
  • tooling — new-worktree.sh defaults to FULL LOCAL CLONE — own object store per IC (2e2c0c54)
  • cli — bang REPL — interactive read-eval-print loop (issue #7) (e4782341)
  • cli — REPL landing companions — test-repl joins the verify chain; public typeStringOfProg for :t (02eca0f4)
  • witness — #54 outcome-differential — total agreement over Result, not just done (0d405fda)
  • cli — implement :t/:type in the REPL against typeStringOfProg (#7) (166070f6)
  • frontend — canonical formatter core (Bang/Frontend/Format.lean, #58) (aaaf544a)
  • cli — wire bang fmt against fmtProg (#58 CLI half) (299c4bcf)
  • tooling — test-fmt joins the default verify chain (85a04e15)
  • frontend — effectful let-rec recursion via declared-row thunk type (ADR-0088, #48) (fb94daf4)
  • kernel — ADR-0087 rung-1 — finite-list custom rep + honest capsH (slices 1-2) (0c6ba990)
  • kernel — ADR-0087 rung-2 — Stage-2 custom dispatch REAL on the finite rep, census clean (6413281c)
  • frontend — ADR-0090 multi-line formatter — Std.Format doc builder, width 100 (42d9d022)
  • frontend — #59 slice 1 — Bang/Frontend/Diagnostics.lean, checkJson schema (2c31ae71)
  • cli — #59 slice 2 — bang check [--json] subcommand + 0/1/2 exit contract (dfc73de6)
  • tooling — test-check-json joins the default verify chain (2599b803)
  • frontend — structOK single-fixed-slot multi-arg/accumulator descent (ADR-0091, #50) (dbca210d)
  • frontend — ADR-0092 D1/D2 — effect decls, label allocation, program-derived EffSig (#44) (844931f5)
  • frontend — reserve built-in op names in effect decls (ADR-0092 follow-up) (88e0f554)
  • dogfood — examples/json — value-subset JSON parser/printer in bang (920521a8)
  • kernel — ADR-0092 D3/D4 — typed custom-handle rule + soundness arms (#44 Stage 3) (125b3831)
  • tooling — just regen-all — the write-side twin of the fitness legs (e8fbd2d0)
  • witness — ElabFuzz — source-level fuzz harness for the elaborator (tier 3) (c3432b9f)
  • examples — caesar — the stranger test's cipher joins the oracle corpus (08027e59)
  • witness — LawTest derived generators + shrinking (#60 slice 1) (b10ab55c)
  • witness — LawTest law runner over source-generated samples (#60 slice 2) (61d6a1e0)
  • release — tag-triggered binary-release workflow + strip/smoke recipe (92772c33)
  • release — curl-able install.sh + README distribution section (30d308af)
  • witness — LawTest discovery entry over lawInstancesOf (#60 slice 3) (19189037)
  • frontend — ADR-0093 D1/D2/D3 parsing — import/use header, pub prefix (7a95dfa4)
  • frontend — ADR-0093 D1/D2/D3 formatter arms — import/use/pub printers (4cec19ba)
  • frontend — ADR-0093 D2/D3/D4 module-merge core — qualify + visibility + differential oracle (e00d0caf)
  • cli — ADR-0093 D1 — Main.lean module resolver (import/use file walk) (8037c1b3)
  • lang — ADR-0093 D5 (operator ruling) — top-level let/let-rec decls, main as a plain binding (5b5a5c19)
  • examples — ADR-0093 first multi-file project — examples/json split (94195171)
  • lang — ADR-0093 D5 ruling point (c) — optional type ascription on plain let (6e828513)
  • lang — bang check is resolver-aware (issue #59 final slice, ADR-0093) (6d69580a)
  • nix — package the bang runner CLI as a nix app (#63, WIP) (6d8c3470)
  • witness — Q43 R1 proof-export goal emitter (arm B, total-only, sorry-bodied) (afbb4b22)
  • lexer — line comments -- to end-of-line (#62) (b0254cf9)
  • cli — --help/--version + human error messages for every exit (#66, #67) (afa72d2a)
  • surface — unary minus (#64) (85840ea1)
  • cli — bang test — wire the LawTest/lawInstancesOf seam (#60) (586b2edc)
  • surface — multi-binding let sugar (#68) (3be8fcb8)
  • calcvm — #44 STAGE 4 — id-first custom arm through evalD·machine·sim·U5b·Wasm (squash of feat-44-stage4-idfirst, 56 commits) (9617744b)
  • fmt — canonical multi-binding let — collapse sequential chains (#71) (3e76135f)
  • lr — Stage-5 slice 1 — HandlerRel custom arm real (ClauseRel shape) + krelS_append ripples (40dac442)
  • lr — Stage-5 debt 2 — krelS_custom_reinstall + custom-frame self-relation (krelS_refl); debt 1 STOP-AND-SHOW (36f06fd6)
  • lr — Stage-5 debt 3 — dispatchOn_rename custom arm closed (R-1 vcap-free side condition) (3aa89669)
  • envmachine — ADR-0094 env/closure machine + PROVEN correspondence; fix(frontend): lettMulti arms heal red CI (48415aab)
  • cli — wire --engine=env — the experimental ADR-0094 environment machine (9be1e40b)
  • cli — --engine=env — the ADR-0094 environment machine, wired and MEASURED (squash-adjacent pick of envm5-perf) (4c94b09e)
  • ⚠ BREAKING cli — v0.1.0 — the env engine is the DEFAULT (ADR-0094 A1 complete) + version 0.1.0 (bbca7719)
  • stage6 — user-effect soundness composition — the moat capstone stated (#44) (44834e6e)
  • query — Bang/Frontend/Query.lean — bang query v1 logic (#80) (8d2d7892)
  • query — wire bang query <op> into Main.lean's CLI dispatch (#80) (0e1bfc65)
  • cli — bang query v1 — the agent LSP as CLI verbs over the typed pipeline (#80, tier 3) (3e6bd3bb)
  • query — bang query tier 1+2 — dump as the versioned fact base, verbs as projections (#80) (2cda5499)
  • lr — close the crelK_fund handleCustom arm — term-measured mutual rebuild (task #16) (5c2c03c7)
  • surface — Stage 7 lands — handle…with for user effects, e2e verified (#44 Stage 7, ADR-0095) (1284c8e8)
  • cli — bang rewrite v1 — CQS command side with the verified-preservation gate (#81) (f848914c)
  • wasm — the wexec custom arm — wCustomUpdate derived, opH carries the continuation (#62 slices 0+1) (778afdfe)
  • examples — the effect showcase pack — three handler-swap pairs (task #38) (08e86208)
  • u5b — the converse κ-thread — evalD_complete_gen_full permits custom frames (#62 slice 2) (9947bb47)
  • kernel — the binop HasCTy rule — ADR-0065 stage ④ executed (ctr slice 1, G1 pillar A) (b7269acb)
  • cli — bang annotate + bang lint — the next #82 verbs over the query/rewrite rails (104f18a7)
  • wasm — compile_forward_sim UNCONDITIONAL over user effects — CustomFree dropped (#62 CLOSED) (d35295c8)
  • surface — caps through functions + the wrapper pattern — the per-stage story delivered (#84, #85, #86, #90) (47a237db)
  • examples — echo-mock — ADR-0084 slice A, Net effect over a pure mock handler (6cccef20)
  • examples — ndet-sim-kv-a/-b — sim-KV handler-swap demo (#28 rung-2 entry, ndet-dst-design.md) (ef338d1f)
  • gate — wire check-examples-env into the verify chain (c91cde42)
  • examples — R2 replicated-KV hello-world (ndet-replicated-kv-a/-b) (69ccc9cc)
  • release — the release battery + site CI + flake-check/shake riders (plan 011) (2e3a266d)
  • tools — invocation telemetry — tool-log.sh appends per-exec (plan 012 slice 1) (e2d0bb75)
  • tools — check-runs-in.py — validate the runs-in= header claim (plan 012 slice 2) (c4eabc75)
  • emit — rung-1.5 emitter — guarded div + comparison/case-on-bool if (0fc09ffa)
  • surface — #87 — the carried-param handler init becomes clause-nameable via param (0c392ccc)
  • tools — status= field + last-invoked view + deprecated-in-gate rule (plan 012 slice 3) (c1df3611)
  • agents — lane-discipline pack injected into role files via generated block (plan 012 slice 4) (ff57f173)
  • tooling — #82 verbs holes/impact/semver-diff over the Query rails (6c15d867)
  • diag — stable diagnostic codes + bang explain (plan 013 slice 5) (c6731077)
  • dx — generated bang TextMate grammar + Shiki highlighting (plan 013 slice 1) (dec48cf5)
  • docs — wire doc-gen4 via a docbuild/ subproject + just docs (plan 010 steps 2-3) (e1a9fc24)
  • cli — bang new NAME [--module] — scaffold a runnable example (plan 013 s7) (1d40ad95)
  • examples — failure injection as a second Choice dimension — ndet-repkv-fail-a/-b (R2 addendum's named next rung) (5e75ba8e)
  • harness — check-examples.sh --update NAME — deliberate snapshot acceptance (plan 013 s8) (05cd8319)
  • emit — rung-2b PROBE — state handlers → in-place wasm locals (ADR-0059 tail-call leg) (b0f3cb3d)
  • dx — just watch FILE — re-run just check FILE on save (plan 013 s9) (73b8b56e)
  • query — wire decl-granularity hover — bang query hover <file> <line> <col> (#52 slice 5) (e304e1b3)
  • stdlib — #105 first-slice prelude — fst/snd/abs/min/max/withDefault/const + char kit (8578590a)
  • docs — unblock the doc-gen4 build (plan 010) — UnicodeBasic fork pin + the generated BangDocs barrel (43676ce2)
  • stdlib — migrate injected prelude to Prelude.bang module, auto-used (#106) (3856b0e6)
  • cli — --fuel N on run/eval/repl, raises the step ceiling (#103a) (80807b7e)
  • emit — rung-3 transaction journal/rollback on wasm — A11 abort runs on wasmtime (07f5c0ad)
  • surface — parse+format optional deriving (…) clause on data decls (#109 slice 1) (857ec39b)
  • ctors — type-namespaced constructors — resolveCtor + B012 (#108, ADR-0099) (ec6c7f35)
  • traits — deriving (Eq, Ord) structural fold handler (#109, ADR-0097) (3afc82c8)
  • surface — mutual let rec … and … — H2 tuple-of-thunks μ-knot (#97 item 2) (0ca879b1)
  • surface — wildcard match arm _ (#101) (5577fd5b)
  • types — ADR-0103 monomorphization pre-pass for bound-free let rec (f4919063)
  • prelude — ADR-0103 List-consumer payoff — take/drop + the auto-use alias fix (47101cfe)
  • landing — the bang landing page — one static page over the ruled copy kit (23f2f366)
  • release — widen the binary matrix to 3 Lean Tier-1 platforms (0760351f)
  • tour — interactive tour v0 — corpus-generated, no-exec lessons (42593812)
  • docs — document deriving + refuse generic-carrier deriving with a teaching diagnostic (#122) (3a19b6f3)
  • host-io — slice 1 — std/Io.bang + bundled std-module resolution (293c9e68)
  • host-io — slice 5 — examples/hostio-echo (sim-corpus half) (6343fa70)
  • host-io — slice 2a — evalEHost sibling seam + drift gate (fork B/B2) (afe5bd39)
  • ◊5.5 — emission rung-4 — closures + ADTs + recursion on WasmGC (nqueens = 21004) (0a494a0b)
  • host-io — slice 2b — host-IO driver plumbing + evalEHost conditions (534e96f0)
  • host-io — slice 3 — test-hostio.sh record/replay battery (79688327)
  • tour — /run playground exec service (door-2) — resource jail + smoke gate (baa47309)
  • ◊5.5 — rung-5 Part 1 — $val GC readback (valPretty image) → caesar's Str emits (7348afe1)
  • rung5 — S0+S1 — state on the WasmGC path ($ref box + get/put) (b9cfd5ac)
  • rung5 — S2 — throws on the WasmGC path (try_table/throw, $val payload) (47b74c6b)
  • rung5 — S3 — transaction on the WasmGC heap ($txbox journal + explicit rollback) (ae8c18be)
  • rung5 — S4 — custom user effects on the WasmGC path (clause call_ref) (0de1d687)
  • surface — #126 the host-IO reach — module-qualified host perform (hostPerformS) (5f035611)
  • prelude — unconditional List a injection (ADR-0103 Amendment ①) (178e4c67)
  • prelude — #105 List-family batch — length/append/head/tail (b170b6fd)
  • prelude — add id + fix a real bang-fmt printer bug it surfaced (a3ade3a4)
  • backend — B1 bignum rep + decimal readback — big literals round-trip on the WasmGC path (#132) (82117536)
  • backend — B2 bignum add/sub/compare on the WasmGC path — full ℤ arithmetic (#132) (e2f29cd1)
  • backend — B3 bignum multiply — factorial past 2^63 on WasmGC (#132) (e6804ad6)
  • lint — plan 013 slice 6 — dead-private fixit, preservation-gated (84cb31c5)
  • cli — bang emit — module-resolved WasmGC emit; json compiles + runs on wasmtime (#136) (d1fb4758)
  • hostio — widen the ADR-0104 host wedge from Console/Clock to Fs (read+write+exists) (08a6b699)
  • frontend — bare imported-effect names — the Mod_Eff ergonomics fix (d3941d9e)
  • sched — scheduler-as-handler as ordinary library code (ADR-0101 §G1 demo) (cb021012)
  • frontend — lift B011's v1 ctor-payload arity-2 cap (#144) (f1f09bcf)
  • stdlib — tier-2 additions — zip/range/replicate + strLength (#144) (e452ab04)
  • frontend — result-position instantiation discovery for bound-free generics (#55, ADR-0103 Amendment 2) (1f279246)
  • emit — #134 C2 — the $liveTop escape stamp closes the tag-gating miscompile (8e98c0f3)
  • emit — #133 C0 — first-class caps emit; stage-swap runs 30005 (the headline) (7355a803)
  • build — bang build — emit → wasm-tools parse/validate → runnable Wasm (#136) (14993381)
  • emit — #133 C3 — calc EMITS to wasm (11021193); the multi-module capstone (c85d125d)
  • frontend — trait-op name-call dispatch (#78 operator ruling, ADR-0106) (99839fb8)
  • frontend — #164 S0 — the #94 teaching diagnostic at a row-poly reuse site (463869c7)
  • frontend — #164 S1 — subeffecting at the row-poly reuse site (issue #94) (b9b327e3)
  • onboarding — add read-only readiness preflight (5b9620d9)
  • site — generate onboarding routes and evidence (94535248)
  • tools — port release-version-check's decision logic to a compiled bang program (change:0dd73232908aaa6618bbe07af11d00c98663f221dd7d4ea4d07c2b627c26afab)

Fixes

  • surface — A-normalize effect-op arguments — arithmetic composes as put/raise/write args (#26 part-1) (1e83aade)
  • surface — A-normalize ADT intros & eliminator scrutinees — value-restriction generalized (#29) (e89e9c38)
  • surface — A-normalize state initial-value too — #29 value-restriction fully closed (3f0d81f2)
  • hooks — gate-guard denies bare 'git worktree add' — the actual 2026-07-05 vector (#13, #40b) (0ab0c87b)
  • worktree — reflink-copy .lake/packages, not symlink — a lake re-clone can only nuke itself (#40) (154021ae)
  • build — cache-get only on main checkout, not via a local-stub precondition (#43, closes #43) (ae78f228)
  • gitignore — clean the vocs stanza — a diff-format patch had been dumped in verbatim (285e31e9)
  • site — strip mermaid on the docs site — vocs client Mermaid component infinite-reloads (ade33cba)
  • examples — check-examples always rebuilds the bang exe — kills the stale-binary gate-trap (c947809f)
  • ci — set the git gc posture in the runner clone (2bc9566a)
  • tooling — gen-changelog --check tolerates the self-hash fixpoint lag (730632e5)
  • surface — arithmetic composes as an effect-op argument (closes #26) (db85ad71)
  • hooks — cache-get guard — deny whenever linked worktrees exist (evasion fix) (45b3d2db)
  • frontend — mark fmtExpr/fmtProg public — the CLI wiring face of the formatter (82441124)
  • frontend — #59 — namespace Bang.Diagnostics (was bare top-level) (c66fd798)
  • tooling — exclude gen-proof-state from regen-all — build-dependent (toolmap finding) (6034c60e)
  • release — install.sh distinguishes no-releases-yet from network failure (5b6ee001)
  • release — de-nix the ELF loader path so the binary runs off a nix store (8826266c)
  • nix — pin depsHash to the real cache-get output hash (#63, #78) (e08f890c)
  • nix — scrub cache.hash — the FOD's sole reproducibility leak (#63, #78) (922c18f2)
  • nix — pin depsHash to the now-deterministic cache-get output (#63, #78) (e4be297e)
  • nix — scrub mathlib/batteries scripts/ — FOD store-ref leak (#63, #78) (fa3e0013)
  • nix — re-pin depsHash after scripts/ scrub (#63, #78) (d567654d)
  • cli — #75 — bang check --json regains file-input spans (b42109f4)
  • surface — let-sugar fmt preserves the marker instead of expanding (#68 follow-up) (21c945b1)
  • modules — #73 — gate qualified Mod.name access against D3 visibility (28aea68f)
  • laws — #74 — diagnose bare trait-op calls + unreachable Int impls (bac023c6)
  • landing — complete the task #15/#16 Part-B recovery — the transplant retirement + regen (the stuck-sequencer incident) (4798f5ef)
  • surface — reserve 'resume' as an op name — ADR-0095 D5 implemented (#93) (7330b5f1)
  • surface — reserve 'resume' as a BINDER — the D5 reservation complete (#93 closed) (f1cb2cfd)
  • hooks — sanitize GIT_INDEX_FILE/GIT_DIR from the hook's nix invocations — the worktree index-corruption vector (plan 008) (fc1197b2)
  • hooks — sanitize GIT_INDEX_FILE/GIT_DIR from the hook's nix invocations — the worktree index-corruption vector (plan 008) (fdd8ade3)
  • cli — contain import-derived module paths to the project trees (plan 005) (80b793c0)
  • lint — silence unusedArguments false-positives (22 → 0, plan 009) (6e50140b)
  • tools — install-hooks.sh works from linked worktrees (1d175a6d)
  • site — the vocs build has NEVER succeeded — alias non-bundled fence langs at the sync seam (0b1e9cca)
  • fmt — preserve grouping parens on qualified force $(Mod.op) (#96) (8d4d3739)
  • modulesuse Mod (f) hoists a self-recursive pub let rec (#97 item 3) (225f3f42)
  • surface — #95 knot-sharing — buildLetRec self-arg fold #g not sv (route i) (ae0f0df6)
  • traits — law on an unreachable impl reports SKIPPED, not a misleading PASS (#113) (8de80a8e)
  • traits — self- and backward-recursive impl ops resolve via knot dispatch (#112) (faafaa09)
  • display — data types render by declared name, not raw mu (#100) (7d63f548)
  • diagnostics — teach the thunk idiom on a bare-function let binding (#121) (b6020eea)
  • diagnostics — teach ascription instead of leaking an internal hole marker (#124) (b63f01d2)
  • checker — #119 row-subsumption asymmetry — checkSC catch-all now subsumption-aware (48131c06)
  • elab — #118 bare-fun-param hole gap — one-candidate-pins-the-hole dispatch (25a99ad4)
  • modules — the two #117 module-machinery gaps blocking trait-prelude migration (b7e91ed2)
  • deriving — #128 — type-qualify generated impl ctor names, doc the migration cost (7de7ab12)
  • frontend — #129 — top-level let-decl juxtaposition-absorption diagnostic (B016) (8e0bca23)
  • backend — Euclidean division on both emit paths — compiled path now matches the oracle (#132) (5f566fd9)
  • frontend — #130 — handler-clause op names accept reserved keywords, reach B002 (563badd4)
  • frontend — #139 — knot binder-nesting so trait-op bodies see top-level bindings (ADR-0106 §5) (2c532583)
  • frontend — #135 — match on an application-spine scrutinee now parses (a6e9eb9f)
  • hooks — pre-push WIP guard — marker-anchored, not substring (its own prose title was the first false positive) (5312ec04)
  • tooling — close release and docs false-greens (265c3e67)
  • tooling — make reference gate checkout-faithful (47e1096f)
  • tooling — make changelog hashes deterministic (15be6a42)
  • ci — bind changelog gate to PR head (0ca4de14)
  • site — resolve shared docfact schemas (18ba9ebe)
  • onboarding — make readiness and evidence fail loud (377187b5)
  • onboarding — bind artifacts and public routes (425656c1)
  • cli — validate host replay traces strictly (#174) (38a38d5e)
  • cli — contain new scaffolds within examples (#181) (312f14b9)
  • test — reject failed example runners (#175) (7870e029)
  • test — assert success-path CLI exit status (#182) (8234fd40)
  • release — verify installer artifacts end to end (#188) (8f9bc10c)
  • tooling — make developer gates fail closed (#177) (f0b8e0a2)
  • tooling — make generated provenance squash-safe (change:c63f243f27950fd9c9d7c2ad7707f677b0ca209ecdd68449e2e85ff0eba6c80a)
  • cli — reject unknown and malformed options (change:25fbfc7982a2acf968e208dd083d7e9d4ea2c5fb376b930f5d164a1b3bcba456)
  • cli — require explicit real-host authority (change:462bc2b51dcd1026cb3e7fffcb1dd335008b41577d15167b4e55f9078303f130)
  • proof — align public claims with semantic strength (change:f9b062a481c262e3ee7abf8d40252c20dcf29d952756c1540ae989651be8cefa)
  • docs — align proof dashboard with semantic claim state (change:79d064ff00a84fb883e9f55dcb37f0ed53ad8b54cc493725579b6f931b41c08f)
  • wasm — preserve abstract-model emitter boundary (change:a5d83b2a863f6978514de3fd6625a52b2735adba655ab8d22f7190bad6638493)
  • lean — prevent warning regressions (change:df39ce5f50346ae18410cf3e957d5dab015df3a3021868c831e9de48248f488d)
  • lean — migrate deprecated API uses (change:f38bf516fb3c62c486bf4db95ef3f8bd35d6d72ca66c358c54bbaa9386fd4d1c)
  • lean — remove dead and unreachable tactics (change:0d6b379349ea17916b155728d7fccb0338d2afbbe3954577dc0bad42207d7d09)
  • wasm-model — decouple target runner from source Result (change:023c57727162d0a8871f8617236c83250ad64279ec030ba895078b3e8c783a6c)
  • lean — cover native runner warnings (change:24b4c0ec7f37ee8d234c118ee53e88939f6cf238a962e419d56ac6cb2b1ba60c)
  • core — distinguish fuel exhaustion from out-of-memory (change:0a29d3d55516becac67fb36829c7fcc92a987dc5eab2db11a3ea2909afc20b2a)

Performance

  • verify — share role-lab build lane (change:119e9c461c19e6fad373e94632066aa0fa143e098ea697f25b85d79f78bd6c3d)