Verify vms-7c0's stricter CDL receive path doesn't regress vms-449's rejoin - #117
Merged
Merged
Conversation
…ms-449's rejoin Re-ran the vms-449 join/rejoin pair on current main (vms-7c0 and vms-449 both ancestors) on lab-2 vaxlab-6. The rejoin-refused finding still holds, and neither of vms-7c0's countable tightened receive-path behaviors (rx_deliver_no_cdt, rx_deliver_src_mismatch) fired during a normal join or rejoin -- both read 0 in the RX-CDL exit summary on both runs. No regression. Caveat recorded in the spec: vaxlab-6 showed VAX2 in BRK_NON (pod wear from earlier same-day brackets) partway through, so this does not byte-for-byte replicate vms-449's clean bracket shape -- only the two counters this item asked about, which are unaffected by VAX2's state. A companion run on a freshly-scaled virgin pod (vaxlab-8) never completed a first join at all in two attempts; treated as a pod-level fault and not chased further, out of scope for this item. targeted suite: ctest -R scs 36/36 green.
baron-3dl
added a commit
that referenced
this pull request
Aug 21, 2026
…ch() (Rule 9 gate) Integration regression on work/vms-0.5-final: the "Build & Test" job built clean but ctest went red on runtime_target_gate (#5) and, as a consequence, runtime_target_negctl (#8) -- the standing Rule 9 / INV-6 gates (tests/integration/test_runtime_target.sh + its negative control). Each merged branch was green alone; the combination reddened the gate. ROOT CAUSE (merge interaction). vms-46c-sysboot-acp refactored ovmx_init.c's executive_attach(). Pre-merge it was ONE function that loaded vms.ko, opened /dev/vms via the boot seam, CAPTURED the descriptor into executive_fd, HALTED if the open failed, pinned the fd, and emitted the %OVMX-I-EXEC line inline. The refactor split that into executive_attach_silent() (capture + halt) + executive_announce() (the printf) + a thin executive_attach() wrapper that just calls the two. It did this for a real reason -- the conversational SYSBOOT> path must attach the executive BEFORE the prompt (the Files-11 ACP $MOUNT needs it) yet print nothing until after it. But check 3 of the gate inspects the body of the function LITERALLY named executive_attach() for the descriptor capture, the terminal-halt failure branch, and the pin; after the refactor that body only delegates, so the gate reported "no ovmx_boot_open_executive() result is captured into a variable" and failed. The negctl was untouched by the merge, so its positive control (which re-runs the gate on the unmutated tree) failed with #5, and its 3b(h) mutation still anchored the executive_attach(void) signature. FIX (code only -- no test touched). Move the guarantee back INTO executive_attach() itself: the load, the executive_fd = ovmx_boot_open_executive() capture, the `if (executive_fd < 0)` terminal ovmx_exec_halt(), the pinned file-static fd, and the %OVMX-I-EXEC printf all live in the one function the gate reads again. The conversational path's need to defer the console line is met by a file-static executive_announce_deferred flag (set before the silent attach, announced via executive_announce() after SYSBOOT>) -- a deferral of the ANNOUNCE only; the capture+halt+pin guarantee is unconditional. Signature stays executive_attach(void), and the guarantee lines stay verbatim, so both the gate and every negctl mutation (including 3b(h), which anchors the signature) match and trip exactly as before. tests/integration/test_runtime_target.sh and test_runtime_target_negctl.sh are UNCHANGED -- no gate weakened, no allowlist added (CLAUDE.md Rule 9). Verified locally: gate PASS, negctl 31/31; full ctest re-run on the k3s rail (real git clone, non-dind) below. NOT part of this fix: dcl-integration (#117) fails on the bare builder/rail image (SET ACCOUNTING cannot write SYS$MANAGER:ACCOUNTNG.ENB with no populated VMS root) -- it fails identically on the pre-merge base commit 06e62f5, so it is a pre-existing environment artifact, not an integration regression. Co-Authored-By: Claude Opus 4.8 (1M context) <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
docs/cluster-protocol-spec.md: confirms vms-7c0's stricter CDL receivepath does not regress vms-449's rejoin.
Item: vms-8e4 (retry after a structured-output failure in the prior wave)
🤖 Generated with swarm-dispatch merge agent