Skip to content

HISTORY: freshen Editor & tooling and By the numbers (post-v0.0.123)#545

Merged
aallan merged 1 commit into
mainfrom
history-freshen-v0.0.123
Apr 27, 2026
Merged

HISTORY: freshen Editor & tooling and By the numbers (post-v0.0.123)#545
aallan merged 1 commit into
mainfrom
history-freshen-v0.0.123

Conversation

@aallan

@aallan aallan commented Apr 27, 2026

Copy link
Copy Markdown
Owner

Two stale sections in HISTORY.md caught while reviewing post-v0.0.122 / v0.0.123.

Editor and tooling support

Last entry was 29 March; five weeks of agent-usability and tooling work since then was unlogged. Three new rows added (in date order):

By the numbers

Last column was v0.0.113 (16 Apr); ten releases of progress not reflected. Replaced the v0.0.113 column with v0.0.123 (27 Apr); v0.0.101 stays as the prior milestone (inference release, consequential).

Metric v0.0.113 (was) v0.0.123 (now)
Tests 3,319 3,575
Examples 30 33
Built-in functions 122 164
Conformance programs 73 81
Spec chapters 13 13
Code coverage 96% 96%

Compiler-layers row unchanged (no architectural additions since v0.0.65 added the GC + browser).

Active-development-day count

Both the intro line and the totals footer said "40 active development days". Recomputed via git log --pretty=format:%ad --date=short | sort -u | wc -l48. Updated both occurrences. The 40 figure dated to v0.0.101's stage cut and had been carried forward verbatim through 22 subsequent releases.

Test plan

  • python scripts/check_doc_counts.py — clean (touches no checked counts)
  • python scripts/check_version_sync.py — clean
  • All pre-commit hooks pass

Co-Authored-By: Claude noreply@anthropic.invalid

Summary by CodeRabbit

  • New Features

    • Homepage redesign with bilingual reading-path switching for improved user experience
    • Real-time output flushing in vera run for animations and progress tracking with ANSI support
  • Bug Fixes

    • Enhanced crash-debugging experience with improved runtime trap classification and error information preservation

Two stale sections caught while reviewing HISTORY.md after the
v0.0.122 / v0.0.123 release pair landed.

Editor and tooling support:

