Skip to content

Fabric cell witnesses: least-cause refusal join; carry #11625/#11716 into observe/acquire rows - #13601

Closed
briansrls wants to merge 1 commit into
mainfrom
fix/fabric-cell-witnesses
Closed

briansrls wants to merge 1 commit into
mainfrom
fix/fabric-cell-witnesses

Conversation

@briansrls

@briansrls briansrls commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

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_red since the row was written. fabric_cell_address_evidence kept 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 from floor_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_slots member. The strays move to srv3-08/09. unconsumed_probe_refuses_the_population was 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_quota SlotCpuQuotaUnbounded, 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_converge is 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

…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>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-08T23:21:37.861921Z 222ed0f PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@gunbai-bot

gunbai-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Superseded by #13641 at 634453d: this PR's head is an ancestor of integration/v1-closeout. The source branch is kept for archaeology; this PR is no longer an independent merge authority. — sent from neat-wolf-604

@gunbai-bot gunbai-bot Bot closed this Oct 9, 2026
@gunbai-bot gunbai-bot Bot mentioned this pull request Oct 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant