Skip to content
Merged
Changes from all commits
Commits
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
32 changes: 32 additions & 0 deletions src/v2/test/claim/long/symbol_index_scaling_receipt_test.dag
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
module v2.test.long.symbol_index_scaling_receipt

import v2.lens.complexity_accumulator_copy.roster_gate { file_gate, file_suspect_count }
import v2.std.logic { Bool }
import v2.std.text { String }
import v2.std.live_tree { LiveTreeDisposition, SubstrateInputsOnly }

data live_tree_disposition: LiveTreeDisposition = SubstrateInputsOnly

data symbol_index_fill_invocation_frequency_note: String = "INVOCATION FREQUENCY (traced 2026-07-13): namespace_for_subject is the sole callsite of symbol_index_fill_module_roots (03_name_resolve.dag:534). namespace_for_subject is called only from resolve_with_admission_policy (:569). That is called only from resolve_with_admission / resolve_with_admission_grounded, each forwarding default_name_resolution_policy(). Upstream: assemble_program_from_ingest / assemble_program_from_module_roots (ONE resolve per ingest assembly over all validated_roots), compile_ingest_with_admission / compile_source_root_ingest_with_admission (ONE resolve per compile entry), plus isolated claim tests. No per-module loop re-fills all roots: cost is O(N_total) per top-level resolve, NOT O(M·N_total). v1 CI floor (whole_tree_resolved_ctx) does NOT exercise this v2 fill path yet."

data symbol_index_fill_scaffold_note: String = "SCAFFOLD MARKERS (symbol_index_fill.dag:35-50): Scaffold→SingleAuthority dissolution rows on qualified_name_from_node / symbol_index_fill_containment_node. Flag authority-home debt, not a fill cost-shape defect."

data loyal_heron_empirical_receipt_note: String = "EMPIRICAL (v1 import-chain proxy, 2026-07-13 release): floor_scaling_curve_import_chain_sub_quadratic_receipt — ratio_100/50=2.79 ratio_200/100=2.82 ratio_400/200=3.09 ratio_800/400=3.68 (budget <4.0). Proxy for type-env ancestry on synthetic chains; v2 SymbolIndex fill not yet on the v1 floor path."

data complexity_lens_receipt_note: String = "COMPLEXITY LENS (2026-07-13): Poly2Suspect count is the discriminating gate (copied-accumulator / quadratic-fold). file_suspect_count==0 on symbol_index_fill.dag and 03_name_resolve.dag. Honest Unclassifiable refusals may remain (combiner_unregistered_carrier_reaches on fold_list/cons threading) — counted via file_refusal_count ratchets below, not Poly2."

test fn symbol_index_fill_zero_poly2_suspects_holds() -> Bool {
file_suspect_count(path: "src/v2/compiler/symbol_index_fill.dag") == 0
}

test fn name_resolve_fill_path_zero_poly2_suspects_holds() -> Bool {
file_suspect_count(path: "src/v2/compiler/03_name_resolve.dag") == 0
}

test fn symbol_index_fill_refusal_count_within_ratchet_holds() -> Bool {
file_gate(path: "src/v2/compiler/symbol_index_fill.dag", refusal_ceiling: 6)
}

test fn name_resolve_fill_path_refusal_count_within_ratchet_holds() -> Bool {
file_gate(path: "src/v2/compiler/03_name_resolve.dag", refusal_ceiling: 8)
}
Loading