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/:typein the REPL against typeStringOfProg (#7) (166070f6) - frontend — canonical formatter core (Bang/Frontend/Format.lean, #58) (
aaaf544a) - cli — wire
bang fmtagainst 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 FILEon 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) - modules —
use Mod (f)hoists a self-recursivepub 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)