Repository navigation
fix(develop): #1440's locals rule broke four CI jobs: FV runs stage 1; two probes and one fixture mark their locals - #1441
Merged
Conversation
…age 1, not the seed (#1440's mut(x) := is unparseable to v0.2.64) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
shd101wyy
added a commit
that referenced
this pull request
Oct 18, 2026
…with the seed); #1441 fixes it; the lesson in §1.1 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d compile.test.yo's embedded fixture (E0917 since #1440) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
shd101wyy
added a commit
that referenced
this pull request
Oct 18, 2026
…with the seed); #1441 fixes it; the lesson in §1.1 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
shd101wyy
added a commit
that referenced
this pull request
Oct 18, 2026
…elop battery 39099399553 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
shd101wyy
added a commit
that referenced
this pull request
Oct 18, 2026
…with the seed); #1441 fixes it; the lesson in §1.1 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
shd101wyy
added a commit
that referenced
this pull request
Oct 18, 2026
…elop battery 39099399553 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
shd101wyy
added a commit
that referenced
this pull request
Oct 18, 2026
* docs(handover): VBD handover 2026-10-17 (living until v0.2.65) The v0.2.65 gate, every open PR and pushed branch with what is left, #1408's verdicts, the recursive E0916 structural-clone exemption, the open S1s and the portable process rules learned this cycle. The plan, the plans index and the 2026-10-15 handover point here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): pin head SHAs, add the stale-doc safeguard, the stop sequence and a v0.2.65 notes draft Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(plans): the index lists only the current VBD handover Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(plans): drop the v0.2.51 release handover from the index Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1435 landed; d47loc and #1432 heads Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): status checks every 50 minutes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: 40-minute cache-warm pings for background sub-agents (AGENTS.md, handover) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1412 landed; #1421 head Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): derive Clone PR B is #1437 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1438 landed (v0.2.65 gate item 3); notes draft Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1409 landed; its two new issues; #1421 head Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: #1432 landed (handover; plan cites #1432 instead of the deleted branch); A4's S1 as a known issue Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): Pattern is #1439, Generation B after the v0.2.65 seed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): no rebase after the final gate; SHAs from git output; #1437 head Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1424 and #1420 landed; #1424's new issues Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1439 state and post-seed steps; #1433 landed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1437 landed; its open S2 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1419 landed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): MERGE_FREEZE for v0.2.65; decision 47 locals is #1440 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1414 Tier 1 green, held by the freeze Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1429 landed (v0.2.65 gate item 2) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1429's user-visible changes and maintainer questions Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(issues): retire the three VBD questions decided 2026-10-18; file the two projection-forwarding gaps (S2 ref receiver, S3 bare-tail E0601) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): record the 2026-10-18 verdicts; roadmap from v0.2.65 to the end of VBD; refresh branch resume points - VALUES_BY_DEFAULT: decision 21 amended (Rc by sharing, Box when built once); §9 lists the decided questions; decision 47 step 2 records #1440's two accepted departures - PARALLELISM_RULES D9: recommend a capture-free closure for a named function until function-item types land - handover: §3.4 verdicts, §4 rewritten as the ordered path to finishing VBD, §2.4 resume points after the WSL crash Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): v0.2.65 notes draft names #1440's surface and the Q5 known issues; D9 names the plain-local closure Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1440 merged (00eddd3); v0.2.65 gate waits on develop battery 39087983359 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): develop red after #1440 (FV job ran Gen A test files with the seed); #1441 fixes it; the lesson in §1.1 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): final v0.2.65 release-notes text; held branches need a mut-bindings pass after rebasing onto #1440 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1441 merged (e34b6b0); the v0.2.65 gate waits on develop battery 39099399553 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): the four held branches re-gated on #1440 (wip/*-on-d47 heads); std stays unmarked until its sweep Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): v0.2.65 gate met (battery 39099399553 green on e34b6b0); Release run 39106358669 dispatched Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): #1442 joins the post-release stop sequence Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): ci/fmt-check-plans joins the post-release sequence (after #1442) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(handover): final — v0.2.65 published, #1442 and #1443 merged, freeze removed, nothing running Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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
Develop has been red since #1440 (
00eddd3e4, battery 39087983359), and that blocks v0.2.65. Four jobs fail. All four come from #1440's new syntax or its locals rule reaching Yo source that its sweep and its tree-binary gate could not see:scripts/bootstrap/probe-stack-sizing.shlends&mut localfrom an unmarked binding (E0917).test.yml's inline probe calls&mut selfas_ptr()on the unmarkedsv_uninitandb_uninit(E0917).tests/internal/compile.test.yoembeds a fixture program in a string, and itsk/icounters are reassigned (E0917). Ayosubprocess onPATHcompiles it. Locally that was the seed, so VBD decision 47 step 2, Generation A: bindings are immutable unless declared mut(name) (locals, patterns, comptime) #1440's gate passed it.Items 2–4 mark the written locals. Those three programs are compiled only by tree-built binaries.
Item 1 in detail.
Root cause. The
verifyjob rantests/internal/verifier*.test.yowith the v0.2.64 seed. #1440's Generation A sweep marked those files' written localsmut(cfg) := …, and the seed cannot parse that:mut(x)is its deleted borrow word. The error isInvalid binding to "mut", expected identifier or operator, and 0 of 29 tests ran. I reproduced it locally with the seed and the job's environment.The markers cannot be reverted. The tree compiler would then reject those files with E0917, and every other job runs
tests/internalon the tree compiler. Atests/internalfile is written in the tree's syntax, so only the tree compiler can run it.Fix:
verifynow needsstage1. Its fiveyo teststeps downloadyo-stage1and run/tmp/yo-stage1 test …, the same patterncompiler-internal-tests-selfhosteduses. The tests and their assertions are unchanged.yo verifysteps stay on the seed, because their inputs (std/spec,std/collections,tests/spec) carry no new syntax. Theverify-srccomment that said "like every other step in the verify job" is corrected.tests/syntax the seed cannot parse, run every seed-runyo teststep with the seed. A tree-binary Tier 1 cannot see this, and that is how VBD decision 47 step 2, Generation A: bindings are immutable unless declared mut(name) (locals, patterns, comptime) #1440's gate missed it.issues/fixed/2026-10-18-the-fv-job-runs-generation-a-test-files-with-the-seed.md(S2) covers all four.yo teststeps, workflow and shell-embedded probes, and test-embedded programs compiled throughPATH.Verification
YO_STD=$PWD/stdandYO_TEST_Z3=1onverifier.test.yofails to compile the batch (log~/Workspace/Yo-wt/vbd-logs/fixfv/vt2.log).yo-d47loc-3d1afa693, whose src/std match00eddd3e4) with the pinned Z3 5.1.0 and the job's leak-verdict settings. This is also the first run of these files under a real solver since VBD decision 47 step 2, Generation A: bindings are immutable unless declared mut(name) (locals, patterns, comptime) #1440: on this machine, Z3 was missing during its gate. All five passed:verifier29/29,verifier_negative10/10,verifier_assumed5/5,verifier_refine6/6,verifier_list_len25/25 (logs~/Workspace/Yo-wt/vbd-logs/fixfv/s1-*.log).b8fdc7acd): theverifyjob passed every step on stage 1, including the five verifier test steps and the fouryo verifysteps.tests/string literals and checked each with the tree compiler. The only other E0917 is aformatter.test.yoinput, which is formatted and never compiled.scripts/check-embedded-yo.shpasses 7 of 7 sites with the tree compiler, and both probes and the fixture now passcheck.scripts/check-issue-refs.shis green. No.yofile changed, so no fmt orcheckrun was needed.yo check ./src --std-path ./std— not needed, no src changeyo check ./std --std-path ./std— not needed, no std changeverifyjob runs the new steps; it must be green before mergeyo fmt --checkontests/internal/compile.test.yo(tree binary)issues/entry with a severityLLM attribution
Deferred
Nothing.
🤖 Generated with Claude Code