Repository navigation
D13 cut (c) final-base census: restatement uses rows deleted, the rest retained at row identity - #12125
Conversation
…716b4c #11993 landed cut (c) with its in-flight population carried unmeasured. This closes that population at the landing base. Every authored `uses` row in the tree was enumerated, and every ordinary fn carrying one was resolved and its ItemInfo.service_names read. 181 rows: 167 had nonempty derived demand and are deleted under the unchanged criterion, with the std.resources imports they left dead. None had EMPTY demand, so no function flips from effectful to pure. The other 14 are retained at row identity: - 8 pattern declarations the criterion does not range over; - 5 ordinary fns in modules that refuse on pre-existing defects (gunbc.auth.patterns; gunbc.spark.v41_runtime_image_converge, a sole_constructor built outside its module); - 1 two-resource row in test.probe.census_app_acquisition_forged_probe, whose module refuses BY DESIGN. It gets a new trigger arm, ModuleIsARefusalProbe: the row leaves with the probe. Every changed module was re-resolved after the deletions. The empty roster of unmeasured modules and its accessor are deleted rather than rendered empty, and the D13 prose and EFFECTS-1 row say what the census established. Also, from the #11993 review conditions: the duplicate fabric_purpose_handover_registration_unobserved_stall import is removed, and ENCODING-0 defect (4) requires the DER constructed bit to refuse in both directions, with the two controls named. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…census-final # Conflicts: # dag/gunbc/machine_intake/mtcollins1_boot_run.dag
briansrls
left a comment
There was a problem hiding this comment.
HOLD at exact head ab51438e9b3796f7651839a0fcfd4c65ddaa0e91. The deletion set, duplicate-import cleanup, and two-direction DER obligation look structurally aligned, but the committed census authority has two grain defects that CI cannot repair.
-
The 181 / 167 / 14 arithmetic is clause-grain while the PR and carrier call it row-identity grain.
docs/plans/uses-occurrence-census.mddefines one authored row by(module file, declaration, alias, type). The retained carrier in this head contains 15DemandRestatementRetainedRowidentities: seven ordinary-function entries plus eight pattern entries. The forged probe alone contributes two distinct identities (net: Networkandfs: Filesystem), even though they share one syntacticusesclause. Yet the title, body, commit, anddemand_restatement_follow_upsay 14 retained rows and reconcile 181 = 167 + 14. Several deleted clauses also bind two aliases (net, fsornet, clock), so merely changing 14 to 15 would still leave 167 mislabeled as an identity-row count. Recompute and record the population at one grain: preferably exact total/deleted/retained identity counts, with retained = the roster's derived count; otherwise explicitly call 181/167/14 syntactic clause/declaration counts and separately reconcile the identity population. The current text cannot be true under USES-0's own identity definition. -
ModuleIsARefusalProbeis a disposition, not theRetainedRowTriggerit inhabits. Its renderer literally saystrigger: none while the probe stands, while the carrier immediately above says every retained row carries the trigger true for it. Model the intentional-refusal reason separately or make the arm name/render the actual lifecycle condition—e.g. the probe/declaration leaves the corpus (or a future criterion can inspect its demand without requiring the refusal probe to resolve). A field named trigger must not carry “no trigger.”
At review time GitHub had attached no check runs to this SHA. Green CI is still required after these authority repairs, but it would not discharge either source finding.
…mes the event Counts are now (module, declaration, alias, type) identities, not clauses: 194 clauses carry 220 identities; 208 deleted (nonempty derived demand, none empty); 12 retained, the length of the two lists. Main's merge brought 20 new clauses (mtcollins1_boot_diagnostic_bundle, mtcollins1_boot_run), all measured and deleted. v41_runtime_image_converge now resolves, so its 3 rows are measured and deleted instead of retained. ModuleIsARefusalProbe was a disposition, not a trigger; ProbeLeavesCorpus names the event that ends the retention. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
briansrls
left a comment
There was a problem hiding this comment.
REQUEST_CHANGES at exact head 3a746c41f6deb8a65ae641b218e17ae82b56d6f8.
The two findings from ab51438 are discharged:
- the census now distinguishes 194 clauses from 220 USES-0 identities and reconciles 208 deleted + 12 retained;
ProbeLeavesCorpusnames the event that ends the forged-probe retention, rather than calling the current refusal-probe disposition a trigger;v41_runtime_image_convergeis correctly reclassified after it became resolvable, and its three rows are deleted rather than retained.
Two remaining findings:
-
The durable authority still names the wrong evidence base.
gunbc.roadmap_authoritysays every authored row was measured “at the #11993 landing.” #11993 landed at4716b4c9954; this census is explicitly at834148a3177. Correct the EFFECTS-1 boundary to name the actual census base/range. In the same repair, rewrite the stale header ingunbc.plans.demand_restatement_follow_up: it still says the rows rostered below “arrived” over the range after the measured population was fixed. The unmeasured-arrival roster is gone, and the surviving rows are retained criterion exceptions, not a population that all arrived over that range. -
834148a3177is no longer the intended landing base, and main changed the measurement machinery itself. Current main isd759da1c50e8aa8c16346bf6f759fd5857eb40f9; #12116 changed resolve/census from first-refusal projection to an occurrence-complete failure-chain population. This PR’s deletion criterion is explicitly obtained by resolving modules and readingItemInfo.service_names, so the exact head does not yet establish the census under the resolver that will be on the landing tree. Merge the intended final base and rerun the census, or provide and commit an exact delta proof that the newer resolver and source delta leave every USES-0 identity/disposition unchanged. Update the recorded base/range and projections accordingly.
CI cannot discharge either authority/base issue. Return the frozen successor head after that remeasurement or delta proof; exact-head green gates are then the remaining condition.
Ledger-Repair-Judged: docs/design-rung-drops.md Heal-Candidate-Run: 35836873245
…ses onto a hermetic route with no ReadInterfaceFile arm Floor on 3a746c4 and 81696b3: every executed claim passed, and route_gap_unenrolled=10. Deleting the uses rows in test.manual.runner_microvm_lifecycle_wet_receipt made its wet tests changed witnesses. The floor plans those onto the hermetic route, and extdeps.linux.cgroup_v2 ReadInterfaceFile declares no mock_response, so all ten stopped before a verdict. The floor says enrolling them in v2.workflow.floor_route_gap records debt, not acceptance. So the module returns to main's bytes. Its 17 identities are measured deletable but retained under a new trigger, EditedWitnessHasNoHermeticRoute: ReadInterfaceFile gains a mock_response. Counts: 220 identities; 191 deleted, 29 retained. Also per review: the census base is d759da1 (main's resolver after #12116; the row set is identical to 834148a). The EFFECTS-1 row names the range tip rather than the #11993 landing, and the header calls the lists retained exceptions rather than arrivals. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…m/gunb-ai/gunbc into fierce-seal-607/uses-census-final
…eal-607/uses-census-final # Conflicts: # dag/gunbc/guarantee_stall/roster.dag
DESIGN 6: a measurement is cited by naming its producer, never by copying its numbers into prose. The census resolver has no entry point in the tree, so the counts could not be re-derived; they are this change's receipt (PR body and commit messages), not a fact of the module. The retained population is read off the lists. The annotation now states what the tree itself makes checkable: every authored uses row left is a retained identity or a new arrival. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Re review 70493. Fixed in 5ed63ea.
— sent from fierce-seal-607 |
Ledger-Repair-Judged: docs/design-rung-drops.md Heal-Candidate-Run: 35856055369
|
Re review 70525's risk note. Some functions lose
Collision to record, not a defect here: open #12047 adds — sent from fierce-seal-607 |
briansrls
left a comment
There was a problem hiding this comment.
REQUEST_CHANGES at exact head 78a51c4251e99cc07bbade92ac95be5e0cd3176d.
The prior findings are discharged: the census is re-measured at d759da1c50e with the post-#12116 resolver; the interval/header now describe the actual evidence base and retained exceptions; the merge with 3ba7f6c is resolved; ProbeLeavesCorpus is a real trigger; counts stay in the PR receipt; and exact-head compiler, clippy, floor, emit-build, and witnesses are green.
One authority inconsistency remains. The retained carrier correctly distinguishes 17 test.manual.runner_microvm_lifecycle_wet_receipt identities that are measured, have nonempty derived demand, and are deletable by the D13 criterion, but whose deletion cannot yet land because editing the module sends ten wet witnesses to a hermetic route with no ReadInterfaceFile realization. However:
gunbc.plans.demand_engine_programstill says the final census “deleted each one whose derived demand was nonempty” and then says “What remains are the rows the criterion cannot type,” even while its same sentence includes the measured-deletable wet witnesses.- The EFFECTS-1 roadmap boundary likewise says each nonempty-demand row was deleted and only rows the criterion cannot type were retained. Its “What remains open” also omits the
EditedWitnessHasNoHermeticRoutepopulation, which E2 does not retire.
Those statements erase the exact exception the retained-row carrier now models. Rewrite both authorities to partition the survivors without transcribing counts: (a) criterion-untyped identities retained with their triggers; and (b) nonempty, measured-deletable identities explicitly retained under EditedWitnessHasNoHermeticRoute until extdeps.linux.cgroup_v2.ReadInterfaceFile gains mock_response. State that all other nonempty-demand identities were deleted. Keep the numeric receipt in the PR body, regenerate the projections, and return the successor exact head.
The open #12047 collision is real but not a defect in this PR. After this lands, #12047 must derive call requirements from derived demand rather than treating absence of an authored restatement as absence of a requirement.
…rows blocked by the route gap The D13 paragraph, the EFFECTS-1 row and the follow-up annotation said every nonempty-demand identity was deleted and only untypeable rows remained, while the retained lists carry the 17 measured-deletable wet-witness identities under EditedWitnessHasNoHermeticRoute. All three now name that exception and the two kinds of retained row. EFFECTS-1's open work also names the route-blocked identities retiring when ReadInterfaceFile gains a mock_response, which E2 does not provide. No counts are copied into the prose. The projections are regenerated (generated_artifact_gate main_wet). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…eal-607/uses-census-final # Conflicts: # dag/gunbc/spark/v41_checkpoint_materialize.dag
…rows and move the census base Main restructured v41_checkpoint_materialize (taken whole) and brought three authored clauses: v41_group_a_ci_run, v41_checkpoint_materialize_ci_wet and v41_index_selection_ci_wet. Measured with the census built from this merged tree, all three have nonempty derived demand, so they are deleted. The range tip and the auth.patterns refusal are re-read at be3a2f2. Projections are regenerated. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
briansrls
left a comment
There was a problem hiding this comment.
REQUEST_CHANGES at exact head 8a2bce0e333e0c1f5e2165e4167b4272bb087c74.
The prior projection finding is substantially repaired: demand_engine_program and the EFFECTS-1 boundary now distinguish criterion-untyped rows from the measured-deletable EditedWitnessHasNoHermeticRoute population, and EFFECTS-1 correctly says E2 does not retire the route-blocked rows.
Two findings remain:
-
The recorded “final census base” is already behind the tree this PR would merge into, and the delta contains new authored
usesrows. This head records and is based throughbe3a2f28d42, while current main is4446f2e990ff2042fd3a5b8df3c3abddec6f2f47, four commits ahead. This is not a row-free delta: newgunbc.runner_microvm_network_observealone carries at least five new USES-0 identities (admin_read_outcome,read_privileged_over_admin_edge,runner_microvm_network_observe_wet,observe_bound_host_wet, andobserve_admitted_host_wet, eachuses net: Network). Nothing walls those arrivals out. Merge the intended landing base, run the census over the whole four-commit delta, delete/classify the new identities under the same criterion, update the receipt and range tip, regenerate, and return the successor head. A merge-queue tree containing those rows would otherwise falsify this PR’s “final-base census” claim on arrival. -
The census module’s opening description still collapses the two retained classes. It says the lists are “the identities the criterion cannot type at that base,” but the same lists intentionally contain 17 identities that the criterion did type as deletable and that are retained only because editing the witness module has no hermetic route. The later paragraph states the correct two-class model. Make the opening sentence agree: retained exceptions are either criterion-untyped identities or measured-deletable identities blocked by
EditedWitnessHasNoHermeticRoute.
At review time compiler, clippy, and emit-build were green; floor was still running and witnesses had not yet appeared. Those final gates remain required after the source/base repair.
…eal-607/uses-census-final
…ows; the header names both retained classes The delta after be3a2f2 brought five authored clauses, all in gunbc.runner_microvm_network_observe. Measured with the seed resolver (the delta changes only src/v2/compiler .dag, not the seed the census reads), all five have nonempty derived demand, so they are deleted and the module re-resolves. The range tip moves to 4446f2e. The opening annotation no longer calls every retained identity untypeable: each is either criterion-untyped or measured deletable and blocked by a named landing constraint. Projections are regenerated. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Superseded by exact-head review of 14ba4a7; the clause/identity grain and trigger findings were repaired.
briansrls
left a comment
There was a problem hiding this comment.
APPROVE-MERGE at exact head 14ba4a741f089297d3b856036f332ebbb604d421.
All prior findings are discharged. The census authority now partitions retained exceptions correctly; the recorded range tip is 4446f2e990f; the five gunbc.runner_microvm_network_observe identities introduced after the previous base are measured nonempty and deleted; the receipt reconciles 227 identities as 198 deleted plus 29 retained; and the duplicate-import and bidirectional DER obligations remain repaired.
Exact-head compiler, clippy, floor, emit-build, and witnesses are green. The current-main delta after 4446f2e consists of two row-free commits and does not change the seed resolver used by this census, so it does not reopen the population. Queue this PR; the merge-group gates remain the final integration check.
No remaining findings.
…nger declare uses fs on main Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…and drop the restatement uses clauses main's EFFECTS-1 cut removed The previous merge commit carried conflict markers in runner_microvm_lifecycle_realize.dag (my apply reported the conflict and the chained commit ran anyway). Resolved to -> TeardownPerformance with main's convention: main deleted every restatement uses clause in this module (#12125 / EFFECTS-1), so this branch's new run_cleanup_step, clean_attempt_resources and observe_guest_bring_up carry none either. Typechecks under main's compiler. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
#12011 landed its own job-edge roster (fleet_converge_job_edges / fleet_converge_job_needs(id:) / fleet_converge_jobs()), answering the question this branch's FleetConvergeJobKind roster answered. Main's landed first, so it is the one authority: the kind roster is deleted, mtcollins1-boot is a row of main's edge roster and a member of fleet_converge_jobs(), and every builder keeps main's id/needs form. workflow_dispatch witness takes main's claims plus the mtcollins1-boot job id. mtcollins1_boot_run takes #12125's uses cut. microvm-controller-install gains environment: none. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Follow-up to #11993, which landed at
885ad19before its last review conditions were done. This PR discharges them.The census (receipt; the counts live here, not in the tree)
4446f2e990f, the tip of the range recorded ingunbc.plans.demand_restatement_follow_up. The rows were measured with the seed resolver built from the merged tree atbe3a2f28d42. The rows present atd759da1c50ewere first measured with that base's resolver. Thebe3a2f28d42..4446f2e990fdelta changes only v2.dagcompiler sources, not the seed the census reads.usesclause is enumerated. Every ordinary fn that carries one is resolved, andItemInfo.service_namesis read.The 29 retained identities:
patterndeclarations, underCriterionDoesNotRangeOverPatterns.gunbc.auth.patterns, which refuses on a pre-existing type error. They carryModuleResolutionBlocked.test.probe.census_app_acquisition_forged_probe, which refuses by design. They carryProbeLeavesCorpus.test.manual.runner_microvm_lifecycle_wet_receipt. Each is measured deletable. But editing that module plans ten wet witnesses onto the hermetic route, which has noextdeps.linux.cgroup_v2ReadInterfaceFilearm: route gap, floor red. They carryEditedWitnessHasNoHermeticRoute, whose trigger is: ReadInterfaceFile gains a mock_response.Other notes:
gunbc.spark.v41_runtime_image_convergerefused at the first census base and resolves at this one, so its rows were measured and deleted.std.resourcesimports that the deletions left dead are removed.usesrow left is a retained identity or a new arrival.Also from the #11993 review conditions
fabric_purpose_handover_registration_unobserved_stallimport ingunbc.guarantee_stall.rosteris removed. The merge with The 2026-09-23 floor sizing receipt: uncensored at the 26 GiB row, the microVM shape resolves, the fit stall retires #12117, which retiredrunner_microvm_floor_fit_stall, is resolved.egress-encoding-0-cbor-der-landingdefect (4) requires the DER constructed bit to refuse in both directions, with a control for each.🤖 Generated with Claude Code