Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
b10b070
Census type_reference_decl_file at class grain: 39 lines are 33 real …
briansrls Sep 2, 2026
82e7847
The prior-route finding is two separately-owned facts, not a hand-off…
briansrls Sep 2, 2026
8a03ddc
File three adjacent findings this census turned up, and correct a cit…
briansrls Sep 2, 2026
3fa6ba0
Consult the realization roster once at the mint and thread the answer…
briansrls Sep 2, 2026
75a100f
The census carrier's own type names collided corpus-wide and refused …
briansrls Sep 2, 2026
44d0175
Merge the census branch's name-collision fix into PR1
Sep 2, 2026
18ea835
Import the three mint symbols the Rust emitter uses, and drop two unu…
briansrls Sep 2, 2026
739c85a
Record the census's discharge without editing the measurement it took
briansrls Sep 2, 2026
f8693c6
Repair the malformed v1.std.core import in 04_infer
Sep 2, 2026
3f35c61
Re-aim the 14 citations the split retired, and supply the Realized gr…
Sep 2, 2026
0b5e110
Project the design-ledgers receipt the climb authored
Sep 2, 2026
b76460b
Merge origin/main (#10002 landed) into the split branch
Sep 2, 2026
c555462
Rename the colliding Refused variant, regenerate the 12 stale mirrors…
Sep 2, 2026
430677f
Thread the decision through the 32 hand-maintained seed test call sites
Sep 2, 2026
971fc92
wip-premerge
Sep 2, 2026
abf5db8
Merge green main; dissolve the kernel-minted predicate; model the non…
Sep 2, 2026
9d077b5
Merge current main; regenerate the projections over the merged author…
Sep 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 25 additions & 5 deletions dag/gunbc/bare_name_identity_consumer_census.dag
Original file line number Diff line number Diff line change
Expand Up @@ -95,15 +95,35 @@ type BareNameConsumer {
// live tree on 2026-08-22; the per-row method and the exact call-site lines are in
// docs/probes/bare-name-identity-consumer-census-2026-08-22.md. Rows are NOT ordered by severity --
// ordering a roster by an author's severity judgement is what lets a reader stop reading early.
// FIVE CITATIONS IN THIS ROSTER WERE RE-AIMED BY THE type_reference_decl_file SPLIT (2026-09-02),
// AND NO ROW'S FINDING CHANGED. That change replaced `decl_file: String` with the coproduct
// std.coercion TypeDeclarationProvenance, which deleted the declarations five rows below pointed
// at -- so the declaration index refused them as CITED-DECLARATION-ABSENT. The pointers now name
// the declarations that answer the same question; the retired spellings survive verbatim in the
// `keys_on`, `holder_expression` and `what_is_emitted` prose, because that prose describes source
// as it stood when the row was swept and rewriting it would falsify the observation.
//
// type_reference_decl_file -> v1.std.core type_reference_provenance
// decl_identity_file -> v1.std.core declaration_provenance_of
// decl_file_declares_structurally -> v1.compiler.coercion provenance_declares_structurally
// rust_seed_host_numeric_alias -> v1.compiler.coercion provenance_host_numeric_alias
// lookup_checkpoint -> v1.compiler.coercion type_reference_realization
//
// NO ROW BELOW WAS RE-JUDGED, AND NOTHING HERE CLAIMS A RUNG FOR THIS ROSTER'S SUBJECT. Each row's
// `site`, `keys_on`, `outcome` and `reach` describes a call site the split did not touch, so the
// re-aimed pointers are a citation repair and nothing else. What the split did and did not change
// about the rung of THESE sites is a claim about this roster's subject, which this roster's own
// lane owns; it is recorded in gunbc.type_reference_decl_file_occurrence_census, under the change
// that authored it, rather than asserted here by a lane that does not own this carrier.
data bare_name_identity_consumers: List<BareNameConsumer> = [
{
site: decl_ref(module_path: "v1.compiler.coercion", decl_name: "lookup_checkpoint"),
site: decl_ref(module_path: "v1.compiler.coercion", decl_name: "type_reference_realization"),
fact_sought: "which Rust type this dag type realizes as",
keys_on: "the bare dag_name against the extdeps checkpoint table, whenever decl_file is the empty string. A SECOND WAY THE SAME KEY MISSES, added 2026-08-22: the comparison against cp.dag_name is EXACT, so a QUALIFIED spelling cannot match a bare-keyed row at all -- the table is missed rather than mis-answered. crisp-crab-430 completed the leaf reduction that would close it, MEASURED IT, found it changed no emitted output anywhere but its own mirror, and REVERTED it rather than land an inert change inside a result narrative. Recorded here as a measured-inert repair rather than as an open item, because the next person to notice the exact comparison will otherwise re-derive and re-land it",
identity: AvailableUpstreamNotThreaded { nearest_holder: decl_ref(module_path: "v1.compiler.coercion", decl_name: "type_reference_decl_file") },
identity: AvailableUpstreamNotThreaded { nearest_holder: decl_ref(module_path: "v1.std.core", decl_name: "type_reference_provenance") },
outcome: SilentWrongProviderAnswer { what_is_emitted: "the table's spelling for the name, with the structural-declaration roster never consulted" },
reach: ReachedByMeasuredPopulation { measurement: "v1.compiler.emit emit_literal passes the empty string for every String literal; executed as literal_suffix_production_call_site_never_threads_declaration_identity in v1.tests.claim.checkpoint_identity_keying_witness_test" },
sibling: SiblingPresentButOrdered { sibling: decl_ref(module_path: "v1.compiler.coercion", decl_name: "decl_file_declares_structurally"), precedence: "the empty-string guard returns false before the roster is reached, so the roster runs only for callers that already threaded identity" },
sibling: SiblingPresentButOrdered { sibling: decl_ref(module_path: "v1.compiler.coercion", decl_name: "provenance_declares_structurally"), precedence: "the empty-string guard returns false before the roster is reached, so the roster runs only for callers that already threaded identity" },
call_site_count: 10,
},
{
Expand Down Expand Up @@ -140,7 +160,7 @@ data bare_name_identity_consumers: List<BareNameConsumer> = [
site: decl_ref(module_path: "v1.compiler.emit_rust", decl_name: "rust_opaque_kernel_alias_carrier"),
fact_sought: "which Rust carrier the opaque kernel names Json, Bytes and Symbol realize as",
keys_on: "a three-name equality on the bare name, then coerce_primitive_type with decl_file hardcoded to the empty string INSIDE the function",
identity: AvailableAtSite { holder_expression: "type_reference_decl_file(n: n), computed one line earlier in the same arm for rust_seed_host_numeric_alias", adjacent_consulting_call: decl_ref(module_path: "v1.compiler.coercion", decl_name: "rust_seed_host_numeric_alias") },
identity: AvailableAtSite { holder_expression: "type_reference_decl_file(n: n), computed one line earlier in the same arm for rust_seed_host_numeric_alias", adjacent_consulting_call: decl_ref(module_path: "v1.compiler.coercion", decl_name: "provenance_host_numeric_alias") },
outcome: SilentWrongProviderAnswer { what_is_emitted: "the kernel carrier spelling, for any declaration anywhere in the closure spelled Json, Bytes or Symbol" },
reach: ReachabilityUnmeasured { what_would_settle_it: "a second declaration spelled Json, Bytes or Symbol in an emitted closure; the three are named in checkpoint_table_bypasses_identity_note's seven-name population as NOT separately declared under src/v2, which bears on how likely reach is and does not establish it" },
sibling: SiblingPresentButOrdered { sibling: decl_ref(module_path: "v1.compiler.emit_rust", decl_name: "rust_scalar_checkpoint_grounding_base"), precedence: "at the two type-alias declaration arms the bare eligibility test is the FIRST branch and the identity-keyed grounding call is the ELSE, so the bare arm wins whenever it fires -- and the identity it would have needed is computed in that same else, as decl_identity_file(item: item)" },
Expand Down Expand Up @@ -180,7 +200,7 @@ data bare_name_identity_consumers: List<BareNameConsumer> = [
site: decl_ref(module_path: "v1.compiler.infer_emit_info", decl_name: "add_emit_item_summary"),
fact_sought: "the emit-time summary, declaration item and function item for a declared name",
keys_on: "the bare authored declaration name, inserted into three maps folded over EVERY module in the closure",
identity: AvailableAtSite { holder_expression: "decl_identity_file(item: item) -- the declaration node is the fold's own argument", adjacent_consulting_call: decl_ref(module_path: "v1.compiler.coercion", decl_name: "decl_identity_file") },
identity: AvailableAtSite { holder_expression: "decl_identity_file(item: item) -- the declaration node is the fold's own argument", adjacent_consulting_call: decl_ref(module_path: "v1.std.core", decl_name: "declaration_provenance_of") },
outcome: SilentWrongProviderAnswer { what_is_emitted: "last write wins in module fold order: two modules declaring one spelling collapse to one summary, and every consumer keyed on that map inherits the survivor. A CLAIM OF A SECOND FAILURE MODE WAS ADDED HERE AND IS WITHDRAWN IN THE SAME DAY, recorded rather than deleted because both this carrier and a peer receipt cited it. The claim was that a QUALIFIED construction site misses this bare key outright and the phantom-parameter lookup then emits nothing -- a missing answer rather than a wrong provider. IT IS FALSIFIED BY ITS OWN REPAIR: crisp-crab-430 leaf-reduced that lookup key, the exact move that fixed the shared_types row, and the emitted output did not change by one line (0 phantom lines emitted, 13 E0063, 382 total, all unchanged). A key that is not the defect does not repair when corrected. The operative discriminator is MODULE LOCALITY, not spelling: the lookup consults the MODULE-LOCAL type env, every failing type is exclusively FOREIGN-constructed (8, 1, 5, 2, 3, 3 foreign against 0 same-module), and the one type whose phantom fields do emit is overwhelmingly same-module (Measure, 48 same-module against 31 foreign). So that specimen is a missing answer from a DIFFERENT lookup and is not this map harm. WHAT THIS COSTS THIS CENSUS, stated because the failure is partly mine: the two-arm control this row cited -- 8 bare-spelled sites emitting _phantom 8 of 8 on main against 0 for the same 8 sites spelled qualified -- was run here and the OBSERVATION stands, but it does not isolate what I said it isolated. Main spelling came WITH AN IMPORT; the branch spelling came without one. Spelling and import CO-VARIED across my two arms, so a control I described as one spelling difference was two differences, and I read the one that matched the map I was already looking at" },
reach: ReachedByMeasuredPopulation { measurement: "build_emit_graph_info folds all modules into one map with no collision arm; this is the denominator the variant, shared-type and field-type rows above are computed from" },
sibling: NoSiblingExists { what_would_have_to_be_built: "a summary map keyed on declaration identity rather than spelling -- this is the row DESIGN section 5's construction move points at. QUALIFIED BY A LATER MEASUREMENT, RELAYED NOT RUN HERE: crisp-bat-769 measured the consumer partition over this map and reports that RE-KEYING ALONE REPAIRS ZERO of the twenty-three consumers, because the two columns do not intersect -- several consumers SCAN the whole map rather than looking one entry up, and a scan is not repaired by a key (crisp-crab-430, same finding from the resolver side, and derive_variant_to_enum above is one of them). So this row is still the construction move and is NOT a one-edit fix: an identity key is the necessary carrier, and each scanning consumer separately has to be taught that two entries sharing a spelling is the refusing case. An earlier revision of this field said the key would let several other rows DISSOLVE; that is the shape to aim at and it is not what the measurement found, so it is stated as the target rather than as the consequence. Relayed through deep-ant-102 and not independently verified by this census" },
Expand Down
Loading
Loading