* Last entry was 29 Mar; five weeks of agent-usability and tooling
  work since then was unlogged.  Three new rows:

  - 26 Apr: Crash-debugging UX -- runtime traps now classified
    into a stable kind, IO.print preserved across traps via
    WasmTrapError, JSON envelope gains trap_kind (#516 Stage 1,
    #522).
  - 26 Apr: veralang.dev homepage redesign + Agent Score
    improvements (3 fails + 2 warns -> 2 fails + 1 warn; markdown
    parity 90% miss -> 21% miss).
  - 27 Apr: IO.print writes flush live to sys.stdout in vera run
    text mode -- animations, progress bars, REPL-style output,
    ANSI cursor / clear-screen escapes render in real time (#543).

By the numbers:

* Replaced the v0.0.113 (16 Apr) column with a v0.0.123 (27 Apr)
  column.  v0.0.101 was kept as the prior milestone (inference
  release, consequential).  Updated counts:

  - Tests: 3,319 -> 3,575
  - Examples: 30 -> 33
  - Built-in functions: 122 -> 164
  - Conformance programs: 73 -> 81
  - Spec chapters: 13 (unchanged)
  - Code coverage: 96% (unchanged)
  - Compiler layers: unchanged (no architectural additions)

Active-development-day count:

* Both the intro line and the totals footer said "40 active
  development days".  Recomputed via `git log --pretty=format:%ad
  --date=short | sort -u | wc -l` = 48.  Updated both occurrences.
  The 40 figure dated to v0.0.101's stage cut and had been
  carried forward verbatim through 22 subsequent releases.

Co-Authored-By: Claude <noreply@anthropic.invalid>
@coderabbitai

coderabbitai Bot commented Apr 27, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Documentation update to HISTORY.md records the progression from version 0.0.113 to 0.0.123, extending the active development window from 40 to 48 days and documenting three substantial feature implementations: crash-debugging enhancements (runtime traps, JSON envelope modifications), homepage redesign with bilingual support, and improved IO.print real-time output flushing for animations and REPL functionality.

Changes

Cohort / File(s) Summary
Changelog Documentation
HISTORY.md
Updated version metrics (v0.0.113 → v0.0.123), extended development duration tracking (40 → 48 days), and added three dated entries documenting trap-kind classifications in WasmTrapError, homepage redesign with bilingual switching, and IO.print stdout flushing behaviour. Numeric values for tests, examples, built-ins, and conformance programmes revised.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and specifically describes the primary changes: updates to HISTORY.md documenting Editor & tooling work and refreshed 'By the numbers' metrics following v0.0.123 release.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch history-freshen-v0.0.123

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov

codecov Bot commented Apr 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.02%. Comparing base (c62ee44) to head (59a7099).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #545   +/-   ##
=======================================
  Coverage   91.02%   91.02%           
=======================================
  Files          58       58           
  Lines       22034    22034           
  Branches      259      259           
=======================================
  Hits        20056    20056           
  Misses       1971     1971           
  Partials        7        7           
Flag Coverage Δ
javascript 56.83% <ø> (ø)
python 94.97% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
HISTORY.md (1)

257-260: ⚠️ Potential issue | 🟠 Major

Keep HISTORY.md rows as concise single-line outcomes, not implementation detail dumps.

These entries are currently too detailed for HISTORY.md and include internal mechanics that should live in CHANGELOG. Please compress each to one sentence focused on user-visible outcome.

Suggested concise replacements
-| v0.0.120 | 26 Apr | **Crash-debugging UX: trap categorisation + stdout preserved on trap** ([`#522`](https://github.com/aallan/vera/issues/522), [`#516`](https://github.com/aallan/vera/issues/516) Stage 1) — first pair from the bug-killing campaign. New `WasmTrapError` (`RuntimeError` subclass) carries captured `stdout`/`stderr` and a stable `kind` (`divide_by_zero`/`out_of_bounds`/`stack_exhausted`/`unreachable`/`overflow`/`contract_violation`/`unknown`) so `IO.print` output preceding a trap reaches the user and traps stop being mis-labelled "Runtime contract violation". JSON envelope gains `trap_kind`. |
+| v0.0.120 | 26 Apr | **Crash-debugging UX:** runtime traps now report a stable `kind`, preserve pre-trap `IO.print` output, and include `trap_kind` in the JSON envelope ([`#522`](https://github.com/aallan/vera/issues/522), [`#516`](https://github.com/aallan/vera/issues/516)). |
-| v0.0.121 | 27 Apr | **Nested closures + ADT capture work end-to-end** ([`#514`](https://github.com/aallan/vera/issues/514), [`#527`](https://github.com/aallan/vera/issues/527)) — the natural 2D `array_map(rows, fn { array_map(cols, fn { ... }) })` shape compiles at arbitrary depth. Pair-type captures split into [`#535`](https://github.com/aallan/vera/issues/535); CVE-2026-3219 ignore dropped (pip 26.1 shipped). |
+| v0.0.121 | 27 Apr | **Nested closures + ADT capture:** deeply nested closure patterns now compile reliably end-to-end, including 2D `array_map`-style usage ([`#514`](https://github.com/aallan/vera/issues/514), [`#527`](https://github.com/aallan/vera/issues/527)). |
-| v0.0.122 | 27 Apr | **Conservative GC bounds-checked against `$heap_ptr`** ([`#515`](https://github.com/aallan/vera/issues/515)) — `$gc_collect` no longer faults when a non-pointer i32 in payload data (e.g. a bit-packed `Nat` row in Conway-style code) happens to satisfy the worklist-seeding alignment + range guards. Layer 2 sanity-checks `obj_ptr + obj_size <= heap_ptr` before marking or scanning a worklist entry; Layer 1 adds a per-iteration bound check inside the conservative scan loop so any future caller that bypasses the upstream check still cannot read past the heap. 40×20×200 Conway now runs cleanly through every generation. |
+| v0.0.122 | 27 Apr | **Conservative GC hardening:** collector worklist scanning is now heap-bounds-safe, preventing false-pointer faults in long-running payload-heavy programs ([`#515`](https://github.com/aallan/vera/issues/515)). |
-| v0.0.123 | 27 Apr | **`IO.print` writes mirror live to `sys.stdout`** ([`#543`](https://github.com/aallan/vera/issues/543)) — `vera run` text mode now flushes per call, so animations, progress bars, REPL-style output, and any program using ANSI cursor / clear-screen escapes render in real time instead of dumping the whole transcript at exit. Tee preserves the in-memory capture, so trap preservation (`#522`) and JSON-envelope packaging still work. |
+| v0.0.123 | 27 Apr | **Live `IO.print` output in `vera run`:** text mode now flushes to `sys.stdout` per call so interactive/ANSI output renders in real time ([`#543`](https://github.com/aallan/vera/issues/543)). |
-| 26 Apr | Crash-debugging UX — runtime traps classified into a stable `kind` (`divide_by_zero`/`out_of_bounds`/`stack_exhausted`/`unreachable`/`overflow`/`contract_violation`/`unknown`), `IO.print` output preserved across traps via `WasmTrapError`, JSON envelope gains `trap_kind` |
+| 26 Apr | Crash-debugging UX — runtime traps now expose a stable `kind`, preserve pre-trap `IO.print` output, and include `trap_kind` in JSON output. |
-| 26 Apr | `veralang.dev` homepage redesign — editorial-research aesthetic, bilingual reading-path device (`@reader.0 → humans` / `@reader.1 → agents`), Agent Score improvements (3 fails + 2 warns → 2 fails + 1 warn; markdown content parity 90% miss → 21% miss) |
+| 26 Apr | `veralang.dev` homepage redesign shipped with clearer human/agent reading paths and improved Agent Score/parity metrics. |
-| 27 Apr | `IO.print` writes flush live to `sys.stdout` in `vera run` text mode — animations, progress bars, REPL-style output, and ANSI cursor / clear-screen escapes render in real time instead of buffering until exit |
+| 27 Apr | `IO.print` now flushes live to `sys.stdout` in `vera run` text mode, enabling real-time animations, progress, REPL output, and ANSI cursor control. |

Based on learnings: “HISTORY file is single-line summaries. Detail is for the CHANGELOG.” and “the correct format is ~70 words or fewer”.

Also applies to: 282-284

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@HISTORY.md` around lines 257 - 260, HISTORY.md entries for versions
v0.0.120–v0.0.123 are too verbose and include implementation details; replace
each multi-clause row with a single concise user-visible sentence (<= ~70 words)
that summarizes the outcome (e.g., "Preserve stdout on Wasm traps and add trap
kind", "Nested closures and ADT capture work end-to-end", "Conservative GC
bounds-checking prevents $gc_collect faults", "IO.print mirrors live to
sys.stdout"), and move the detailed mechanics into CHANGELOG; apply the same
compaction rule to the other verbose rows noted around lines 282–284.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@HISTORY.md`:
- Around line 257-260: HISTORY.md entries for versions v0.0.120–v0.0.123 are too
verbose and include implementation details; replace each multi-clause row with a
single concise user-visible sentence (<= ~70 words) that summarizes the outcome
(e.g., "Preserve stdout on Wasm traps and add trap kind", "Nested closures and
ADT capture work end-to-end", "Conservative GC bounds-checking prevents
$gc_collect faults", "IO.print mirrors live to sys.stdout"), and move the
detailed mechanics into CHANGELOG; apply the same compaction rule to the other
verbose rows noted around lines 282–284.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 8b1ee1f9-db3c-4aae-a80d-1a89e906c923

📥 Commits

Reviewing files that changed from the base of the PR and between c62ee44 and 59a7099.

📒 Files selected for processing (1)
  • HISTORY.md

@aallan aallan merged commit 4bab6eb into main Apr 27, 2026
19 checks passed
@aallan aallan deleted the history-freshen-v0.0.123 branch April 27, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant