Skip to content

Census: runner_browser_toolchain_converge_ci_wet does not select (unblocks every fleet plan) - #12618

Merged
gunbai-bot[bot] merged 1 commit into
mainfrom
session/jolly-owl-158-census
Sep 29, 2026
Merged

gunbai-bot[bot] merged 1 commit into
mainfrom
session/jolly-owl-158-census

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

Every fleet-converge plan on main refuses with CanonicalProtocolRefused — gunbc.host_convergence_protocol bind_canonical_protocol answered CensusProtocolUnbound. Examples are the srv1 plans in runs 36562381449 and 36563688759 at e0d0e01efb. This blocks every fleet deploy, including taking #12482 live.

Cause. #12500 added a gunbc.host_convergence_census row for gunbc.runner_browser_toolchain runner_browser_toolchain_converge_ci_wet with protocol_phases(true, true, …), which declares both selects and observes. admit_protocol_phases refuses that combination as SelectionLeakedIntoObservation, so bind_census_protocol_phases answers CensusSelectionLeaked for that row, and fleet_converge_plan_cli refuses to plan. A probe on main confirmed that exact row.

Fix. Set selects to false. The mode chooses no realization:

  • It admits a host into the pool derived from the floor job's runs-on labels (runner_browser_toolchain_host_admission); admits was already declared.
  • It observes superseded trees, reads back, and checks readiness.

Selection belongs to std.decision's row alone, which is the only other row declaring selects. The rest of #12500 is untouched.

Evidence, executed locally on main plus this fix:

  • The probe reports bind_census_protocol_phases → CensusPhasesBound and canonical_protocol_gate → CanonicalProtocolAdmitted. On main without the fix it reported CensusSelectionLeaked at this row.
  • test.claim.host_convergence_protocol_witness canonical_protocol_binds_with_apply_awaiting and production_gate_admits_the_canonical_protocol both return true.

witty-crane-254 (#12500's owner) is asked to review.

🤖 Generated with Claude Code

…ry fleet plan refused CensusProtocolUnbound)

gunbc#12500's census row declared selects AND observes, which admit_protocol_phases refuses as
SelectionLeakedIntoObservation, so bind_canonical_protocol answered CensusProtocolUnbound and
gunbc.fleet_converge_plan_cli refused every plan (runs 36562381449, 36563688759). The mode selects
no realization: it admits a host into the pool derived from the floor job's labels (admits),
observes superseded trees, reads back and checks readiness. Selection is std.decision's row alone.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Sep 29, 2026
Merged via the queue into main with commit cd97a9e Sep 29, 2026
5 checks passed
@gunbai-bot
gunbai-bot Bot deleted the session/jolly-owl-158-census branch September 29, 2026 13:39
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.

0 participants