Close #466 and remove stale ergonomic framing from ROADMAP#521
Conversation
Two items: - Closed #466 (array utility built-ins umbrella) — phase 1 shipped in v0.0.117; phase 2 tracked separately as #507. #466 itself was still open despite all its phase-1 scope having shipped. - ROADMAP 'ordering principle' section: removed the stale Conway quote and the capability-vs-ergonomic framing that cited four issues (#466, #470, #471, #366) all now closed. Replaced with a short framing of the current state: Stage 11 closed the ergonomic gaps, so the near-term queue is a bug-killing campaign driven by the second Game of Life agent run. No stale references remain; the remaining #466 / #470 / #471 citations in the ROADMAP are historical context for the phase-2 follow-up issues (#507, #509) and are correct. Co-Authored-By: Claude <noreply@anthropic.invalid>
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughDocumentation-only updates: ROADMAP.md reframes short‑term priorities as a "bug‑killing campaign" and pairs implementation entries Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #521 +/- ##
=======================================
Coverage 91.03% 91.03%
=======================================
Files 58 58
Lines 21964 21964
Branches 259 259
=======================================
Hits 19995 19995
Misses 1962 1962
Partials 7 7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
New bug surfaced during the Conway's Game of Life agent run: host-side stdout is fully buffered, so any IO.print output preceding a runtime trap is discarded. Verified reproduction: four IO.print lines preceding `42 / 0` produce no output at all — only the wasmtime trap message. Slots into the short-term queue paired with #516 (both are "program crashed — why?" UX); updates KNOWN_ISSUES and the SKILL Known Bugs table with the reproducer shape and interim guidance (don't treat print-absence as non-execution. Co-Authored-By: Claude <noreply@anthropic.invalid> EOF )
Lint hook flagged SKILL.md substantive change without a matching CHANGELOG update. Extends the existing Unreleased "Tracked bugs" bullet from four to five, adding #522 (IO.print lost on trap). Co-Authored-By: Claude <noreply@anthropic.invalid>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@CHANGELOG.md`:
- Line 18: CHANGELOG.md claims a fix (IO.print line-buffering) that isn't
implemented; either update the runtime to implement line-buffered host printing
or change the changelog wording to mark it as planned. To implement the runtime
fix, modify vera/codegen/api.py: replace the simple StringIO() + host_print that
only calls output_buf.write(text) with a buffer that flushes on '\n' (e.g.,
track writes and call flush/emit when a newline is written) and ensure IO.print
in the host-interop path triggers that flush; alternatively, edit CHANGELOG.md
to rephrase the entry to state this is a tracked/planned fix rather than already
fixed.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 04f18429-5e1f-4307-a531-a601a7eb22d7
📒 Files selected for processing (1)
CHANGELOG.md
The original issue body and docs incorrectly attributed the lost-print symptom to Rust stdout line-buffering heuristics. The compiler is Python; wasmtime-py calls host_print synchronously. Actual cause: host_print in vera/codegen/api.py appends to a Python io.StringIO that execute() only surfaces to the CLI (via ExecuteResult.stdout) on the success path. The except-Trap branch re-raises without returning the buffer, so the CLI at vera/cli.py:605 never sees the prior IO.print output. Fix shape is Python-side too: flush output_buf to sys.stdout inside execute()'s trap-handling path before re-raising (or attach the buffer to the raised RuntimeError so the CLI can print it alongside the trap message). Updates the issue body, KNOWN_ISSUES, ROADMAP row, and CHANGELOG bullet with the corrected explanation and fix shape. No change to SKILL.md (its workaround text is agnostic to the mechanism). Co-Authored-By: Claude <noreply@anthropic.invalid>
CodeRabbit flagged the earlier 'Fix is ...' phrasing as potentially ambiguous (could machine-read as past-tense). Sharpen to 'Proposed fix (not yet implemented): ...' under the existing '### Tracked bugs' heading. No change to host_print itself — bug remains open. Co-Authored-By: Claude <noreply@anthropic.invalid>
Summary
Two small cleanup items the user flagged after PR #518 merged:
Closed Add array utility built-ins (sort, reverse, contains, find, any/all) #466 (the array utility built-ins umbrella). Phase 1 shipped as v0.0.117; the phase 2 follow-up (Eq/Ord-dispatched array ops) is tracked separately as Phase 2 of #466: Eq/Ord-dispatched array operations (array_sort, array_contains, array_index_of) #507. Add array utility built-ins (sort, reverse, contains, find, any/all) #466 itself was still open despite having no remaining scope.
Removed stale capability-vs-ergonomic framing from the ROADMAP's "ordering principle" section:
The remaining #466 / #470 / #471 citations in ROADMAP.md (lines 45, 203, 204) are correct historical context for the phase-2 follow-up issues #507 and #509 — not stale work-to-do.
Test plan
scripts/check_site_assets.pygreenscripts/check_doc_counts.pygreenscripts/check_limitations_sync.pygreenSummary by CodeRabbit