release: v0.5.0#6
Merged
Merged
Conversation
Promote the Zig 0.16.0 migration's `Unreleased` CHANGELOG section to `v0.5.0 (2026-04-27)` and bump `build.zig.zon` `version` from the stale "0.3.0" placeholder to "0.5.0" (matching the existing tag sequence — v0.4.0 was the last release). Migration highlights (full list in CHANGELOG): - Zig 0.15.2 → 0.16.0 - zwasm v1.9.1 → v1.11.0 - New `runtime/io_default.zig` for the std.Io reshape - Binary 4.12 MB / startup 4.1 ms / RSS 8.2 MB - 1324/1324 unit tests + 83 cljw test namespaces + 6 wasm e2e all green - Four features (HTTP server/client, nREPL, raw line editor, `cljw build`) temporarily stubbed; tracked as F140-F144.
chaploud
added a commit
that referenced
this pull request
May 27, 2026
…ADR-0027 number collision resolved (renumbered to ADR-0044) Smell-audited: 2: depth-2 ADR-number-collision repair. Bench-schema ADR (commit 8678052, 2026-05-27 row 8.2) was minted as ADR-0027 but slot 0027 was already held by the NaN-box second-generation ADR (2026-05-24 row 5.2.b). Audit_scaffolding flagged this as the only block-severity finding at the Phase 8 → 9 boundary. ADR numbers are time-ordered max+1 at issue per CLAUDE.md § Project spirit — bench schema renumbered to next free slot ADR-0044. Changes: - `.dev/decisions/0027_bench_history_schema.md` → `0044_bench_history_schema.md`. Title flipped to "0044 — …" with an "ADR-number history note" preamble preserving the original 0027 mention so commit-message archaeology (`8678052`) stays interpretable. - Caller updates (5 sites): * `.dev/ROADMAP.md` §9.10 Entry ADRs + Deliverables + row 8.2 description + status cell. * `.dev/handover.md` Guardrail refresh history landmark. * `bench/history.yaml` header comment + first lock entry's reason field. * `.dev/decisions/0021_test_taxonomy.md` Bench-full row + Related list. * `test/e2e/phase8_compare_cli.sh` ADR co-citation in the header comment. Other audit findings deferred to Phase 9 opportunistic cycles (per Phase 9 entry owner discretion; not block-severity): - ROADMAP §11.6 "Planned" gates #6/#7 already landed (rows 8.3/8.4) → move to Active. - `.dev/structure_plan.md` src/app/ entries still flagged "Phase 8" for repl/self_host_loader. - 12 debt rows with stale "Phase 7 entry" / "Phase 7+ target" — Step 0.5 sweep at Phase 9 entry handles these. - D-007 (self-host viability) still scheduled "Phase 8 target" but Phase 8 closed without touching it — reschedule at Phase 9 entry. - 8 stale "Phase 8+" references in ROADMAP / ADRs / source comments (cosmetic; opportunistic). Simplify report (~2 recommendations) + security review report (0 critical, 4 medium hardening candidates) absorbed as future debt candidates; tracked inline in the boundary review subagent outputs (not committed — per `.claude/skills/audit_scaffolding/SKILL.md` the boundary chain produces reports, not commits). Test gate: Mac 65/65 green (audit absorption is doc-only + filename rename, no source change).
chaploud
added a commit
that referenced
this pull request
Jun 4, 2026
…delay + STM) complete; next = #6 locking/agent
chaploud
added a commit
that referenced
this pull request
Jun 4, 2026
…R-0092 Option A) Smell-audited: 1: lands the locking surface over a new object_monitor.zig per ADR-0092 (Option A = Option C's fast path). A header lock_state-bit spinlock (CAS the whole gc_and_lock u32 to preserve gc_mark) + a threadlocal [32] held-set for reentrancy + a safepoint-polling spin (the #1 GC-safety rule: a non-polling spinner hangs a stop-the-world collect forever). The `locking` macro expands to `(__locking obj (fn* [] body))`; the primitive holds the monitor across the body thunk with a defer release. `(locking <immediate>)` errors (AD-014). clj-verified: basic 42, reentrant 99 (no deadlock), body-env 15, mutual-exclusion 400 (a non-atomic RMW under the lock loses no updates). Also corrects a stale stm.zig docstring (STM is implemented, not pending). Contended waiters spin not park — the blocking inflation is D-245.
chaploud
added a commit
that referenced
this pull request
Jun 4, 2026
… first slice (ADR-0093) Smell-audited: 1: serial async agents over a new runtime/agent.zig engine. Actions on one agent run one-at-a-time in send order via a single-drainer handoff (the thread that transitions the queue empty→non-empty spawns the sole drainer; the drainer drains to empty then exits; draining is checked/set under cell.mutex so the handoff is race-free). cell.mutex is a LEAF lock (held only across the gpa queue push/pop, never across callFn/alloc/park — the GC-deadlock invariant), so the queue is an off-heap gpa list traced by traceGc. `@agent` is a non-blocking atomic state read; `await` (core.clj) is a sentinel action delivering a promise (clj's latch). clj-verified: send 100 → 100, (+5 then *3) → 15, send-off conj → (2 1), 4×100 concurrent sends → 400 (30/30 ReleaseSafe), 8 agents each +50 → all 50. Option kwargs / send to non-agent error cleanly. Error modes / watches / restart / send-via / *agent* / shutdown-agents / await-for are later slices.
chaploud
added a commit
that referenced
this pull request
Jun 6, 2026
Convergence Campaign Stage 0.4 (probe-backed against a fresh HEAD binary). Phase B (ADR-0090) is IMPLEMENTED at HEAD — verified: two 300ms-sleep futures finish <500ms (real OS-thread parallelism); full STM/agent/ locking/atom-CAS all probe-green; git log shows the #4..#6 Phase B campaign landed 2026-06-04→06. - DISCHARGE D-009 (STM, fold→D-242), D-010 (locking, fold→D-245), D-012 (atom+watch), D-013 (STM barge, fold→D-242), D-211 (`'`-arith family, stale-LIE + DUP of D-260/ADR-0100). - FLIP→now: D-224 (pmap recall fired — threading landed; now a perf item), D-046 (LazySeq.force mutex barrier met). - De-stale D-242 anchor: "unimplemented core" → "concurrency hardening" (core landed; tracks D-244#4 torture + pmap/LazySeq/per-item residuals). Net: −5 active (132→127 non-DISCHARGED). LIE lens: 0 (D-177 already self-corrected + corpus-backed). DUP: 5 folded. D-105/106/243 (java.time/ net/crypto) confirmed legitimately open.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
UnreleasedCHANGELOG section tov0.5.0 (2026-04-27)build.zig.zonversionfrom the stale "0.3.0" placeholder to "0.5.0" (matches the existing tag sequence — v0.4.0 was the last release)Test plan
zig build -Doptimize=ReleaseSafesucceedscljw --versionreportsClojureWasm v0.5.0cljw -e '(println "v0.5.0")'→v0.5.0