Repository navigation
Fabric cell witnesses: least-cause refusal join; carry #11625/#11716 into observe/acquire rows - #13601
Closed
briansrls wants to merge 1 commit into
Closed
Fabric cell witnesses: least-cause refusal join; carry #11625/#11716 into observe/acquire rows#13601briansrls wants to merge 1 commit into
briansrls wants to merge 1 commit into
Conversation
…d fabric slot and #11716's unbounded quota into the observe/acquire rows - gunbc.fabric_cell_converge fabric_cell_address_evidence: two refusals join to the least cause instead of the first seen, so the full evidence value is order-independent. Retires evidence_full_value_is_order_independent from floor_expected_red. - observe witness: #11625 made srv3-07 the second fabric member; the converged-host row now probes and expects every fabric_cell_expected_slots member, and the "stray" slots move to srv3-08/09 (outside fabric_execution_slot_identities). - acquire witness: #11716 made the fleet cpu_quota SlotCpuQuotaUnbounded; the converged reading derives its quota spelling from the desired row ("infinity"), and the six-second row compares against a desired digest composed with a resolved six-thread quota. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Contributor
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.
Seven fabric-cell witness rows returned false on main. Each one was traced to its cause:
evidence_full_value_is_order_independent (evidence_algebra) — production defect, enrolled expected-red in
floor_expected_redsince the row was written.fabric_cell_address_evidencekept the FIRST refusal cause, so the class was order-free while the payload (AddressUnreadable.cause) followed caller order. Fix: two refusals now join to the least cause (byte-lexicographic), which makes the join a semilattice. The row is retired fromfloor_expected_red.witness_observer_converged_probe_classifies_as_satisfied, unconsumed_probe_entries_refuse_rather_than_vanishing, unconsumed_refusals_are_order_independent, duplicate_unconsumed_probes_are_one_refusal (observe) — stale fixtures. #11625 (a6d1d2b) deliberately made srv3-07 the second fabric member. Its commit body says it carried the change into the other witnesses, but it missed these. srv3-07 was the "stray" slot in these rows. The converged row also probed only srv3-06, so srv3-07's readback showed up as unexpected. Fix: the converged row probes and expects every
fabric_cell_expected_slotsmember. The strays move to srv3-08/09.unconsumed_probe_refuses_the_populationwas also moved to srv3-08: it had been passing by a different route (unobserved srv3-07), not the one it exists to exercise.witness_acquire_observed_boundary_digest_equals_the_desired_spelling, observed_six_second_quota_matches_desired_threads (acquire) — stale fixtures. #11716 (6a3c9d5, operator ruling cores_per_slot = 1) made the fleet
cpu_quotaSlotCpuQuotaUnbounded, but these rows still hardcoded the host reading"6s". Fix: the converged reading now derives its quota spelling from the desired row (infinity). The six-second row now compares against a desired digest built with a resolved six-thread quota, so the span-versus-threads agreement it guards stays exercised.Evidence (claim_batch built from origin/main, every test fn in each file): acquire 20/20, evidence_algebra 6/6, observe 46/46, fabric_cell_converge 23/23, fabric_cell_effect 8/8. Every other direct importer of
gunbc.fabric_cell_convergeis green: fabric_cell_host_root 6/6, fleet_converge_launch_environment_scope 20/20, fleet_converge_plan 86/86, runner_microvm_attempt 6/6, runner_microvm_lifecycle 30/30, runner_microvm_slot_controller 14/14.🤖 Generated with Claude Code