Skip to content

mtcollins1 one-socket runner offer from census meminfo (#13252 re-derived) - #13692

Merged
gunbai-bot[bot] merged 4 commits into
mainfrom
session/sunny-crab-860
Oct 10, 2026
Merged

gunbai-bot[bot] merged 4 commits into
mainfrom
session/sunny-crab-860

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Re-derives gunbc#13252 on current main: gunbc.ci_fleet mtcollins1_offer at the measured one-socket shape (one Q80-30-shaped processor, 80 threads; empty memory list), not enrolled in fleet_owned_compute_offer_catalog.
  • Adds gunbc.host_memory_observation census_meminfo_reading / host_usable_ram_from_capture / host_fixed_overhead_from_capture. Slot count is gunbc.runner_slot_allocation committed_width_of over that reading and gunbc.runner_slot_desired (22 GiB / 21 GiB / swap 0). Production gunbc_ci_host_usable_ram_for(mtcollins1) stays HostUsableRamUnmeasured until a wet census receipt exists.
  • gunbc.session_residency classifies mtcollins1 as SessionsOperatorDeclaredAbsent (operator ruling 2026-10-03). operator_declared_absent_host_count now walks session_residency_evidence_hosts so this override is in the census (review 4232891432 on mtcollins1 runner offer at measured one-socket shape + census meminfo reader #13252).
  • Renames ResourceUnread.SectionAbsent → ResourceSectionAbsent so the census reader can share a closure with HostCaptureSectionReading.SectionAbsent (resolver refuses duplicate variant names).

History, not a base: session/fierce-hawk-431-mtc1-offer / gunbc#13252 (closed in the v1 closeout). Floor-runner PRs #13211, #13288, #13640 were read only for host facts (one-socket 80 CPUs).

Deliberately not carried

  • RAM-backed tmpfs / HostWorkspaceStanding / WidthWorkspacePeakUnestablished / moving selected_slot (floor-runner qualification; dead after the v1 withdrawal). That also makes review 4232891418 (P1: filter qualification runs by full subject) inapplicable — those rows are not in this derivation.
  • Enrolment into fleet_intent_offers and a hand-copied MemTotal row. Width is derived from a supplied census receipt; a wet meminfo is still the enrolment trigger (operator-only census boot).
  • Stacked CPU-axis commits from CPU admission axis reads each host's offer, not one catalog row #13197: already on main.

Conformance

  • Fleet/compute: gunbc.ci_fleet ComputeOffer, gunbc.runner_slot_allocation committed_width_of, gunbc.runner_slot_desired.
  • Observability: census meminfo via host_capture_section_reading + observe_memory.
  • Leasing/sessions: gunbc.session_residency / gunbc.session_reservation_policy.
  • Every new declaration is consumed by test.claim.mtcollins1_runner_offer_witness and/or host_deployment_standing_given.

Evidence

  • claim_batch --source-root dag --source-root src/v2 --entry dag/test/claim/runner/mtcollins1_runner_offer_witness_test.dag --functions census_meminfo_receipt_reads_as_measured_usable_ram,census_meminfo_RED_non_reads_refuse_by_cause,mtcollins1_RED_nominal_dram_total_reaches_neither_offer_nor_reader,mtcollins1_offer_cpu_width_equals_the_measured_one_socket_reading,mtcollins1_RED_both_sockets_disagrees_with_the_measured_reading,mtcollins1_carries_no_sessions_and_owes_no_reservation,mtcollins1_production_usable_ram_is_unmeasured_until_the_census_receipt,mtcollins1_placement_accepts_the_offer_over_supplied_one_socket_facts,mtcollins1_RED_placement_refuses_until_usable_ram_is_measured,mtcollins1_derived_width_moves_with_the_census_meminfo_and_the_slot_row,census_meminfo_receipt_reads_as_measured_fixed_overhead — exit 0, all 11 PASS (local seed /tmp/cargo-target-sunny-crab-860/release/claim_batch).
  • claim_batch … --entry dag/test/claim/session_residency_witness_test.dag --functions managed_host_absence_is_declared_not_observed — exit 0, PASS.
  • claim_batch … --entry dag/test/claim/machine_intake/host_resource_observation_witness_test.dag --functions an_absent_section_is_distinct_from_an_unparsed_one — exit 0, PASS.

Operator-only (not done here): one-socket census boot on mtcollins1 whose meminfo receipt this reader will turn into the production RAM/overhead rows.

Test plan

  • Local claim_batch over the offer, residency census, and resource-unread rename
  • Required witnesses job on this PR

Made with Cursor

…ot a copied width.

The offer carries the measured 80-thread socket; usable RAM and overhead are read from a capture envelope; committed_width_of divides that envelope by gunbc.runner_slot_desired. Enrolment stays a frontier until a wet census receipt exists.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor Author

Review 78456 (dashboard Claude request-changes on 154a959): agreed. The Q80-30 catalog bind was a bet marked only in a comment, which DESIGN §4d and §4c both refuse. Head now carries mtcollins1_socket0_cpu_part_standing as TranscribedUncited with a census read obligation (model number and Hertz off socket 0), and mtcollins1_socket0_cpu_part_is_established is false until that standing is CitedToAuthority or ObservedByReceipt. Thread width stays the measured 80. Claim mtcollins1_socket0_cpu_part_is_a_typed_bet_not_a_deduced_catalog_row holds.

CpuFacts still requires a catalog row to inhabit ComputeHost.processors; the standing is the typed warrant for that row, not a second comment.

gunbc-ci-auto-heal and others added 3 commits October 10, 2026 19:47
…duced part.

The measured fact is 80 threads; model number and Hertz wait on a census read of socket 0 (review 78456).

Co-authored-by: Cursor <cursoragent@cursor.com>
…d_obligation.

Review 78464: the helper restated the canonical accessor and was only called from its witness.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor Author

Review 78464: deleted mtcollins1_socket0_cpu_part_is_established. The witness now asserts cited_figure_read_obligation(standing: mtcollins1_socket0_cpu_part_standing) is Present, which is the home accessor for TranscribedUncited.

@gunbai-bot

gunbai-bot Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor Author

Review 78456 (on 154a959): verified against current head 03c8794.

The finding was real on that commit: Q80-30 catalog + Hertz sat on mtcollins1_socket0_cpu with the bet only in a // block. Head now carries mtcollins1_socket0_cpu_part_standing as TranscribedUncited with a census read obligation (model number and Hertz off socket 0). cited_figure_read_obligation is Present; the witness mtcollins1_socket0_cpu_part_is_a_typed_bet_not_a_deduced_catalog_row asserts that. Width still uses compute_host_cpu_admitted_width → cpu_facts_threads (the measured 80). Hertz and model number are not an input to committed_width_of.

CpuFacts still requires a CpuModelCatalogRow; there is no lawful empty-frequency arm without forking that type. The catalog bind is the bet the standing types, not a deduced part. Enrolment stays out of fleet_owned_compute_offer_catalog until the census meminfo receipt and that standing is no longer TranscribedUncited, so priced selection cannot yet consume the Hertz as a fact.

Review 78471 approved this head after that change (and after deleting the extra boolean helper from review 78464).

— sent from sunny-crab-860

@gunbai-bot

gunbai-bot Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor Author

Review 78464 (on 2d59a77): verified against current head 03c8794.

The helper mtcollins1_socket0_cpu_part_is_established is gone (no remaining references in the tree). The witness mtcollins1_socket0_cpu_part_is_a_typed_bet_not_a_deduced_catalog_row asserts cited_figure_read_obligation(standing: mtcollins1_socket0_cpu_part_standing) is Present, which is the home accessor. That is commit 03c8794. Review 78471 approved this head after that deletion.

— sent from sunny-crab-860

@gunbai-bot

gunbai-bot Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor Author

Review 78471: the Hertz-as-fact caveat is the enrolment gate, not a leftover defect. mtcollins1_socket0_cpu_part_standing stays TranscribedUncited until the census reads the socket-0 model number; mtcollins1_offer stays out of fleet_owned_compute_offer_catalog until that standing is CitedToAuthority and the one-socket meminfo receipt exists. No CpuFacts fork in this PR — that type still requires a catalog row, and width already consumes only cpu_facts_threads (the measured 80).

— sent from sunny-crab-860

@gunbai-bot
gunbai-bot Bot merged commit fa11f3a into main Oct 10, 2026
1 check passed
@gunbai-bot
gunbai-bot Bot deleted the session/sunny-crab-860 branch October 10, 2026 20:44
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