Skip to content
Merged
Show file tree
Hide file tree
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
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ src/v1/stage0/src/v2_compiler_body_producer.rs !merge
src/v1/stage0/src/v2_compiler_compile.rs !merge
src/v1/stage0/src/v2_compiler_discovery_enumeration.rs !merge
src/v1/stage0/src/v2_compiler_infer.rs !merge
src/v1/stage0/src/v2_compiler_normalize.rs !merge
src/v1/stage0/src/v2_compiler_parse_engine_hooks.rs !merge
src/v1/stage0/src/v2_compiler_program_assembly.rs !merge
src/v1/stage0/src/v2_compiler_program_partition.rs !merge
Expand Down
2 changes: 1 addition & 1 deletion dag/gunbc/emit_subject_clean_frontier.dag
Original file line number Diff line number Diff line change
Expand Up @@ -1548,7 +1548,7 @@ fn observation_component_name(component: ObservationComponent) -> String {

fn assembly_mode_text(mode: EmissionAssemblyMode) -> String {
match mode {
SeedLinkedAssembly { std_bridge_dir: d } => concat("seed-linked:", d)
SeedLinkedAssembly => "seed-linked"
}
}

Expand Down
10 changes: 4 additions & 6 deletions dag/gunbc/instruments/emission_entry_instrument.dag
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import gunbc.whole_corpus_compile_admission { whole_corpus_compile_repository }
import gunbc.whole_corpus_compile_demand_projection { whole_corpus_compile_demand_projection_path }
import tools.host_prelude { witness_bin, witness_bin_ready, witness_bin_release_path }
import tools.self_host_curated_seed_linked_harness {
cssl_std_bridge_shims_rel,
cssl_v1_compiled_probe_lib_cargo_toml
}
import gunbc.emit_diagnostic_observation {
Expand Down Expand Up @@ -133,7 +132,7 @@ type WorkingTreeStanding
// The assembly step is a coproduct rather than a directory string so a second assembly mode becomes
// a variant here rather than an unlabelled path difference between two measurements.
type EmissionAssemblyMode
= SeedLinkedAssembly { std_bridge_dir: String }
= | SeedLinkedAssembly

// THE SUBJECT IS A SCOPE, NOT AN ENTRY STRING, AND THE REASON IS A MEASURED DEFECT RATHER THAN
// GENERALITY FOR ITS OWN SAKE. Three whole-corpus runs were taken on 2026-08-28 under
Expand Down Expand Up @@ -212,7 +211,7 @@ fn working_tree_standing_text(standing: WorkingTreeStanding) -> String {

fn emission_assembly_mode_text(mode: EmissionAssemblyMode) -> String {
match mode {
SeedLinkedAssembly { std_bridge_dir: d } => concat("seed-linked via ", d)
SeedLinkedAssembly => "seed-linked"
}
}

Expand Down Expand Up @@ -593,8 +592,7 @@ fn measure_cargo_half(
args: [
"--out-dir", out_dir,
"--entry-dag", assembly_entry,
"--root", root,
"--std-bridge-dir", cssl_std_bridge_shims_rel
"--root", root
]
)
if !assemble.success || !string_contains(s: assemble.stdout, pattern: "CSSL_ASSEMBLE: PASS") {
Expand Down Expand Up @@ -761,7 +759,7 @@ fn establish_subject(scope: EmissionScope, render_target: EmissionRenderTarget,
working_tree: if status.entries_nul == "" { WorkingTreeClean } else { WorkingTreeDirty },
compiler: compiler,
assembler: assembler,
assembly_mode: SeedLinkedAssembly { std_bridge_dir: cssl_std_bridge_shims_rel }
assembly_mode: SeedLinkedAssembly
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,48 +11,27 @@ import v2.std.collection { List }
// share. cli_run.rs's declared_source_ref scan is closure-wide (every file in a witness entry's
// transitive import closure), so a declared_source_refs list living in the shared roster would leak
// this selection axis onto all 16 entries; a dedicated per-entry module keeps the axis scoped to
// 03_normalize alone, matching the roster row's module_path/shim_lib_rel/shim_writes/driver_rel
// exactly.
// 03_normalize alone, matching the roster row's module_path/driver_rel exactly.

data sn_source_ref: SourceRef = source_ref_for_storage_path(path: "src/v2/compiler/03_normalize.dag")

data sn_shim_lib_ref: SourceRef = source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/lib.rs")

data sn_shim_driver_ref: SourceRef = source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/witness_main.rs")

// Hand-verified completeness (docs/plans/declared-source-ref-selection-design.md §5.1 flagship):
// every storage path this transport reads is listed in declared_source_refs — emitter .dag, shim
// lib, witness driver, and each curated shim write source. Widening opt-in past this row waits on
// effect_reach census join admission. The five shared-std shim writes (algebra, collection,
// diagnostic, node, integer) now resolve to dag/gunbc/instruments/self_host_std_bridge_shims/
// rather than this row's own shim dir (the de-fork: one bridge, not one copy per row), so the
// selection axis follows the file that actually drives the receipt — a declared ref pointing at a
// no-longer-consumed copy would read as covered while the real input went unselected.

// KNOWN INCOMPLETE, and NOT a read-completeness bug: declared_source_refs lists what this transport
// READS, so it does not list src/v2/std/*.dag — the authority the shared std bridge mirrors. A
// widening of v2.std.diagnostic therefore does not select this witness even though it can break it,
// which is exactly how the Locus struct-to-coproduct drift stayed invisible until a wet falsifier
// run days later. Closing it needs a correctness-dependency axis (authority -> mirror) distinct
// from the read axis; the shim-surface wall is the intended mechanism and the medium decision
// (char-fold lens vs seed bin vs declared surface rows) is open. Until then this gap is stated here
// rather than papered over by adding authority paths to a list whose contract is reads.
// every storage path this transport reads from the repository is listed -- the entry .dag and the
// witness driver. It used to list a shim lib and thirteen shim writes as well; those hand Rust
// copies were deleted when every row moved to whole-closure assembly
// (tools.self_host_curated_seed_linked_harness), so the receipt now builds only emitted bytes.

// KNOWN INCOMPLETE, and NOT a read-completeness bug: the emitted closure is derived from every
// .dag module 03_normalize imports (src/v2/std/*.dag among them), and none of those is listed, so a
// change to v2.std.diagnostic does not select this witness even though it can break it. The shim
// half of that gap is gone -- there is no hand mirror left to drift from its authority -- but the
// closure half remains: closing it needs a correctness-dependency axis (entry -> import closure)
// distinct from the read axis. Until then the gap is stated here rather than papered over by adding
// closure paths to a list whose contract is reads.

data declared_source_refs: List<SourceRef> = [
sn_source_ref,
sn_shim_lib_ref,
sn_shim_driver_ref,
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_std_bridge_shims/v2_std_algebra.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_std_bridge_shims/v2_std_collection.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/v2_std_grammar.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_std_bridge_shims/v2_std_diagnostic.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_std_bridge_shims/v2_std_node.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/v2_std_compilers_sugar.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/v2_compiler_body_lowering_fold.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/v2_compiler_normalized_tree.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/v2_extdeps_languages_dag.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/std_algebra.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/std_types.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_std_bridge_shims/v2_std_integer.rs"),
source_ref_for_storage_path(path: "dag/gunbc/instruments/self_host_03_normalize_shims/v2_compiler_namespace_graft.rs")
sn_shim_driver_ref
]
23 changes: 0 additions & 23 deletions dag/gunbc/instruments/self_host_03_normalize_shims/lib.rs

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading