diff --git a/dag/gunbc/stage0_crate_layout_generated.dag b/dag/gunbc/stage0_crate_layout_generated.dag index dd06b213cad..7b8a96104d6 100644 --- a/dag/gunbc/stage0_crate_layout_generated.dag +++ b/dag/gunbc/stage0_crate_layout_generated.dag @@ -4,7 +4,7 @@ import std.types { List, String } data stage0_crate_layout_generated_note: String = "Generated by gunbc stage0_crate_layout_emit — do not hand-edit. Authority: v2.compiler.self_host.stage0_crate_layout; regen via dag/tools/generated_artifact_gate.dag main_wet." -data generated_pub_mod_block: String = "\n#[macro_use]\npub mod v1_interpreter_dispatch_generated;\npub mod v1_interpreter;\npub mod cli_run;\npub mod codex_app_server_stdio_session;\npub mod coproduct_reflection;\npub mod data_initializer_identity;\npub mod resolved_graph_cache;\npub mod shared_typecheck_store;\npub mod recorded_fixture;\npub mod derived_realization_schedule;\npub mod v1_compiler_expected_red_roster_join;\npub mod memory_governor;\npub mod module_path_index;\npub mod usv_pilot_v2_std_algebra;\npub mod usv_pilot_v2_std_collection;\npub mod usv_pilot_v2_std_node;\npub mod v2_compiler_resolve;\npub mod v2_compiler_program_partition;\npub mod v2_compiler_tokenize;\npub mod v2_compiler_infer;" +data generated_pub_mod_block: String = "\n#[macro_use]\npub mod v1_interpreter_dispatch_generated;\npub mod v1_interpreter;\npub mod cli_run;\npub mod codex_app_server_stdio_session;\npub mod coproduct_reflection;\npub mod data_initializer_identity;\npub mod resolved_graph_cache;\npub mod shared_typecheck_store;\npub mod recorded_fixture;\npub mod derived_realization_schedule;\npub mod v1_compiler_expected_red_roster_join;\npub mod memory_governor;\npub mod module_path_index;\npub mod v2_compiler_body_producer;\npub mod v2_compiler_normalize;\npub mod v2_compiler_target_carriers;\npub mod v2_compiler_discovery_enumeration;\npub mod v2_compiler_parse_engine_hooks;\npub mod v2_compiler_use_site_verdict;\npub mod v2_compiler_compile;\npub mod v2_compiler_program_assembly;\npub mod v2_compiler_source_authority;\npub mod usv_pilot_v2_std_algebra;\npub mod usv_pilot_v2_std_collection;\npub mod usv_pilot_v2_std_node;\npub mod v2_compiler_resolve;\npub mod v2_compiler_program_partition;\npub mod v2_compiler_tokenize;\npub mod v2_compiler_infer;" data generated_pub_mod_basenames: List = [ "v1_interpreter", @@ -19,6 +19,15 @@ data generated_pub_mod_basenames: List = [ "v1_compiler_expected_red_roster_join", "memory_governor", "module_path_index", + "v2_compiler_body_producer", + "v2_compiler_normalize", + "v2_compiler_target_carriers", + "v2_compiler_discovery_enumeration", + "v2_compiler_parse_engine_hooks", + "v2_compiler_use_site_verdict", + "v2_compiler_compile", + "v2_compiler_program_assembly", + "v2_compiler_source_authority", "usv_pilot_v2_std_algebra", "usv_pilot_v2_std_collection", "usv_pilot_v2_std_node", diff --git a/dag/gunbc/stage0_emit_plan_generated.dag b/dag/gunbc/stage0_emit_plan_generated.dag index f829fd9128c..0aff4604c04 100644 --- a/dag/gunbc/stage0_emit_plan_generated.dag +++ b/dag/gunbc/stage0_emit_plan_generated.dag @@ -2,7 +2,28 @@ module gunbc.stage0_emit_plan_generated import std.types { List, String } -data stage0_emit_plan_generated_note: String = "Generated projection — do not hand-edit. Authority: gunbc.stage0_emit_plan over parse-derived regen source identities. DECLARED SCAFFOLD supply; dissolve-on: generated_artifact_gate accepts v2.compiler.source_authority.ModuleStorageIndex, then the host supply deletes. Regen via dag/tools/generated_artifact_gate.dag main_wet." +// THIS PROJECTION HAS NO PRODUCER, and the note below asserted one until 2026-08-20. Its named +// authority `gunbc.stage0_emit_plan` is DELETED -- `gunbc.generated_projection_paths` records the +// deletion in its own header ("One source remains after the stage0_emit_plan deletion") -- and +// `gunbc.roster_registry` still registers this roster `ByDerivation` from that dead module. So +// "regenerate via generated_artifact_gate main_wet" is false: main_wet leaves this file untouched, +// which is why two rows here survived the disappearance of the thing they describe. +// +// THE TWO ROWS REMOVED. `gunbc_namespace_reference_derived_closure_{admission,contract}.rs` were +// listed here as generated stage0 files and declared in the seed's lib.rs, but their `.dag` +// authorities under dag/gunbc are no longer reachable from the src/v1 import closure, so the emit +// has not produced them for some time and no Rust in the crate referenced them. They were the last +// two names in `--required-regen`'s population refusal. The removal is verified rather than +// asserted: with the two files deleted, the emitted lib.rs and the committed lib.rs differ by +// exactly the two `pub mod` lines this change also deletes and by nothing else (measured, remote +// runner, this branch) -- so the committed seed converges ONTO its authority's output here. +// +// EDITING A GENERATED FILE BY HAND IS NORMALLY THE ONE UNHEALABLE DRIFT CLASS, and this is stated +// rather than quietly done: with the generator deleted, this file is de facto hand-maintained and +// has been since that deletion. The honest repair is to restore a producer or to reclassify the +// roster, and neither is this change's subject; what this change refuses to do is leave a roster +// naming files that do not exist so that regen keeps refusing. +data stage0_emit_plan_generated_note: String = "Projection of the stage0 emit plan. ITS PRODUCER gunbc.stage0_emit_plan IS DELETED, so it is hand-maintained in fact (see the block above); main_wet does not rewrite it. DECLARED SCAFFOLD supply; dissolve-on: generated_artifact_gate accepts v2.compiler.source_authority.ModuleStorageIndex, then the host supply deletes. Regen via dag/tools/generated_artifact_gate.dag main_wet." data generated_stage0_files: List = [ "compiler_tests.rs", @@ -30,8 +51,6 @@ data generated_stage0_files: List = [ "extdeps_uri_path.rs", "extdeps_version.rs", "extdeps_version_semver.rs", - "gunbc_namespace_reference_derived_closure_admission.rs", - "gunbc_namespace_reference_derived_closure_contract.rs", "gunbc_rust_decl_type_overlay.rs", "gunbc_stage0_crate_layout_generated.rs", "gunbc_stage0_crate_partition_generated.rs", @@ -162,8 +181,6 @@ data generated_stage0_paths: List = [ "src/v1/stage0/src/extdeps_uri_path.rs", "src/v1/stage0/src/extdeps_version.rs", "src/v1/stage0/src/extdeps_version_semver.rs", - "src/v1/stage0/src/gunbc_namespace_reference_derived_closure_admission.rs", - "src/v1/stage0/src/gunbc_namespace_reference_derived_closure_contract.rs", "src/v1/stage0/src/gunbc_rust_decl_type_overlay.rs", "src/v1/stage0/src/gunbc_stage0_crate_layout_generated.rs", "src/v1/stage0/src/gunbc_stage0_crate_partition_generated.rs", diff --git a/src/v1/stage0/src/gunbc_namespace_reference_derived_closure_admission.rs b/src/v1/stage0/src/gunbc_namespace_reference_derived_closure_admission.rs deleted file mode 100644 index b236402d5f3..00000000000 --- a/src/v1/stage0/src/gunbc_namespace_reference_derived_closure_admission.rs +++ /dev/null @@ -1,420 +0,0 @@ -// Generated by v1 compiler -- do not edit. -// Source module: gunbc.namespace_reference_derived_closure_admission - -use self::ReferenceDerivedClosureAdmission::*; -use self::ReferenceDerivedClosureCapability::*; -use self::ReferenceDerivedClosureScenarioFailure::*; -use self::ReferenceDerivedClosureTrigger::*; -pub use crate::std_algebra::FreeMonoid; -pub use crate::std_occurrence_binding::OccurrenceBindingResult; -use crate::std_occurrence_binding::OccurrenceBindingResult::{ - OccurrenceAmbiguous, OccurrenceBound, OccurrenceUnbound, -}; -pub use crate::std_occurrence_binding_resolve::OccurrenceReferenceBindingOutcome; -use crate::std_occurrence_binding_resolve::OccurrenceReferenceBindingOutcome::OccurrenceReferenceBindingDecided; -use crate::std_reference_binding_observation::ReferenceBindingObservation::{ - DistinctHomonymObservation, DistinctHomonymProductionRefused, LaterDeclarationObservation, - LaterDeclarationProductionRefused, RepeatedMentionDependencyObservation, - SameFileNeighbourObservation, SameFileNeighbourProductionRefused, SiblingBranchObservation, - SiblingBranchProductionRefused, UnrelatedLoadedFileObservation, -}; -use crate::std_reference_binding_observation::StructuralBindingResolution::StructuralBindingResolved; -pub use crate::std_reference_binding_observation::{ - ReferenceBindingObservation, StructuralBindingResolution, -}; -use crate::std_types::Bool::*; -pub use crate::std_types::{Bool, FilePath, List}; -use crate::v1_rt; -use crate::v1_rt::{VecCompat, VecJoin}; -use crate::NonEmptyBTreeSet; -use crate::NonEmptyVec; -use im::{vector as vec, HashMap, OrdSet as BTreeSet, Vector as Vec}; -use std::rc::Rc; - -#[derive( - Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize, -)] -#[serde(tag = "_variant")] -pub enum ReferenceDerivedClosureCapability { - SameFileEarlierNeighbourVisible, - SiblingDecisionBranchExcluded, - LaterDeclarationExcluded, - DistinctSameSpelledDeclarationsPreserved, - RepeatedMentionsCollapseDependency, - UnrelatedLoadedFileExcluded, -} - -#[derive( - Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize, -)] -#[serde(tag = "_variant")] -pub enum ReferenceDerivedClosureScenarioFailure { - SameFileNeighbourMissing, - SiblingBranchLeaked, - LaterDeclarationLeaked, - DistinctDeclarationCollapsed, - RepeatedMentionDuplicatedDependency, - UnrelatedLoadedFileDependencyLeaked, -} - -#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] -pub struct ReferenceDerivedClosureAcceptanceReceipt { - pub capability: ReferenceDerivedClosureCapability, -} - -#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] -#[serde(tag = "_variant")] -pub enum ReferenceDerivedClosureAdmission { - ReferenceDerivedClosureEstablished { - receipt: Rc, - }, - ReferenceDerivedClosureRefused { - capability: ReferenceDerivedClosureCapability, - failure: ReferenceDerivedClosureScenarioFailure, - }, - ReferenceDerivedClosureUnavailable { - capability: ReferenceDerivedClosureCapability, - trigger: ReferenceDerivedClosureTrigger, - }, -} - -#[derive( - Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize, -)] -#[serde(tag = "_variant")] -pub enum ReferenceDerivedClosureTrigger { - P2aStructuralCandidateProducer7515, - P2aReferenceDependencyProjection7515, - P2aPoolIndependentDependencyProjection7515, -} - -pub fn file_present(xs: Rc>, wanted: String) -> bool { - { - let mut __found = false; - for x in xs.clone().iter().cloned() { - if (x.clone() == wanted.clone()) { - __found = true; - break; - } - } - __found - } -} - -pub fn established( - capability: ReferenceDerivedClosureCapability, -) -> Rc { - Rc::new( - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureEstablished { - receipt: Rc::new(ReferenceDerivedClosureAcceptanceReceipt { - capability: capability.clone(), - }), - }, - ) -} - -pub fn refused( - capability: ReferenceDerivedClosureCapability, - failure: ReferenceDerivedClosureScenarioFailure, -) -> Rc { - Rc::new( - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureRefused { - capability: capability.clone(), - failure: failure.clone(), - }, - ) -} - -pub fn binding_outcome_from_resolution( - resolution: Rc, -) -> Option> { - match (*resolution.clone()).clone() { - StructuralBindingResolution::StructuralBindingResolved { - binding_outcome: binding_outcome, - .. - } => Some(binding_outcome.clone()), - _ => None, - } -} - -pub fn assess_reference_binding_observation( - observation: Rc, -) -> Rc { - match (*observation.clone()).clone() { - ReferenceBindingObservation::SameFileNeighbourProductionRefused { gap: _, .. } => refused( - ReferenceDerivedClosureCapability::SameFileEarlierNeighbourVisible, - ReferenceDerivedClosureScenarioFailure::SameFileNeighbourMissing, - ), - ReferenceBindingObservation::SameFileNeighbourObservation { - neighbour, - resolution, - .. - } => { - match binding_outcome_from_resolution(resolution.clone()) { - None => refused( - ReferenceDerivedClosureCapability::SameFileEarlierNeighbourVisible, - ReferenceDerivedClosureScenarioFailure::SameFileNeighbourMissing, - ), - Some(binding_outcome) => { - match (*binding_outcome.clone()).clone() { - OccurrenceReferenceBindingOutcome::OccurrenceReferenceBindingDecided { - ref result, - .. - } => { - let OccurrenceBindingResult::OccurrenceBound { - binding: binding, .. - } = result.as_ref() - else { - unreachable!() - }; - if (binding - .candidate - .clone() - .containment - .clone() - .terminal - .clone() - .value - .clone() - == neighbour.value.clone()) - { - established(ReferenceDerivedClosureCapability::SameFileEarlierNeighbourVisible) - } else { - refused(ReferenceDerivedClosureCapability::SameFileEarlierNeighbourVisible, ReferenceDerivedClosureScenarioFailure::SameFileNeighbourMissing) - } - } - _ => refused( - ReferenceDerivedClosureCapability::SameFileEarlierNeighbourVisible, - ReferenceDerivedClosureScenarioFailure::SameFileNeighbourMissing, - ), - } - } - } - } - ReferenceBindingObservation::SiblingBranchProductionRefused { gap: _, .. } => refused( - ReferenceDerivedClosureCapability::SiblingDecisionBranchExcluded, - ReferenceDerivedClosureScenarioFailure::SiblingBranchLeaked, - ), - ReferenceBindingObservation::SiblingBranchObservation { - own_branch_declaration, - sibling_branch_declaration, - resolution, - .. - } => { - match binding_outcome_from_resolution(resolution.clone()) { - None => refused( - ReferenceDerivedClosureCapability::SiblingDecisionBranchExcluded, - ReferenceDerivedClosureScenarioFailure::SiblingBranchLeaked, - ), - Some(binding_outcome) => { - match (*binding_outcome.clone()).clone() { - OccurrenceReferenceBindingOutcome::OccurrenceReferenceBindingDecided { - ref result, - .. - } => { - let OccurrenceBindingResult::OccurrenceBound { - binding: binding, .. - } = result.as_ref() - else { - unreachable!() - }; - if ((binding - .candidate - .clone() - .containment - .clone() - .terminal - .clone() - .value - .clone() - == own_branch_declaration.value.clone()) - && (binding - .candidate - .clone() - .containment - .clone() - .terminal - .clone() - .value - .clone() - != sibling_branch_declaration.value.clone())) - { - established(ReferenceDerivedClosureCapability::SiblingDecisionBranchExcluded) - } else { - refused(ReferenceDerivedClosureCapability::SiblingDecisionBranchExcluded, ReferenceDerivedClosureScenarioFailure::SiblingBranchLeaked) - } - } - _ => refused( - ReferenceDerivedClosureCapability::SiblingDecisionBranchExcluded, - ReferenceDerivedClosureScenarioFailure::SiblingBranchLeaked, - ), - } - } - } - } - ReferenceBindingObservation::LaterDeclarationProductionRefused { gap: _, .. } => refused( - ReferenceDerivedClosureCapability::LaterDeclarationExcluded, - ReferenceDerivedClosureScenarioFailure::LaterDeclarationLeaked, - ), - ReferenceBindingObservation::LaterDeclarationObservation { resolution, .. } => { - match binding_outcome_from_resolution(resolution.clone()) { - None => refused( - ReferenceDerivedClosureCapability::LaterDeclarationExcluded, - ReferenceDerivedClosureScenarioFailure::LaterDeclarationLeaked, - ), - Some(binding_outcome) => match (*binding_outcome.clone()).clone() { - OccurrenceReferenceBindingOutcome::OccurrenceReferenceBindingDecided { - ref result, - .. - } => { - let OccurrenceBindingResult::OccurrenceUnbound { occurrence: _, .. } = - result.as_ref() - else { - unreachable!() - }; - established(ReferenceDerivedClosureCapability::LaterDeclarationExcluded) - } - _ => refused( - ReferenceDerivedClosureCapability::LaterDeclarationExcluded, - ReferenceDerivedClosureScenarioFailure::LaterDeclarationLeaked, - ), - }, - } - } - ReferenceBindingObservation::DistinctHomonymProductionRefused { gap: _, .. } => refused( - ReferenceDerivedClosureCapability::DistinctSameSpelledDeclarationsPreserved, - ReferenceDerivedClosureScenarioFailure::DistinctDeclarationCollapsed, - ), - ReferenceBindingObservation::DistinctHomonymObservation { - first_declaration, - second_declaration, - resolution, - .. - } => match binding_outcome_from_resolution(resolution.clone()) { - None => refused( - ReferenceDerivedClosureCapability::DistinctSameSpelledDeclarationsPreserved, - ReferenceDerivedClosureScenarioFailure::DistinctDeclarationCollapsed, - ), - Some(binding_outcome) => match (*binding_outcome.clone()).clone() { - OccurrenceReferenceBindingOutcome::OccurrenceReferenceBindingDecided { - ref result, - .. - } => { - let OccurrenceBindingResult::OccurrenceAmbiguous { - candidates: candidates, - .. - } = result.as_ref() - else { - unreachable!() - }; - if ((({ - let __fm = candidates.rest.clone(); - if __fm.is_empty() { - true - } else { - false - } - } && (first_declaration.value.clone() - != second_declaration.value.clone())) - && (candidates - .first - .clone() - .containment - .clone() - .terminal - .clone() - .value - .clone() - == first_declaration.value.clone())) - && (candidates - .second - .clone() - .containment - .clone() - .terminal - .clone() - .value - .clone() - == second_declaration.value.clone())) - { - established(ReferenceDerivedClosureCapability::DistinctSameSpelledDeclarationsPreserved) - } else { - refused(ReferenceDerivedClosureCapability::DistinctSameSpelledDeclarationsPreserved, ReferenceDerivedClosureScenarioFailure::DistinctDeclarationCollapsed) - } - } - _ => refused( - ReferenceDerivedClosureCapability::DistinctSameSpelledDeclarationsPreserved, - ReferenceDerivedClosureScenarioFailure::DistinctDeclarationCollapsed, - ), - }, - }, - ReferenceBindingObservation::RepeatedMentionDependencyObservation { - provider_file, - projected_dependencies, - .. - } => { - if (((projected_dependencies.clone().len() as i64) == 1) - && file_present(projected_dependencies.clone(), provider_file.clone())) - { - established(ReferenceDerivedClosureCapability::RepeatedMentionsCollapseDependency) - } else { - refused( - ReferenceDerivedClosureCapability::RepeatedMentionsCollapseDependency, - ReferenceDerivedClosureScenarioFailure::RepeatedMentionDuplicatedDependency, - ) - } - } - ReferenceBindingObservation::UnrelatedLoadedFileObservation { - provider_file, - unrelated_loaded_file, - projected_dependencies, - .. - } => { - if ((((projected_dependencies.clone().len() as i64) == 1) - && file_present(projected_dependencies.clone(), provider_file.clone())) - && !file_present( - projected_dependencies.clone(), - unrelated_loaded_file.clone(), - )) - { - established(ReferenceDerivedClosureCapability::UnrelatedLoadedFileExcluded) - } else { - refused( - ReferenceDerivedClosureCapability::UnrelatedLoadedFileExcluded, - ReferenceDerivedClosureScenarioFailure::UnrelatedLoadedFileDependencyLeaked, - ) - } - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct SameFileEarlierNeighbourVisible; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct SiblingDecisionBranchExcluded; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct LaterDeclarationExcluded; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct DistinctSameSpelledDeclarationsPreserved; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct RepeatedMentionsCollapseDependency; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct UnrelatedLoadedFileExcluded; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct SameFileNeighbourMissing; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct SiblingBranchLeaked; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct LaterDeclarationLeaked; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct DistinctDeclarationCollapsed; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct RepeatedMentionDuplicatedDependency; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct UnrelatedLoadedFileDependencyLeaked; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct P2aStructuralCandidateProducer7515; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct P2aReferenceDependencyProjection7515; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct P2aPoolIndependentDependencyProjection7515; diff --git a/src/v1/stage0/src/gunbc_namespace_reference_derived_closure_contract.rs b/src/v1/stage0/src/gunbc_namespace_reference_derived_closure_contract.rs deleted file mode 100644 index 885e2220890..00000000000 --- a/src/v1/stage0/src/gunbc_namespace_reference_derived_closure_contract.rs +++ /dev/null @@ -1,159 +0,0 @@ -// Generated by v1 compiler -- do not edit. -// Source module: gunbc.namespace_reference_derived_closure_contract - -use im::{vector as vec, HashMap, OrdSet as BTreeSet, Vector as Vec}; -use crate::v1_rt::{VecCompat, VecJoin}; -use std::rc::Rc; -use crate::v1_rt; -use crate::NonEmptyVec; -use crate::NonEmptyBTreeSet; -pub use crate::gunbc_namespace_reference_derived_closure_admission::{ReferenceDerivedClosureAdmission, ReferenceDerivedClosureCapability, ReferenceDerivedClosureTrigger}; -use crate::gunbc_namespace_reference_derived_closure_admission::ReferenceDerivedClosureAdmission::{ReferenceDerivedClosureEstablished, ReferenceDerivedClosureRefused, ReferenceDerivedClosureUnavailable}; -use crate::gunbc_namespace_reference_derived_closure_admission::ReferenceDerivedClosureCapability::{RepeatedMentionsCollapseDependency, UnrelatedLoadedFileExcluded, SameFileEarlierNeighbourVisible, SiblingDecisionBranchExcluded, LaterDeclarationExcluded, DistinctSameSpelledDeclarationsPreserved}; -use crate::gunbc_namespace_reference_derived_closure_admission::ReferenceDerivedClosureTrigger::{P2aStructuralCandidateProducer7515, P2aReferenceDependencyProjection7515, P2aPoolIndependentDependencyProjection7515}; -pub use crate::std_types::{Bool, List}; -use crate::std_types::Bool::*; - -pub fn namespace_reference_derived_closure_contract_note() -> String { - thread_local! { - static CACHED: String = { - "THE CLOSING CONDITION for roadmap node namespace-reference-derived-closure, transcribed at the node's own six-clause grain. Each clause is a closed capability and is established only by assessing the corresponding typed production observation: an earlier same-file neighbour is visible; a sibling decision branch is excluded; a later declaration is excluded; two distinct same-spelled declaration identities both survive for the canonical ambiguity fold; repeated mentions project one provider-file dependency; and an unrelated loaded file never enters that projection. The first four observations carry the result of the MERGED P1 resolve_reference_occurrence_binding kernel, so the check cannot substitute a second none/one/many decision. Missing, refused, and explicitly unavailable evidence all remain in the derived frontier; duplicate admissions cannot erase a missing capability, and zero progress is red.\n\nThis module deliberately does NOT derive visibility or dependencies. namespace_reference_derived_closure_acceptance_admissions carries six typed unavailable rows today: structural visibility/order/ambiguity wait on the P2a candidate producer in #7515, dependency dedupe waits on its binding projection, and pool-independent closure waits on that projection's Class-B wall. The fixture witnesses construct observations to prove this fold discriminates, but the quarantined closing witness consumes only the production-admission function; copying fixture observations into it would be specification-without-execution and would not satisfy the contract.".to_string() - }; - } - CACHED.with(|c: &String| c.clone()) -} - -pub fn namespace_reference_derived_closure_contract_dissolution_note() -> String { - thread_local! { - static CACHED: String = { - "DISSOLVES BY GREENING, never deletion. The implementation adds production-derived observations to namespace_reference_derived_closure_acceptance_admissions as each clause becomes executable. When all six establish, the unchanged closing witness greens; its QuarantineProbeExpectRed exclusion and known-red roster entry delete in the same change, promoting it to the ordinary discovery corpus as the permanent regression wall.".to_string() - }; - } - CACHED.with(|c: &String| c.clone()) -} - -pub fn reference_derived_closure_required_capabilities( -) -> Rc> { - Rc::new(vec![ - ReferenceDerivedClosureCapability::SameFileEarlierNeighbourVisible, - ReferenceDerivedClosureCapability::SiblingDecisionBranchExcluded, - ReferenceDerivedClosureCapability::LaterDeclarationExcluded, - ReferenceDerivedClosureCapability::DistinctSameSpelledDeclarationsPreserved, - ReferenceDerivedClosureCapability::RepeatedMentionsCollapseDependency, - ReferenceDerivedClosureCapability::UnrelatedLoadedFileExcluded, - ]) -} - -pub fn reference_derived_closure_missing_capabilities( - admissions: Rc>>, -) -> Rc> { - Rc::new({ - let mut __result = Vec::new(); - for required in reference_derived_closure_required_capabilities() - .iter() - .cloned() - { - if (!{ - let mut __found = false; - for admission in admissions.clone().iter().cloned() { - if match (*admission.clone()).clone() { - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureEstablished { - receipt: receipt, - .. - } => (receipt.capability.clone() == required.clone()), - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureRefused { - .. - } => false, - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureUnavailable { - .. - } => false, - } { - __found = true; - break; - } - } - __found - } || { - let mut __found = false; - for admission in admissions.clone().iter().cloned() { - if match (*admission.clone()).clone() { - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureEstablished { - receipt: _, - .. - } => false, - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureRefused { - capability, - .. - } => (capability.clone() == required.clone()), - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureUnavailable { - capability, - .. - } => (capability.clone() == required.clone()), - } { - __found = true; - break; - } - } - __found - }) { - __result.push(required); - } - } - __result - }) -} - -pub fn reference_derived_closure_closing_frontier_count( - admissions: Rc>>, -) -> i64 { - (reference_derived_closure_missing_capabilities(admissions.clone()).len() as i64) -} - -pub fn reference_derived_closure_closing_contract_holds( - admissions: Rc>>, -) -> bool { - (reference_derived_closure_closing_frontier_count(admissions.clone()) == 0) -} - -pub fn namespace_reference_derived_closure_acceptance_admissions( -) -> Rc>> { - Rc::new(vec![ - Rc::new( - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureUnavailable { - capability: ReferenceDerivedClosureCapability::SameFileEarlierNeighbourVisible, - trigger: ReferenceDerivedClosureTrigger::P2aStructuralCandidateProducer7515, - }, - ), - Rc::new( - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureUnavailable { - capability: ReferenceDerivedClosureCapability::SiblingDecisionBranchExcluded, - trigger: ReferenceDerivedClosureTrigger::P2aStructuralCandidateProducer7515, - }, - ), - Rc::new( - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureUnavailable { - capability: ReferenceDerivedClosureCapability::LaterDeclarationExcluded, - trigger: ReferenceDerivedClosureTrigger::P2aStructuralCandidateProducer7515, - }, - ), - Rc::new( - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureUnavailable { - capability: - ReferenceDerivedClosureCapability::DistinctSameSpelledDeclarationsPreserved, - trigger: ReferenceDerivedClosureTrigger::P2aStructuralCandidateProducer7515, - }, - ), - Rc::new( - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureUnavailable { - capability: ReferenceDerivedClosureCapability::RepeatedMentionsCollapseDependency, - trigger: ReferenceDerivedClosureTrigger::P2aReferenceDependencyProjection7515, - }, - ), - Rc::new( - ReferenceDerivedClosureAdmission::ReferenceDerivedClosureUnavailable { - capability: ReferenceDerivedClosureCapability::UnrelatedLoadedFileExcluded, - trigger: ReferenceDerivedClosureTrigger::P2aPoolIndependentDependencyProjection7515, - }, - ), - ]) -} diff --git a/src/v1/stage0/src/lib.rs b/src/v1/stage0/src/lib.rs index 21bb0cc8ee8..27aab4a146f 100644 --- a/src/v1/stage0/src/lib.rs +++ b/src/v1/stage0/src/lib.rs @@ -39,8 +39,6 @@ pub mod extdeps_uri; pub mod extdeps_uri_path; pub mod extdeps_version; pub mod extdeps_version_semver; -pub mod gunbc_namespace_reference_derived_closure_admission; -pub mod gunbc_namespace_reference_derived_closure_contract; pub mod gunbc_rust_decl_type_overlay; pub mod gunbc_stage0_crate_layout_generated; pub mod gunbc_stage0_crate_partition_generated; diff --git a/src/v2/compiler/self_host/stage0_crate_layout.dag b/src/v2/compiler/self_host/stage0_crate_layout.dag index e19c4f4ebd6..081b706bedf 100644 --- a/src/v2/compiler/self_host/stage0_crate_layout.dag +++ b/src/v2/compiler/self_host/stage0_crate_layout.dag @@ -31,6 +31,30 @@ type SeedRetainedSupportDirRegistration { basename: String } +// NINE ROWS FLIPPED TO `has_pub_mod: true` (2026-08-20), AND THIS CORRECTS A CLAIM THE ROW BELOW +// MAKES. `pre_existing_hand_retained_registration_backfill_note` states that the Gate-A oracles are +// "never part of the stage0 crate's own mod tree at all" because the CSSL harness compiles them +// standalone. The first half is what the harness does; the second half does not follow, and the +// drivers say so directly: every `dag/tools/self_host_*_shims/witness_main.rs` opens with +// `use v1_compiler::v2_compiler_X as seed;` -- the SEED crate, reached as an ordinary cargo +// dependency of the generated `v1_compiled` crate. Their roster rows in +// `tools.self_host_module_behavioral_transport_roster` carry `shim_lib_rel: ""` and +// `shim_writes: []`, so the harness writes nothing into the seed crate that could supply that path, +// and `tools.self_host_curated_seed_linked_harness` `cssl_closure_assembly_note` says plainly that +// "seed lib.rs pub mod presence is external-oracle only" -- present, and read, on the oracle side. +// +// A module the seed crate does not declare cannot be imported from it, so those drivers do not +// compile, so no behavioral receipt over these modules can be green OR red. That is the shape +// DESIGN section 5 names specification-without-execution, one layer below the harness that was +// believed to be the blocker: the machinery exists, and the seed side of the comparison has no +// path to link against. +// +// WHAT THIS DOES NOT CLAIM. Declaring the modules is necessary, not sufficient, and it is not a +// receipt: nothing here has executed a behavioral transport. It is also a TWO-GENERATION change -- +// the emitted lib.rs takes its pub-mod block from the committed +// `gunbc_stage0_crate_layout_generated.rs`, which is itself one of the files +// `--required-regen` reports as drifted -- so these declarations reach the built crate when the +// seed is regenerated, not when this row merges. data seed_retained_intrinsic_registrations: List = [ SeedRetainedIntrinsicRegistration { basename: "v1_interpreter", has_pub_mod: true, is_dir: false }, SeedRetainedIntrinsicRegistration { basename: "bounded_shell_host_drain", has_pub_mod: false, is_dir: false }, @@ -50,17 +74,17 @@ data seed_retained_intrinsic_registrations: List