ROADMAP: add browser-target reliability (#609 + #610) to stabilisation tier#611
ROADMAP: add browser-target reliability (#609 + #610) to stabilisation tier#611
Conversation
Two Conway's Life agent experiments on --target browser surfaced five concrete blockers (issues #602/#603/#604/#609/#610) and an explicit design memo (#608) mapping each obstacle to a concrete runtime-only fix. The current stabilisation framing covers codegen reliability and walker completeness but treats browser- target reliability as a separate concern. The agent's diagnosis makes that split harder to defend: "write once, run anywhere" is currently true for pure computation and approximate-to-false for anything with timing or screen output. Two of the fixes (#609 JSPI-driven IO.sleep, #610 ANSI subset interpreter) close the timing and rendering halves of the seam without language changes -- adding them to the stabilisation tier commits to "browser-target Vera is something you'd actually use" before the agent-integration push. Changes: - Expanded the campaign-pattern list from two patterns to three; third pattern documents the browser-target seam with links to the umbrella issue (#608) and the five concrete blockers. - Added #609 (JSPI-driven IO.sleep) as item 3 in the stabilisation tier, with rationale + the WebAssembly JSPI / Asyncify mechanism. - Added #610 (ANSI subset interpreter) as item 4 in the same tier, paired with #609 -- together they close the seam and let life.vera (terminal version) run unchanged on --target browser. - Renumbered #595 from item 3 to item 5 (now last in stabilisation, since it's contingent on an upstream wasmtime-py release). - Renumbered the agent-integration tier items 4/5/6 -> 6/7/8 to match. - Updated the "What moves when" gate from "#4 starts when #1-#3 are closed" to "#6 starts when #1-#5 are closed". Co-Authored-By: Claude <noreply@anthropic.invalid>
|
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthrough
ChangesStabilisation Patterns and Priorities
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related issues
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 #611 +/- ##
=======================================
Coverage 90.92% 90.92%
=======================================
Files 59 59
Lines 22997 22997
Branches 259 259
=======================================
Hits 20910 20910
Misses 2080 2080
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:
|
Summary
Adds browser-target reliability to the stabilisation tier in
ROADMAP.md. Two Conway's Life agent experiments on--target browsersurfaced five concrete blockers, and the agent's design memo maps each obstacle to a runtime-only fix path. Promoting #609 (JSPI-drivenIO.sleep) and #610 (ANSI subset interpreter) into the stabilisation tier commits to "browser-target Vera is something you'd actually use" before the agent-integration push.Why
The current stabilisation framing recognises two patterns from the v0.0.120–v0.0.138 bug-killing campaign: scale-dependent bugs (#596 stress harness) and walker-completeness gaps (#597 walker audit). Both are codegen-side concerns. A third pattern is now visible from the same evidence base — browser-target reliability is approximate, not real — and deserves the same treatment.
Specifics, all surfaced by the recent agent experiments:
IO.sleepbusy-waits and freezes the tab. Animation programs literally can't run. Fix: #609 (JSPI / Asyncify).Stringarguments to Vera functions. Forces all browser programs into a "compute everything upfront" pattern. Fix: #603 (exportruntime.mjshelpers).The first two are the high-leverage ones for the stabilisation tier — they're the difference between "browser-target Vera is theoretical" and "browser-target Vera is something you'd actually use." The other three are tracked in
KNOWN_ISSUES.mdalready.Changes
Test plan
python scripts/check_doc_counts.py— cleanSummary by CodeRabbit