Repository navigation
Refuse a product value at a kernel-scalar declared type (re-derives #13391) - #13706
Closed
gunbai-bot[bot] wants to merge 3 commits into
Closed
gunbai-bot[bot] wants to merge 3 commits into
gunbai-bot[bot] wants to merge 3 commits into
Conversation
…s declared (re-derives #13391) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… window fold seed typed, build_selection sensitivities, belt unit_properties spelled once, workspace release key unwrapped Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Oct 11, 2026
Merged
Contributor
Author
|
Superseded by #13742, reopened from the id-free branch census/product-at-scalar. Closed unmerged. |
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.
Re-derives gunbc#13391 (history only; its head is not a base) on current main.
What changed
src/v1/04_infer.dagproduct_at_scalar_declared_type: a product value where a kernel-scalar type, or a where-refinement of one (std.typesEpochMs), is declared now refuses withDeclaredTypeNotInhabited(RefusedProductAtScalar), blocking. It replaces the advisoryrecord_at_scalar_needs_identity(UndecidableProducedIdentityErased). Both heads come fromexpected_type_head_exposure, which is keyed on declaration identity, so the std.typesFilePath/ extdepsFilePathhomonym that made Enforce decidable application inhabitance arms #9706 decline is judged by declaration. The refined declared type is judged throughpeel_where_refinement_base. A produced where-refinement of a product stays opaque here and is owned byabsence_classifier_default_bucket. The return, local, data and field routes delegate to the same obligation emitter.v1_compiler_infer.rsregenerated withclaim_executor --required-regen.declared_type_product_at_kernel_scalar_formal_witness_testand the sealed-carrier-at-kernel claim are removed fromfloor_expected_redand stay as permanent regression controls; the direct-call test that required the advisory now requires the refusal. Failure-mode row and gap doc updated.Receipts
w_a_branded_product_refinement_at_an_unrelated_product_formal_still_refuses, is the enrolled expected-red ofabsence_classifier_default_bucket(a produced refinement of a product, not this arm).gunbc test //gunbc/instruments:self-hostexit 0 and//gunbc/instruments:v2-native-cliexit 0 at head 06bcaa2. srv1 was not reachable by ssh from this container (no identity), so both ran in this container (cgroup memory.max 24 GiB; no systemd-run).extdeps_ietf_http_semantics.rs, which this change does not touch and which I did not regenerate here.Known unexecuted
gunbc compile --repository gunbc --measured-root-demands tools/whole_corpus_compile_measured_root_demands.json --source-root dag --source-root src/v2 --dependency-pool-index primary-precedence --target dag --output-dir <empty dir>, seed built from this head). It printed1414 indexed modules outside the compile-clean closure enter the name census only (not compiled), finishedcompile.frontend(1 min) andcompile.normalize, then the process was killed with exit 137 (OOM; this container's cgroup memory.max is 24 GiB,oom_kill1). The committed projection's 16 GiB peak was measured on 2026-08-28 against a smaller tree. srv1 (the host the projection was measured on) is not reachable from this container, so I could not rerun with more memory..dagfiles under dag/ and src/v2/, the 1414 modules above are not compiled by this route even when it completes, and the remainder was not reached to the typecheck stage in the killed run. No site list exists, so no site is dispositioned beyond the evidence below.DeclaredTypeNotInhabitedwith reasonRefusedProductAtScalar, and disposition each.🤖 Generated with Claude Code
Whole-corpus census (srv1, head 06bcaa2 vs main a9be5ef)
gunbc compile --source-root dag --source-root src/v2 --repository gunbc --measured-root-demands tools/whole_corpus_compile_measured_root_demands.json --output-dir <empty dir>: 26m50s, 37.7 GB peak. Main 122 blocking errors, the head 126, exactly four new, none removed. Dispositions (fixed at the owning site, no suppression); each entry module recompiled here with 0 blocking errors:gunbc.durable_cas_file_storecas_window_max_generation: the fold seednonecarried no type so the accumulator was Unit; seed is now aCasGeneration?binding.gunbc.product.build_selectionentry_standingcall:sensitivitiestookno_missing(aList<AxisGap>) whereList<NonEmptyStr>is declared; no sensitivities is[](asstd.decisionpasses).gunbc.roadmap.roadmap_belt_actuateplacement record write:unit_propertiesisList<String>but receivedList<SystemdRunProperty>; now mapped through newextdeps.systemd.systemd_runsystemd_run_property_assignment, the one NAME=VALUE spelling, which the two--property=/-pprojection arms also use now (was inlined twice).gunbc.workspace_operator_requestrelease:idempotency_keytakesNonEmptyStr, was given theWorkspaceAllocationIdwrapper; nowid.value.Fix head 3dd8b9c. 1414 modules remain name-census only (declared above).
Census of refreshed head 89a5ee8 (run on srv1)
gunbc compile --source-root dag --source-root src/v2 --repository gunbc --measured-root-demands tools/whole_corpus_compile_measured_root_demands.json --output-dir <empty dir>: 122 blocking errors, the identical set to main 3ee2abc's 122. No error appears only on this head and none only on main, so the four fixed sites are clean and nothing new is introduced. The 1414 modules that stay name-census only are declared under Known unexecuted. Run: 26 min, 37.7 GB peak RSS, MemoryMax 96G, swap 0.Handoff (successor can continue from origin alone)
State: census confirmed identical to main on srv1 (122 errors); no stage0 drift on either tree; approvals present. Next: when told it is next, merge main once by merge commit, regen to fixed point, drift gate, rerun claims and both instruments, fresh review/witnesses, packet. Traps: same as #13699 (roster.dag deletion, StaleBinary, rebuild seed after last edit).