From 062239303bc6d5223d8d9befbce46d4d1a1b35d5 Mon Sep 17 00:00:00 2001 From: Shunichiro Nomura Date: Sun, 11 Oct 2026 10:09:55 +0900 Subject: [PATCH] refactor: preserve resolver source-path boundaries --- .../src/hir/expr_lower/resolve.rs | 50 +- .../src/hir/expr_lower/tests.rs | 66 ++ .../graphcal-compiler/src/resolve/lookup.rs | 36 +- crates/graphcal-compiler/src/resolve/mod.rs | 2 + .../src/resolve/source_path.rs | 20 + crates/graphcal-compiler/src/resolve/tests.rs | 54 ++ internals/codebase-reading-guide.md | 721 +++++++++--------- internals/pipeline-layers/role-map.toml | 5 + 8 files changed, 581 insertions(+), 373 deletions(-) create mode 100644 crates/graphcal-compiler/src/resolve/source_path.rs diff --git a/crates/graphcal-compiler/src/hir/expr_lower/resolve.rs b/crates/graphcal-compiler/src/hir/expr_lower/resolve.rs index 66a359317..28ca9b0ea 100644 --- a/crates/graphcal-compiler/src/hir/expr_lower/resolve.rs +++ b/crates/graphcal-compiler/src/hir/expr_lower/resolve.rs @@ -4,6 +4,7 @@ use crate::resolved_name::{ResolvedDeclName, ResolvedIndexVariant}; use crate::builtin::{BuiltinConst, BuiltinFn}; use crate::desugar::desugared_ast as ast; +use crate::resolve::SourcePathBoundary; use crate::resolve::category::{DeclSymbolKind, SymbolTable}; use crate::resolve::error::{ExpectedDeclKind, ModuleResolveError, NameCategory}; use crate::resolve::namespace::Namespace; @@ -56,6 +57,7 @@ struct SourceDeclTarget<'r> { symbol: Option>, /// Whether the path was bound by the owner's lexical binding table. bound: bool, + boundary: GraphRefBoundary, } /// The scope boundary a graph reference crosses. It decides which @@ -74,6 +76,13 @@ pub(super) enum GraphRefBoundary { } impl GraphRefBoundary { + const fn from_source(boundary: SourcePathBoundary) -> Self { + match boundary { + SourcePathBoundary::Local => Self::Local, + SourcePathBoundary::ThroughAlias(role) => Self::through_alias(role), + } + } + /// The boundary of a reference qualified by a module alias of `role`. pub(super) const fn through_alias(role: ModuleAliasRole) -> Self { match role { @@ -360,8 +369,9 @@ impl<'a> ExprLowerer<'a> { resolved, symbol: None, bound: true, + boundary: GraphRefBoundary::IncludedInstance, }; - self.check_graph_ref_boundary(target, GraphRefBoundary::IncludedInstance, *span) + self.check_graph_ref_boundary(target, *span) } } } @@ -375,6 +385,16 @@ impl<'a> ExprLowerer<'a> { let span = reference.span; let path = reference.value.to_name_path(); let target = self.resolve_source_decl(&path, span)?; + self.check_graph_ref_boundary(target, span) + } + + /// Only elaborated lexical bindings absent from the resolver need their + /// source boundary classified separately. + fn bound_source_graph_boundary( + &self, + path: &NamePath, + span: Span, + ) -> Result { let boundary = match path.qualifier().first() { None => GraphRefBoundary::Local, Some(head) => { @@ -398,13 +418,12 @@ impl<'a> ExprLowerer<'a> { } } }; - self.check_graph_ref_boundary(target, boundary, span) + Ok(boundary) } fn check_graph_ref_boundary( &self, target: SourceDeclTarget<'a>, - boundary: GraphRefBoundary, span: Span, ) -> Result, ExprLowerError> { let actual = match target @@ -417,7 +436,8 @@ impl<'a> ExprLowerer<'a> { None if target.bound => return Ok(Spanned::new(target.resolved, span)), None => return Err(unknown_decl(&target.resolved, span)), }; - boundary + target + .boundary .check(actual) .map_err(|expected| ExprLowerError::ModuleResolve { source: ModuleResolveError::UnexpectedDeclKind { @@ -443,20 +463,32 @@ impl<'a> ExprLowerer<'a> { .ctx .scope .resolver - .resolve_decl_path(self.ctx.scope.owner, path); + .resolve_source_decl_path(self.ctx.scope.owner, path); if let Some(resolved) = self.bound_decl(&name) { - let symbol = self.check_bound_source_access(path, lookup, &resolved, span)?; + let (symbol, boundary) = match lookup { + Ok(resolution) => ( + Some(resolution.symbol), + GraphRefBoundary::from_source(resolution.boundary), + ), + Err(source) => { + let symbol = + self.check_bound_source_access(path, Err(source), &resolved, span)?; + (symbol, self.bound_source_graph_boundary(path, span)?) + } + }; return Ok(SourceDeclTarget { resolved, symbol, bound: true, + boundary, }); } match lookup { - Ok(symbol) => Ok(SourceDeclTarget { - resolved: symbol.into_resolved(), - symbol: Some(symbol), + Ok(resolution) => Ok(SourceDeclTarget { + resolved: resolution.symbol.into_resolved(), + symbol: Some(resolution.symbol), bound: false, + boundary: GraphRefBoundary::from_source(resolution.boundary), }), Err(ModuleResolveError::UnknownName { .. }) => { Err(ExprLowerError::UnknownGraphRef { name, span }) diff --git a/crates/graphcal-compiler/src/hir/expr_lower/tests.rs b/crates/graphcal-compiler/src/hir/expr_lower/tests.rs index 1059393a6..efb0aafc4 100644 --- a/crates/graphcal-compiler/src/hir/expr_lower/tests.rs +++ b/crates/graphcal-compiler/src/hir/expr_lower/tests.rs @@ -863,6 +863,72 @@ fn include_output_ref_resolves_only_through_instance_bindings() { )); } +#[test] +fn source_graph_refs_keep_alias_rules_with_and_without_overlay_bindings() { + use crate::resolve::error::ExpectedDeclKind; + + let lib_id = DagId::root_in_package("test", "lib"); + let main_id = DagId::root_in_package("test", "main"); + let lib = desugared_source("pub node p: Dimensionless = 1.0;"); + let main = desugared_source( + "import lib as imported; + include lib() as included; + node local: Dimensionless = 0.0; + node imported_value: Dimensionless = @imported::p; + node included_value: Dimensionless = @included::p; + node imported_overlay: Dimensionless = @imported::generated; + node included_overlay: Dimensionless = @included::generated;", + ); + let resolver = resolver_with_import(&lib_id, &main_id, &lib, &main); + let scope = GenericScope::new(); + let time_zones = TimeZoneRegistry::bundled(); + let module = ModuleScope::new(&main_id, &resolver, &scope); + let no_units = HashMap::new(); + let no_templates = HashMap::new(); + let target = ResolvedDeclName::for_test(main_id.clone(), DeclName::expect_valid("local")); + let bindings = HashMap::from_iter(["imported", "included"].map(|alias| { + ( + ScopedName::in_scope( + crate::syntax::module_name::ModuleAliasName::expect_valid(alias), + DeclName::expect_valid("generated"), + ), + target.clone(), + ) + })); + + for (name, allowed) in [ + ("imported_value", false), + ("included_value", true), + ("imported_overlay", false), + ("included_overlay", true), + ] { + let result = lower_expr( + node_value(&main, name), + ExprLoweringContext::with_overlay( + module, + &time_zones, + BindingOverlay::Frozen(FrozenBindings { + unit_bindings: &no_units, + decl_bindings: &bindings, + instance_templates: &no_templates, + }), + ), + ); + match (allowed, result) { + (true, Ok(body)) => assert!(matches!(body.kind(), ExprKind::GraphRef(_))), + (false, Err(ExprLowerError::ModuleResolve { source, .. })) => assert!(matches!( + source, + ModuleResolveError::UnexpectedDeclKind { + expected: ExpectedDeclKind::InstanceIndependentConst, + actual: DeclSymbolKind::Node, + .. + } + )), + (_, result) => panic!("unexpected result for {name}: {result:?}"), + } + } +} + #[test] fn qualified_source_graph_ref_requires_a_module_alias() { let owner = DagId::root_in_package("test", "main"); diff --git a/crates/graphcal-compiler/src/resolve/lookup.rs b/crates/graphcal-compiler/src/resolve/lookup.rs index 90692d4d8..d9d259a93 100644 --- a/crates/graphcal-compiler/src/resolve/lookup.rs +++ b/crates/graphcal-compiler/src/resolve/lookup.rs @@ -18,7 +18,8 @@ use super::category::{DeclSymbolKind, SurfaceNameKind}; use super::error::{ExpectedDeclKind, ModuleResolveError, NameCategory}; use super::exports::{ExportedBinding, ExportedBindingTarget, ExportedImportItem}; use super::namespace::Namespace; -use super::scope::Access; +use super::scope::{Access, ModuleAliasRole}; +use super::source_path::{SourcePathBoundary, SourcePathResolution}; use super::symbols::{ConstructorSignature, GenericParamSignature, Symbol, SymbolRef}; use super::tables::NamespaceTables; use super::{ModuleEntry, ModuleResolver}; @@ -27,6 +28,7 @@ use super::{ModuleEntry, ModuleResolver}; struct ResolvedModuleQualifier { owner: DagId, access: Access, + role: ModuleAliasRole, } impl super::ModuleRef<'_> { @@ -177,6 +179,19 @@ impl ModuleResolver { self.resolve_symbol_path::(owner, path) } + /// Resolve a source declaration path without discarding its alias role. + /// + /// The role comes from the same alias lookup that enforces visibility; + /// consumers must not reconstruct it from the symbol's canonical owner. + pub(crate) fn resolve_source_decl_path( + &self, + owner: &DagId, + path: &NamePath, + ) -> Result, ModuleResolveError> { + self.resolve_symbol_path_with_boundary::(owner, path) + .map(|(symbol, boundary)| SourcePathResolution { symbol, boundary }) + } + /// Resolve a declaration path and require that it names a const declaration. pub(crate) fn resolve_const_decl_path( &self, @@ -523,14 +538,23 @@ impl ModuleResolver { owner: &DagId, path: &NamePath, ) -> Result, ModuleResolveError> { + self.resolve_symbol_path_with_boundary::(owner, path) + .map(|(symbol, _)| symbol) + } + + fn resolve_symbol_path_with_boundary( + &self, + owner: &DagId, + path: &NamePath, + ) -> Result<(SymbolRef<'_, Ns, Ns::Declared>, SourcePathBoundary), ModuleResolveError> { let Some((qualifier, leaf)) = path.qualifier_and_leaf() else { let atom = path.leaf(); let name = NameDef::::classify(atom.clone()); if let Some(symbol) = Ns::declared(self.module_symbols(owner)?).get(&name) { - return Ok(SymbolRef::new(symbol)); + return Ok((SymbolRef::new(symbol), SourcePathBoundary::Local)); } if let Some(imported) = Ns::selected(self.module_scope(owner)?).get(&name) { - return Ok(SymbolRef::new(imported)); + return Ok((SymbolRef::new(imported), SourcePathBoundary::Local)); } if let Some(actual) = self.visible_surface_kind(owner, Ns::NAMESPACE, atom, false)? { return Err(ModuleResolveError::WrongUniverseName { @@ -565,7 +589,10 @@ impl ModuleResolver { name: leaf.clone(), }); } - return Ok(SymbolRef::new(symbol)); + return Ok(( + SymbolRef::new(symbol), + SourcePathBoundary::ThroughAlias(target_ref.role), + )); } if let Some(actual) = @@ -660,6 +687,7 @@ impl ModuleResolver { Ok(ResolvedModuleQualifier { owner: target, access: alias_target.access, + role: alias_target.role(), }) } else { Err(ModuleResolveError::UnknownModule { owner: target }) diff --git a/crates/graphcal-compiler/src/resolve/mod.rs b/crates/graphcal-compiler/src/resolve/mod.rs index 625a3d9fd..e6a6eeece 100644 --- a/crates/graphcal-compiler/src/resolve/mod.rs +++ b/crates/graphcal-compiler/src/resolve/mod.rs @@ -44,6 +44,7 @@ pub mod prelude; mod projection; pub mod reserved_name; pub mod scope; +mod source_path; pub mod symbols; pub mod tables; #[cfg(test)] @@ -58,6 +59,7 @@ use self::error::ModuleResolveError; pub use self::module_table::ModuleHandle; use self::module_table::ModuleTable; use self::scope::{ModuleAliasRole, ModuleAliasTarget, ModuleScope, PluginAliasTarget}; +pub(crate) use self::source_path::SourcePathBoundary; use self::symbols::{ModuleSymbols, SymbolRef}; use self::tables::NamespaceTables; diff --git a/crates/graphcal-compiler/src/resolve/source_path.rs b/crates/graphcal-compiler/src/resolve/source_path.rs new file mode 100644 index 000000000..152e4690c --- /dev/null +++ b/crates/graphcal-compiler/src/resolve/source_path.rs @@ -0,0 +1,20 @@ +//! Facts preserved by a source declaration-path lookup. + +use crate::syntax::decl_name::DeclNameNamespace; + +use super::category::DeclSymbolKind; +use super::scope::ModuleAliasRole; +use super::symbols::SymbolRef; + +/// The source boundary used to reach a symbol, independent of its canonical owner. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum SourcePathBoundary { + Local, + ThroughAlias(ModuleAliasRole), +} + +/// A declaration lookup together with the boundary traversed by its source path. +pub struct SourcePathResolution<'r> { + pub symbol: SymbolRef<'r, DeclNameNamespace, DeclSymbolKind>, + pub boundary: SourcePathBoundary, +} diff --git a/crates/graphcal-compiler/src/resolve/tests.rs b/crates/graphcal-compiler/src/resolve/tests.rs index b7a2a323b..cb1837869 100644 --- a/crates/graphcal-compiler/src/resolve/tests.rs +++ b/crates/graphcal-compiler/src/resolve/tests.rs @@ -98,6 +98,60 @@ fn first_dag(file: &ast::File) -> &ast::DagDecl { .expect("source should contain a dag") } +#[test] +fn source_decl_resolution_preserves_local_and_alias_boundaries() { + use super::SourcePathBoundary; + use super::scope::ModuleAliasRole; + + let lib = desugared_source( + "pub const node C: Dimensionless = 1.0; + pub dag nested { pub node value: Dimensionless = 2.0; }", + ); + let main = desugared_source( + "import lib as imported; + import lib::{ C }; + include lib() as included; + node local: Dimensionless = 0.0;", + ); + let lib_id = DagId::root_in_package("test", "lib"); + let main_id = DagId::root_in_package("test", "main"); + let mut modules = TestModules::default(); + modules.add_file(&lib_id, &lib.declarations); + modules.add_file(&main_id, &main.declarations); + modules.edge(&main_id, &module_path(&["lib"]), &lib_id); + let resolver = modules.build().unwrap(); + + for (segments, boundary) in [ + (vec!["local"], SourcePathBoundary::Local), + // A selective import is local even though its canonical owner is lib. + (vec!["C"], SourcePathBoundary::Local), + ( + vec!["imported", "C"], + SourcePathBoundary::ThroughAlias(ModuleAliasRole::ImportedDag), + ), + ( + vec!["imported", "nested", "value"], + SourcePathBoundary::ThroughAlias(ModuleAliasRole::ImportedDag), + ), + ( + vec!["included", "C"], + SourcePathBoundary::ThroughAlias(ModuleAliasRole::IncludedInstance), + ), + ] { + let path = path(&segments); + let resolution = resolver.resolve_source_decl_path(&main_id, &path).unwrap(); + assert_eq!(resolution.boundary, boundary, "{path}"); + assert_eq!( + resolution.symbol.resolved(), + resolver + .resolve_decl_path(&main_id, &path) + .unwrap() + .resolved(), + "{path}" + ); + } +} + #[test] fn local_type_index_name_collision_is_rejected() { let owner = DagId::root_in_package("test", "main"); diff --git a/internals/codebase-reading-guide.md b/internals/codebase-reading-guide.md index 05b93f609..570084705 100644 --- a/internals/codebase-reading-guide.md +++ b/internals/codebase-reading-guide.md @@ -1895,369 +1895,370 @@ figure, static or live, is themed. 206. `crates/graphcal-compiler/src/tir/typed/substitution.rs` 207. `crates/graphcal-compiler/src/tir/typed/substitution/tests.rs` 208. `crates/graphcal-compiler/src/resolve/module_table.rs` -209. `crates/graphcal-compiler/src/resolve/mod.rs` -210. `crates/graphcal-compiler/src/resolve/builder.rs` -211. `crates/graphcal-compiler/src/resolve/imports.rs` -212. `crates/graphcal-compiler/src/resolve/lookup.rs` -213. `crates/graphcal-compiler/src/ir/static_dependencies.rs` -214. `crates/graphcal-compiler/src/ir/static_external_surface_formal_conformance.rs` -215. `crates/graphcal-compiler/src/resolve/tests.rs` -216. `crates/graphcal-compiler/src/hir/lower.rs` -217. `crates/graphcal-compiler/src/hir/expr_lower/context.rs` -218. `crates/graphcal-compiler/src/ir/model.rs` -219. `crates/graphcal-compiler/src/semantic_error/name.rs` -220. `crates/graphcal-compiler/src/semantic_error/rendered.rs` -221. `crates/graphcal-compiler/src/ir/include.rs` -222. `crates/graphcal-compiler/src/ir/resolve/mod.rs` -223. `crates/graphcal-compiler/src/ir/resolve/formal_conformance.rs` -224. `crates/graphcal-compiler/src/tir/typed/model.rs` -225. `crates/graphcal-compiler/src/tir/schedule.rs` -226. `crates/graphcal-compiler/src/tir/typed/module_type_context.rs` -227. `crates/graphcal-compiler/src/tir/typed/declaration_view.rs` -228. `crates/graphcal-compiler/src/hir/expr_lower/error.rs` -229. `crates/graphcal-compiler/src/hir/expr_lower/lowerer.rs` -230. `crates/graphcal-compiler/src/hir/expr_lower/tolerant.rs` -231. `crates/graphcal-compiler/src/hir/expr_lower/resolve.rs` -232. `crates/graphcal-compiler/src/hir/expr_lower/lower.rs` -233. `crates/graphcal-compiler/src/ir/node_definition.rs` -234. `crates/graphcal-compiler/src/hir/expr_lower/call.rs` -235. `crates/graphcal-compiler/src/hir/expr_lower/tests.rs` -236. `crates/graphcal-compiler/src/tir/dim_check/builtins.rs` -237. `crates/graphcal-compiler/src/hir/diagnostics.rs` -238. `crates/graphcal-compiler/src/hir/nominal_lower.rs` -239. `crates/graphcal-compiler/src/hir/mod.rs` -240. `crates/graphcal-compiler/src/tir/dim_check/helpers.rs` -241. `crates/graphcal-compiler/src/tir/typed/type_expr.rs` -242. `crates/graphcal-compiler/src/tir/typed/complete_substitution.rs` -243. `crates/graphcal-compiler/src/syntax/nat_eval.rs` -244. `crates/graphcal-compiler/src/resolve/projection.rs` -245. `crates/graphcal-compiler/src/ir/static_definitions.rs` -246. `crates/graphcal-compiler/src/ir/extern_fns.rs` -247. `crates/graphcal-compiler/src/ir/lower.rs` -248. `crates/graphcal-compiler/src/ir/extern_fns/tests.rs` -249. `crates/graphcal-compiler/src/ir/freeze.rs` -250. `crates/graphcal-compiler/src/tir/texpr/label_dispatch.rs` -251. `crates/graphcal-compiler/src/tir/texpr/model.rs` -252. `crates/graphcal-compiler/src/tir/texpr/map.rs` -253. `crates/graphcal-compiler/src/tir/texpr/assembly.rs` -254. `crates/graphcal-compiler/src/tir/texpr/checked_bodies.rs` -255. `crates/graphcal-compiler/src/tir/texpr.rs` -256. `crates/graphcal-compiler/src/tir/texpr/tests.rs` -257. `crates/graphcal-compiler/src/tir/typed/checked_dag.rs` -258. `crates/graphcal-compiler/src/tir/typed/dag_store.rs` -259. `crates/graphcal-compiler/src/tir/typed/body_scope.rs` -260. `crates/graphcal-compiler/src/tir/typed/scoped_node.rs` -261. `crates/graphcal-compiler/src/tir/typed/dag_slots.rs` -262. `crates/graphcal-compiler/src/tir/typed/instance_graph.rs` -263. `crates/graphcal-compiler/src/tir/typed/program.rs` -264. `crates/graphcal-compiler/src/tir/typed/override_dependencies.rs` -265. `crates/graphcal-compiler/src/tir/dim_check/infer/mod.rs` -266. `crates/graphcal-compiler/src/tir/typed/checked.rs` -267. `crates/graphcal-compiler/src/tir/typed/checked_instance.rs` -268. `crates/graphcal-compiler/src/tir/dim_check/schedules.rs` -269. `crates/graphcal-compiler/src/tir/typed/evaluation_unit.rs` -270. `crates/graphcal-compiler/src/tir/typed/freeze.rs` -271. `crates/graphcal-compiler/src/tir/typed/checking_tir.rs` -272. `crates/graphcal-compiler/src/tir/dim_check/infer/rules.rs` -273. `crates/graphcal-compiler/src/tir/typed/collect.rs` -274. `crates/graphcal-compiler/src/tir/dim_check/generic_substitution.rs` -275. `crates/graphcal-compiler/src/tir/dim_check/expression_axes.rs` -276. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/observations.rs` -277. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/context.rs` -278. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/generics.rs` -279. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/calls.rs` -280. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/conversion_calls.rs` -281. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/extern_call.rs` -282. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/mod.rs` -283. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/operators.rs` -284. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/recurrence.rs` -285. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/override_deps.rs` -286. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/indexing.rs` -287. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/map_literal.rs` -288. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/match_expr.rs` -289. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/nominal.rs` -290. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/refs.rs` -291. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/dispatch.rs` -292. `crates/graphcal-compiler/src/tir/typed.rs` -293. `crates/graphcal-compiler/src/tir/typed/tests.rs` -294. `crates/graphcal-compiler/src/tir/typed/specialization.rs` -295. `crates/graphcal-compiler/src/tir/dim_check/body_specialization.rs` -296. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/dag_call.rs` -297. `crates/graphcal-compiler/src/tir/dim_check/concrete_obligations.rs` -298. `crates/graphcal-compiler/src/tir/dim_check/model_schema.rs` -299. `crates/graphcal-compiler/src/tir/dim_check/mod.rs` -300. `crates/graphcal-compiler/src/tir/dim_check/plot.rs` -301. `crates/graphcal-compiler/src/tir/dim_check/template_closure.rs` -302. `crates/graphcal-compiler/src/tir/dim_check/instance_bodies.rs` -303. `crates/graphcal-compiler/src/tir/dim_check/presentation.rs` -304. `crates/graphcal-compiler/src/ir/resolve/tests.rs` -305. `crates/graphcal-compiler/src/tir/dim_check/tests.rs` -306. `crates/graphcal-compiler/src/display/module_paths.rs` -307. `crates/graphcal-compiler/src/display/source_display_names.rs` -308. `crates/graphcal-io/src/atomic_write.rs` -309. `crates/graphcal-io/src/limits.rs` -310. `crates/graphcal-io/src/reader.rs` -311. `crates/graphcal-io/src/virtual_path.rs` -312. `crates/graphcal-io/src/real_fs.rs` -313. `crates/graphcal-io/src/in_memory_fs.rs` -314. `crates/graphcal-io/src/source_tree.rs` -315. `crates/graphcal-io/src/ingestion.rs` -316. `crates/graphcal-io/src/overlay_fs.rs` -317. `crates/graphcal-io/src/lib.rs` -318. `crates/graphcal-package/src/lib.rs` -319. `crates/graphcal-plugin-abi/src/constants.rs` -320. `crates/graphcal-plugin-abi/src/section.rs` -321. `crates/graphcal-plugin-abi/src/manifest.rs` -322. `crates/graphcal-plugin-abi/src/lib.rs` -323. `crates/graphcal-plugin-macros/src/lib.rs` -324. `crates/graphcal-plugin-macros/src/dims.rs` -325. `crates/graphcal-plugin-macros/src/parse.rs` -326. `crates/graphcal-plugin-macros/src/lower.rs` -327. `crates/graphcal-plugin-macros/src/manifest.rs` -328. `crates/graphcal-plugin-macros/src/codegen.rs` -329. `crates/graphcal-plugin/src/lib.rs` -330. `crates/graphcal-eval/src/eval_expr/numeric.rs` -331. `crates/graphcal-eval/src/eval_expr/datetime.rs` -332. `crates/graphcal-eval/src/lib.rs` -333. `crates/graphcal-eval/src/domain_constraint.rs` -334. `crates/graphcal-eval/src/pipeline_metrics.rs` -335. `crates/graphcal-eval/src/invariant.rs` -336. `crates/graphcal-eval/src/runtime_value/indexed.rs` -337. `crates/graphcal-eval/src/presentation_evidence.rs` -338. `crates/graphcal-eval/src/runtime_value.rs` -339. `crates/graphcal-eval/src/runtime_value/dense_array.rs` -340. `crates/graphcal-eval/src/domain_check.rs` -341. `crates/graphcal-eval/src/runtime_presentation.rs` -342. `crates/graphcal-eval/src/eval/bindings.rs` -343. `crates/graphcal-eval/src/constant_pools.rs` -344. `crates/graphcal-eval/src/checked_program.rs` -345. `crates/graphcal-eval/src/execution_plan.rs` -346. `crates/graphcal-eval/src/static_incompleteness.rs` -347. `crates/graphcal-eval/src/execution_frame.rs` -348. `crates/graphcal-eval/src/eval_expr/work_budget.rs` -349. `crates/graphcal-eval/src/eval_expr/conversions.rs` -350. `crates/graphcal-eval/src/eval_expr/complex.rs` -351. `crates/graphcal-eval/src/eval_expr/aggregations.rs` -352. `crates/graphcal-eval/src/eval_expr/linear_algebra_lu.rs` -353. `crates/graphcal-eval/src/test_tir.rs` -354. `crates/graphcal-eval/src/host_abi/scalar.rs` -355. `crates/graphcal-eval/src/host_abi/argument.rs` -356. `crates/graphcal-eval/src/host_fns.rs` -357. `crates/graphcal-eval/src/host_abi.rs` -358. `crates/graphcal-eval/src/host_abi/marshal.rs` -359. `crates/graphcal-eval/src/eval/output_decl_name.rs` -360. `crates/graphcal-eval/src/eval/plot_unavailable.rs` -361. `crates/graphcal-eval/src/eval/types.rs` -362. `crates/graphcal-eval/src/assertion_eval.rs` -363. `crates/graphcal-eval/src/eval/runtime/root_names.rs` -364. `crates/graphcal-eval/src/eval/public_projection.rs` -365. `crates/graphcal-eval/src/eval/plot_data.rs` -366. `crates/graphcal-eval/src/eval/runtime/dependency_failures.rs` -367. `crates/graphcal-eval/src/eval/runtime/evaluated_root.rs` -368. `crates/graphcal-eval/src/eval_expr/linear_algebra_error.rs` -369. `crates/graphcal-eval/src/eval_expr/runtime_failure.rs` -370. `crates/graphcal-eval/src/deferred_field_checks.rs` -371. `crates/graphcal-eval/src/eval_expr/context.rs` -372. `crates/graphcal-eval/src/eval_expr/arithmetic.rs` -373. `crates/graphcal-eval/src/eval_expr/linear_algebra.rs` -374. `crates/graphcal-eval/src/eval_expr/operations.rs` -375. `crates/graphcal-eval/src/eval_expr/unit_scale.rs` -376. `crates/graphcal-eval/src/eval_expr/presentation.rs` -377. `crates/graphcal-eval/src/eval_expr/hir_eval.rs` -378. `crates/graphcal-eval/src/eval_expr/mod.rs` -379. `crates/graphcal-eval/src/eval/runtime/assertions.rs` -380. `crates/graphcal-eval/src/eval/runtime/plots.rs` -381. `crates/graphcal-eval/src/eval/runtime/value_entries.rs` -382. `crates/graphcal-eval/src/eval/runtime/root_loop.rs` -383. `crates/graphcal-eval/src/eval/runtime/root_outcome.rs` -384. `crates/graphcal-eval/src/eval/runtime.rs` -385. `crates/graphcal-eval/src/eval/mod.rs` -386. `crates/graphcal-eval/src/execution_check/const_eval.rs` -387. `crates/graphcal-eval/src/execution_check/domain_resolve.rs` -388. `crates/graphcal-eval/src/execution_check.rs` -389. `crates/graphcal-eval/src/exec_plan.rs` -390. `crates/graphcal-eval/src/eval/runtime/plots/tests.rs` -391. `crates/graphcal-eval/src/interpreter_tests.rs` -392. `crates/graphcal-project/src/dependency_ordered.rs` -393. `crates/graphcal-project/src/import_surface.rs` -394. `crates/graphcal-project/src/lib.rs` -395. `crates/graphcal-project/src/loader/module_path.rs` -396. `crates/graphcal-project/src/loader/loaded_file.rs` -397. `crates/graphcal-project/src/loader/inline_dags.rs` -398. `crates/graphcal-project/src/package_cache.rs` -399. `crates/graphcal-project/src/package_snapshot.rs` (capture and authenticate sources plus declared Wasm artifacts) -400. `crates/graphcal-project/src/package_sources.rs` (explicit native-cache versus isolated embedded dependency authority) -401. `crates/graphcal-project/src/prepare/model_schema.rs` -402. `crates/graphcal-project/src/project_bundle.rs` (bounded portable artifacts and virtual mounting; consumed by report assembly and browser preparation) -403. `crates/graphcal-project/src/prepare/output.rs` -404. `crates/graphcal-project/src/project_compiler/template.rs` -405. `crates/graphcal-project/src/tests/exec_plan.rs` -406. `crates/graphcal-project/src/loader/budget_violation.rs` -407. `crates/graphcal-project/src/project_compiler/including_module.rs` -408. `crates/graphcal-project/src/binding_error.rs` -409. `crates/graphcal-project/src/load_error.rs` -410. `crates/graphcal-project/src/compile_error.rs` -411. `crates/graphcal-project/src/loader/loaded_project.rs` -412. `crates/graphcal-project/src/project_compiler/binding_values.rs` -413. `crates/graphcal-project/src/project_compiler/entry_interface.rs` -414. `crates/graphcal-project/src/project_compiler/checked_project.rs` -415. `crates/graphcal-project/src/project_compiler/module_resolve_errors.rs` -416. `crates/graphcal-project/src/loader/budget.rs` -417. `crates/graphcal-project/src/loader/source_snapshot.rs` -418. `crates/graphcal-project/src/loader/build.rs` -419. `crates/graphcal-project/src/loader/build/tests.rs` -420. `crates/graphcal-project/src/loader/source_authority.rs` -421. `crates/graphcal-project/src/loader.rs` -422. `crates/graphcal-project/src/loader/loaded_module_resolver.rs` -423. `crates/graphcal-project/src/inline_dag.rs` -424. `crates/graphcal-project/src/project_compiler/include_static_bindings.rs` -425. `crates/graphcal-project/src/project_compiler/model.rs` -426. `crates/graphcal-project/src/project_compiler/hir_project.rs` -427. `crates/graphcal-project/src/project_compiler/generic_leakage.rs` -428. `crates/graphcal-project/src/project_compiler/generic_leakage/tests.rs` -429. `crates/graphcal-project/src/project_compiler/imports.rs` -430. `crates/graphcal-project/src/project_compiler/imports/tests.rs` -431. `crates/graphcal-project/src/project_compiler/lowering.rs` -432. `crates/graphcal-project/src/project_compiler/checking.rs` -433. `crates/graphcal-project/src/project_compiler/pipeline.rs` -434. `crates/graphcal-project/src/project_compiler/session.rs` -435. `crates/graphcal-project/src/prepare/prepared.rs` -436. `crates/graphcal-project/src/prepare/mod.rs` -437. `crates/graphcal-project/src/loader/tests.rs` -438. `crates/graphcal-project/src/prepare/binding_compile.rs` -439. `crates/graphcal-project/src/prepare/tenax_model.rs` -440. `crates/graphcal-project/src/project_compiler/mod.rs` -441. `crates/graphcal-project/src/tests/sealed_program.rs` -442. `crates/graphcal-report/src/lib.rs` -443. `crates/graphcal-report/src/escape.rs` -444. `crates/graphcal-report/src/vega_assets.rs` -445. `crates/graphcal-report/src/report_hydrate.rs` -446. `crates/graphcal-report/src/vega.rs` -447. `crates/graphcal-report/src/plot_page.rs` -448. `crates/graphcal-report/src/value_display.rs` -449. `crates/graphcal-report/src/report_ir.rs` -450. `crates/graphcal-report/src/report_html.rs` -451. `crates/graphcal-report/src/report_markdown.rs` -452. `crates/graphcal-test-support/src/lib.rs` -453. `crates/graphcal-test-support/src/project.rs` -454. `crates/graphcal-test-support/src/bytes.rs` -455. `crates/graphcal-tenax/src/lib.rs` -456. `crates/graphcal-wasm/src/project.rs` -457. `crates/graphcal-wasm/src/output.rs` -458. `crates/graphcal-wasm/src/js_request.rs` -459. `crates/graphcal-wasm/src/bindings.rs` -460. `crates/graphcal-wasm/src/diagnostics.rs` -461. `crates/graphcal-wasm/src/browser_report.rs` -462. `crates/graphcal-wasm/src/one_shot.rs` -463. `crates/graphcal-plugin-host/src/cache.rs` -464. `crates/graphcal-plugin-host/src/convert.rs` -465. `crates/graphcal-plugin-host/src/limits.rs` -466. `crates/graphcal-plugin-host/src/module.rs` -467. `crates/graphcal-plugin-host/src/host.rs` -468. `crates/graphcal-plugin-host/src/registry.rs` -469. `crates/graphcal-wasm/src/prepared.rs` -470. `crates/graphcal-wasm/src/lib.rs` -471. `crates/graphcal-plugin-host/src/lib.rs` -472. `crates/graphcal-fmt/src/lib.rs` -473. `crates/graphcal-fmt/src/format/doc.rs` -474. `crates/graphcal-fmt/src/format/formatter.rs` -475. `crates/graphcal-fmt/src/format/unit_dim.rs` -476. `crates/graphcal-fmt/src/format/expr.rs` -477. `crates/graphcal-fmt/src/format/decl.rs` -478. `crates/graphcal-fmt/src/format/mod.rs` -479. `crates/graphcal-lsp/src/lib.rs` -480. `crates/graphcal-lsp/src/convert.rs` -481. `crates/graphcal-lsp/src/cursor_context.rs` -482. `crates/graphcal-lsp/src/symbol_identity.rs` -483. `crates/graphcal-lsp/src/nominal_type_index.rs` -484. `crates/graphcal-lsp/src/symbol_table.rs` -485. `crates/graphcal-lsp/src/project_symbols.rs` -486. `crates/graphcal-lsp/src/formatting.rs` -487. `crates/graphcal-lsp/src/workspace_revision.rs` -488. `crates/graphcal-lsp/src/analysis_schedule_state.rs` -489. `crates/graphcal-lsp/src/formatting_scheduler.rs` -490. `crates/graphcal-lsp/src/client_capabilities.rs` -491. `crates/graphcal-lsp/src/filesystem_events.rs` -492. `crates/graphcal-lsp/src/file_identity.rs` -493. `crates/graphcal-lsp/src/fn_signatures.rs` -494. `crates/graphcal-lsp/src/imported_definitions.rs` -495. `crates/graphcal-lsp/src/analysis.rs` -496. `crates/graphcal-lsp/src/resolve.rs` -497. `crates/graphcal-lsp/src/signature_help.rs` -498. `crates/graphcal-lsp/src/inlay_hints.rs` -499. `crates/graphcal-lsp/src/document_symbols.rs` -500. `crates/graphcal-lsp/src/document_links.rs` -501. `crates/graphcal-lsp/src/goto_definition.rs` -502. `crates/graphcal-lsp/src/references.rs` -503. `crates/graphcal-lsp/src/hover.rs` -504. `crates/graphcal-lsp/src/value_format.rs` -505. `crates/graphcal-cli/src/lib.rs` -506. `crates/graphcal-compiler/src/semantic_error/tests.rs` -507. `crates/graphcal-project/src/tests.rs` -508. `crates/graphcal-project/src/graph_ir/mod.rs` -509. `crates/graphcal-project/src/graph_ir/dot.rs` -510. `crates/graphcal-project/src/tests/checked_expressions.rs` -511. `crates/graphcal-project/src/tests/presentation_evidence.rs` -512. `crates/graphcal-lsp/src/diagnostics.rs` -513. `crates/graphcal-lsp/src/code_actions.rs` -514. `crates/graphcal-lsp/src/analysis_pipeline.rs` -515. `crates/graphcal-lsp/src/completion.rs` -516. `crates/graphcal-lsp/src/rename.rs` -517. `crates/graphcal-lsp/src/server.rs` -518. `crates/graphcal-lsp/src/protocol_tests.rs` -519. `crates/graphcal-cli/src/display.rs` -520. `crates/graphcal-cli/src/format.rs` -521. `crates/graphcal-cli/src/json_input.rs` -522. `crates/graphcal-cli/src/overrides.rs` -523. `crates/graphcal-cli/src/main.rs` -524. `crates/graphcal-cli/src/report.rs` -525. `crates/graphcal-cli/src/model.rs` -526. `crates/graphcal-cli/src/dump.rs` -527. `crates/graphcal-cli/src/deps.rs` -528. Build-time shell (explicit path modules, curated beyond the heuristic): +209. `crates/graphcal-compiler/src/ir/model.rs` +210. `crates/graphcal-compiler/src/semantic_error/name.rs` +211. `crates/graphcal-compiler/src/semantic_error/rendered.rs` +212. `crates/graphcal-compiler/src/tir/typed/model.rs` +213. `crates/graphcal-compiler/src/tir/schedule.rs` +214. `crates/graphcal-compiler/src/tir/typed/declaration_view.rs` +215. `crates/graphcal-compiler/src/tir/dim_check/builtins.rs` +216. `crates/graphcal-compiler/src/tir/dim_check/helpers.rs` +217. `crates/graphcal-compiler/src/tir/typed/complete_substitution.rs` +218. `crates/graphcal-compiler/src/syntax/nat_eval.rs` +219. `crates/graphcal-compiler/src/tir/texpr/label_dispatch.rs` +220. `crates/graphcal-compiler/src/tir/texpr/model.rs` +221. `crates/graphcal-compiler/src/tir/texpr/map.rs` +222. `crates/graphcal-compiler/src/tir/texpr/assembly.rs` +223. `crates/graphcal-compiler/src/tir/texpr/checked_bodies.rs` +224. `crates/graphcal-compiler/src/tir/texpr.rs` +225. `crates/graphcal-compiler/src/tir/texpr/tests.rs` +226. `crates/graphcal-compiler/src/tir/typed/checked_dag.rs` +227. `crates/graphcal-compiler/src/tir/typed/dag_store.rs` +228. `crates/graphcal-compiler/src/tir/typed/body_scope.rs` +229. `crates/graphcal-compiler/src/tir/typed/scoped_node.rs` +230. `crates/graphcal-compiler/src/tir/typed/dag_slots.rs` +231. `crates/graphcal-compiler/src/tir/typed/instance_graph.rs` +232. `crates/graphcal-compiler/src/tir/typed/program.rs` +233. `crates/graphcal-compiler/src/tir/typed/override_dependencies.rs` +234. `crates/graphcal-compiler/src/tir/dim_check/infer/mod.rs` +235. `crates/graphcal-compiler/src/tir/typed/checked.rs` +236. `crates/graphcal-compiler/src/tir/typed/checked_instance.rs` +237. `crates/graphcal-compiler/src/tir/dim_check/schedules.rs` +238. `crates/graphcal-compiler/src/tir/typed/evaluation_unit.rs` +239. `crates/graphcal-compiler/src/tir/typed/freeze.rs` +240. `crates/graphcal-compiler/src/tir/typed/checking_tir.rs` +241. `crates/graphcal-compiler/src/tir/dim_check/infer/rules.rs` +242. `crates/graphcal-compiler/src/tir/dim_check/generic_substitution.rs` +243. `crates/graphcal-compiler/src/tir/dim_check/expression_axes.rs` +244. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/observations.rs` +245. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/context.rs` +246. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/generics.rs` +247. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/calls.rs` +248. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/conversion_calls.rs` +249. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/extern_call.rs` +250. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/mod.rs` +251. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/operators.rs` +252. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/recurrence.rs` +253. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/override_deps.rs` +254. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/indexing.rs` +255. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/map_literal.rs` +256. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/match_expr.rs` +257. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/nominal.rs` +258. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/refs.rs` +259. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/dispatch.rs` +260. `crates/graphcal-compiler/src/display/module_paths.rs` +261. `crates/graphcal-compiler/src/display/source_display_names.rs` +262. `crates/graphcal-compiler/src/resolve/source_path.rs` +263. `crates/graphcal-compiler/src/resolve/mod.rs` +264. `crates/graphcal-compiler/src/resolve/builder.rs` +265. `crates/graphcal-compiler/src/resolve/imports.rs` +266. `crates/graphcal-compiler/src/resolve/lookup.rs` +267. `crates/graphcal-compiler/src/ir/static_dependencies.rs` +268. `crates/graphcal-compiler/src/ir/static_external_surface_formal_conformance.rs` +269. `crates/graphcal-compiler/src/resolve/tests.rs` +270. `crates/graphcal-compiler/src/hir/lower.rs` +271. `crates/graphcal-compiler/src/hir/expr_lower/context.rs` +272. `crates/graphcal-compiler/src/ir/include.rs` +273. `crates/graphcal-compiler/src/ir/resolve/mod.rs` +274. `crates/graphcal-compiler/src/ir/resolve/formal_conformance.rs` +275. `crates/graphcal-compiler/src/tir/typed/module_type_context.rs` +276. `crates/graphcal-compiler/src/hir/expr_lower/error.rs` +277. `crates/graphcal-compiler/src/hir/expr_lower/lowerer.rs` +278. `crates/graphcal-compiler/src/hir/expr_lower/tolerant.rs` +279. `crates/graphcal-compiler/src/hir/expr_lower/resolve.rs` +280. `crates/graphcal-compiler/src/hir/expr_lower/lower.rs` +281. `crates/graphcal-compiler/src/ir/node_definition.rs` +282. `crates/graphcal-compiler/src/hir/expr_lower/call.rs` +283. `crates/graphcal-compiler/src/hir/expr_lower/tests.rs` +284. `crates/graphcal-compiler/src/hir/diagnostics.rs` +285. `crates/graphcal-compiler/src/hir/nominal_lower.rs` +286. `crates/graphcal-compiler/src/hir/mod.rs` +287. `crates/graphcal-compiler/src/tir/typed/type_expr.rs` +288. `crates/graphcal-compiler/src/resolve/projection.rs` +289. `crates/graphcal-compiler/src/ir/static_definitions.rs` +290. `crates/graphcal-compiler/src/ir/extern_fns.rs` +291. `crates/graphcal-compiler/src/ir/lower.rs` +292. `crates/graphcal-compiler/src/ir/extern_fns/tests.rs` +293. `crates/graphcal-compiler/src/ir/freeze.rs` +294. `crates/graphcal-compiler/src/tir/typed/collect.rs` +295. `crates/graphcal-compiler/src/tir/typed.rs` +296. `crates/graphcal-compiler/src/tir/typed/tests.rs` +297. `crates/graphcal-compiler/src/tir/typed/specialization.rs` +298. `crates/graphcal-compiler/src/tir/dim_check/body_specialization.rs` +299. `crates/graphcal-compiler/src/tir/dim_check/infer/hir/dag_call.rs` +300. `crates/graphcal-compiler/src/tir/dim_check/concrete_obligations.rs` +301. `crates/graphcal-compiler/src/tir/dim_check/model_schema.rs` +302. `crates/graphcal-compiler/src/tir/dim_check/mod.rs` +303. `crates/graphcal-compiler/src/tir/dim_check/plot.rs` +304. `crates/graphcal-compiler/src/tir/dim_check/template_closure.rs` +305. `crates/graphcal-compiler/src/tir/dim_check/instance_bodies.rs` +306. `crates/graphcal-compiler/src/tir/dim_check/presentation.rs` +307. `crates/graphcal-compiler/src/ir/resolve/tests.rs` +308. `crates/graphcal-compiler/src/tir/dim_check/tests.rs` +309. `crates/graphcal-io/src/atomic_write.rs` +310. `crates/graphcal-io/src/limits.rs` +311. `crates/graphcal-io/src/reader.rs` +312. `crates/graphcal-io/src/virtual_path.rs` +313. `crates/graphcal-io/src/real_fs.rs` +314. `crates/graphcal-io/src/in_memory_fs.rs` +315. `crates/graphcal-io/src/source_tree.rs` +316. `crates/graphcal-io/src/ingestion.rs` +317. `crates/graphcal-io/src/overlay_fs.rs` +318. `crates/graphcal-io/src/lib.rs` +319. `crates/graphcal-package/src/lib.rs` +320. `crates/graphcal-plugin-abi/src/constants.rs` +321. `crates/graphcal-plugin-abi/src/section.rs` +322. `crates/graphcal-plugin-abi/src/manifest.rs` +323. `crates/graphcal-plugin-abi/src/lib.rs` +324. `crates/graphcal-plugin-macros/src/lib.rs` +325. `crates/graphcal-plugin-macros/src/dims.rs` +326. `crates/graphcal-plugin-macros/src/parse.rs` +327. `crates/graphcal-plugin-macros/src/lower.rs` +328. `crates/graphcal-plugin-macros/src/manifest.rs` +329. `crates/graphcal-plugin-macros/src/codegen.rs` +330. `crates/graphcal-plugin/src/lib.rs` +331. `crates/graphcal-eval/src/eval_expr/numeric.rs` +332. `crates/graphcal-eval/src/eval_expr/datetime.rs` +333. `crates/graphcal-eval/src/lib.rs` +334. `crates/graphcal-eval/src/domain_constraint.rs` +335. `crates/graphcal-eval/src/pipeline_metrics.rs` +336. `crates/graphcal-eval/src/invariant.rs` +337. `crates/graphcal-eval/src/runtime_value/indexed.rs` +338. `crates/graphcal-eval/src/presentation_evidence.rs` +339. `crates/graphcal-eval/src/runtime_value.rs` +340. `crates/graphcal-eval/src/runtime_value/dense_array.rs` +341. `crates/graphcal-eval/src/domain_check.rs` +342. `crates/graphcal-eval/src/runtime_presentation.rs` +343. `crates/graphcal-eval/src/eval/bindings.rs` +344. `crates/graphcal-eval/src/constant_pools.rs` +345. `crates/graphcal-eval/src/checked_program.rs` +346. `crates/graphcal-eval/src/execution_plan.rs` +347. `crates/graphcal-eval/src/static_incompleteness.rs` +348. `crates/graphcal-eval/src/execution_frame.rs` +349. `crates/graphcal-eval/src/eval_expr/work_budget.rs` +350. `crates/graphcal-eval/src/eval_expr/conversions.rs` +351. `crates/graphcal-eval/src/eval_expr/complex.rs` +352. `crates/graphcal-eval/src/eval_expr/aggregations.rs` +353. `crates/graphcal-eval/src/eval_expr/linear_algebra_lu.rs` +354. `crates/graphcal-eval/src/test_tir.rs` +355. `crates/graphcal-eval/src/host_abi/scalar.rs` +356. `crates/graphcal-eval/src/host_abi/argument.rs` +357. `crates/graphcal-eval/src/host_fns.rs` +358. `crates/graphcal-eval/src/host_abi.rs` +359. `crates/graphcal-eval/src/host_abi/marshal.rs` +360. `crates/graphcal-eval/src/eval/output_decl_name.rs` +361. `crates/graphcal-eval/src/eval/plot_unavailable.rs` +362. `crates/graphcal-eval/src/eval/types.rs` +363. `crates/graphcal-eval/src/assertion_eval.rs` +364. `crates/graphcal-eval/src/eval/runtime/root_names.rs` +365. `crates/graphcal-eval/src/eval/public_projection.rs` +366. `crates/graphcal-eval/src/eval/plot_data.rs` +367. `crates/graphcal-eval/src/eval/runtime/dependency_failures.rs` +368. `crates/graphcal-eval/src/eval/runtime/evaluated_root.rs` +369. `crates/graphcal-eval/src/eval_expr/linear_algebra_error.rs` +370. `crates/graphcal-eval/src/eval_expr/runtime_failure.rs` +371. `crates/graphcal-eval/src/deferred_field_checks.rs` +372. `crates/graphcal-eval/src/eval_expr/context.rs` +373. `crates/graphcal-eval/src/eval_expr/arithmetic.rs` +374. `crates/graphcal-eval/src/eval_expr/linear_algebra.rs` +375. `crates/graphcal-eval/src/eval_expr/operations.rs` +376. `crates/graphcal-eval/src/eval_expr/unit_scale.rs` +377. `crates/graphcal-eval/src/eval_expr/presentation.rs` +378. `crates/graphcal-eval/src/eval_expr/hir_eval.rs` +379. `crates/graphcal-eval/src/eval_expr/mod.rs` +380. `crates/graphcal-eval/src/eval/runtime/assertions.rs` +381. `crates/graphcal-eval/src/eval/runtime/plots.rs` +382. `crates/graphcal-eval/src/eval/runtime/value_entries.rs` +383. `crates/graphcal-eval/src/eval/runtime/root_loop.rs` +384. `crates/graphcal-eval/src/eval/runtime/root_outcome.rs` +385. `crates/graphcal-eval/src/eval/runtime.rs` +386. `crates/graphcal-eval/src/eval/mod.rs` +387. `crates/graphcal-eval/src/execution_check/const_eval.rs` +388. `crates/graphcal-eval/src/execution_check/domain_resolve.rs` +389. `crates/graphcal-eval/src/execution_check.rs` +390. `crates/graphcal-eval/src/exec_plan.rs` +391. `crates/graphcal-eval/src/eval/runtime/plots/tests.rs` +392. `crates/graphcal-eval/src/interpreter_tests.rs` +393. `crates/graphcal-project/src/dependency_ordered.rs` +394. `crates/graphcal-project/src/import_surface.rs` +395. `crates/graphcal-project/src/lib.rs` +396. `crates/graphcal-project/src/loader/module_path.rs` +397. `crates/graphcal-project/src/loader/loaded_file.rs` +398. `crates/graphcal-project/src/loader/inline_dags.rs` +399. `crates/graphcal-project/src/package_cache.rs` +400. `crates/graphcal-project/src/package_snapshot.rs` (capture and authenticate sources plus declared Wasm artifacts) +401. `crates/graphcal-project/src/package_sources.rs` (explicit native-cache versus isolated embedded dependency authority) +402. `crates/graphcal-project/src/prepare/model_schema.rs` +403. `crates/graphcal-project/src/project_bundle.rs` (bounded portable artifacts and virtual mounting; consumed by report assembly and browser preparation) +404. `crates/graphcal-project/src/prepare/output.rs` +405. `crates/graphcal-project/src/project_compiler/template.rs` +406. `crates/graphcal-project/src/tests/exec_plan.rs` +407. `crates/graphcal-project/src/loader/budget_violation.rs` +408. `crates/graphcal-project/src/project_compiler/including_module.rs` +409. `crates/graphcal-project/src/binding_error.rs` +410. `crates/graphcal-project/src/load_error.rs` +411. `crates/graphcal-project/src/compile_error.rs` +412. `crates/graphcal-project/src/loader/loaded_project.rs` +413. `crates/graphcal-project/src/project_compiler/binding_values.rs` +414. `crates/graphcal-project/src/project_compiler/entry_interface.rs` +415. `crates/graphcal-project/src/project_compiler/checked_project.rs` +416. `crates/graphcal-project/src/project_compiler/module_resolve_errors.rs` +417. `crates/graphcal-project/src/loader/budget.rs` +418. `crates/graphcal-project/src/loader/source_snapshot.rs` +419. `crates/graphcal-project/src/loader/build.rs` +420. `crates/graphcal-project/src/loader/build/tests.rs` +421. `crates/graphcal-project/src/loader/source_authority.rs` +422. `crates/graphcal-project/src/loader.rs` +423. `crates/graphcal-project/src/loader/loaded_module_resolver.rs` +424. `crates/graphcal-project/src/inline_dag.rs` +425. `crates/graphcal-project/src/project_compiler/include_static_bindings.rs` +426. `crates/graphcal-project/src/project_compiler/model.rs` +427. `crates/graphcal-project/src/project_compiler/hir_project.rs` +428. `crates/graphcal-project/src/project_compiler/generic_leakage.rs` +429. `crates/graphcal-project/src/project_compiler/generic_leakage/tests.rs` +430. `crates/graphcal-project/src/project_compiler/imports.rs` +431. `crates/graphcal-project/src/project_compiler/imports/tests.rs` +432. `crates/graphcal-project/src/project_compiler/lowering.rs` +433. `crates/graphcal-project/src/project_compiler/checking.rs` +434. `crates/graphcal-project/src/project_compiler/pipeline.rs` +435. `crates/graphcal-project/src/project_compiler/session.rs` +436. `crates/graphcal-project/src/prepare/prepared.rs` +437. `crates/graphcal-project/src/prepare/mod.rs` +438. `crates/graphcal-project/src/loader/tests.rs` +439. `crates/graphcal-project/src/prepare/binding_compile.rs` +440. `crates/graphcal-project/src/prepare/tenax_model.rs` +441. `crates/graphcal-project/src/project_compiler/mod.rs` +442. `crates/graphcal-project/src/tests/sealed_program.rs` +443. `crates/graphcal-report/src/lib.rs` +444. `crates/graphcal-report/src/escape.rs` +445. `crates/graphcal-report/src/vega_assets.rs` +446. `crates/graphcal-report/src/report_hydrate.rs` +447. `crates/graphcal-report/src/vega.rs` +448. `crates/graphcal-report/src/plot_page.rs` +449. `crates/graphcal-report/src/value_display.rs` +450. `crates/graphcal-report/src/report_ir.rs` +451. `crates/graphcal-report/src/report_html.rs` +452. `crates/graphcal-report/src/report_markdown.rs` +453. `crates/graphcal-test-support/src/lib.rs` +454. `crates/graphcal-test-support/src/project.rs` +455. `crates/graphcal-test-support/src/bytes.rs` +456. `crates/graphcal-tenax/src/lib.rs` +457. `crates/graphcal-wasm/src/project.rs` +458. `crates/graphcal-wasm/src/output.rs` +459. `crates/graphcal-wasm/src/js_request.rs` +460. `crates/graphcal-wasm/src/bindings.rs` +461. `crates/graphcal-wasm/src/diagnostics.rs` +462. `crates/graphcal-wasm/src/browser_report.rs` +463. `crates/graphcal-wasm/src/one_shot.rs` +464. `crates/graphcal-plugin-host/src/cache.rs` +465. `crates/graphcal-plugin-host/src/convert.rs` +466. `crates/graphcal-plugin-host/src/limits.rs` +467. `crates/graphcal-plugin-host/src/module.rs` +468. `crates/graphcal-plugin-host/src/host.rs` +469. `crates/graphcal-plugin-host/src/registry.rs` +470. `crates/graphcal-wasm/src/prepared.rs` +471. `crates/graphcal-wasm/src/lib.rs` +472. `crates/graphcal-plugin-host/src/lib.rs` +473. `crates/graphcal-fmt/src/lib.rs` +474. `crates/graphcal-fmt/src/format/doc.rs` +475. `crates/graphcal-fmt/src/format/formatter.rs` +476. `crates/graphcal-fmt/src/format/unit_dim.rs` +477. `crates/graphcal-fmt/src/format/expr.rs` +478. `crates/graphcal-fmt/src/format/decl.rs` +479. `crates/graphcal-fmt/src/format/mod.rs` +480. `crates/graphcal-lsp/src/lib.rs` +481. `crates/graphcal-lsp/src/convert.rs` +482. `crates/graphcal-lsp/src/cursor_context.rs` +483. `crates/graphcal-lsp/src/symbol_identity.rs` +484. `crates/graphcal-lsp/src/nominal_type_index.rs` +485. `crates/graphcal-lsp/src/symbol_table.rs` +486. `crates/graphcal-lsp/src/project_symbols.rs` +487. `crates/graphcal-lsp/src/formatting.rs` +488. `crates/graphcal-lsp/src/workspace_revision.rs` +489. `crates/graphcal-lsp/src/analysis_schedule_state.rs` +490. `crates/graphcal-lsp/src/formatting_scheduler.rs` +491. `crates/graphcal-lsp/src/client_capabilities.rs` +492. `crates/graphcal-lsp/src/filesystem_events.rs` +493. `crates/graphcal-lsp/src/file_identity.rs` +494. `crates/graphcal-lsp/src/fn_signatures.rs` +495. `crates/graphcal-lsp/src/imported_definitions.rs` +496. `crates/graphcal-lsp/src/analysis.rs` +497. `crates/graphcal-lsp/src/resolve.rs` +498. `crates/graphcal-lsp/src/signature_help.rs` +499. `crates/graphcal-lsp/src/inlay_hints.rs` +500. `crates/graphcal-lsp/src/document_symbols.rs` +501. `crates/graphcal-lsp/src/document_links.rs` +502. `crates/graphcal-lsp/src/goto_definition.rs` +503. `crates/graphcal-lsp/src/references.rs` +504. `crates/graphcal-lsp/src/hover.rs` +505. `crates/graphcal-lsp/src/value_format.rs` +506. `crates/graphcal-cli/src/lib.rs` +507. `crates/graphcal-compiler/src/semantic_error/tests.rs` +508. `crates/graphcal-project/src/tests.rs` +509. `crates/graphcal-project/src/graph_ir/mod.rs` +510. `crates/graphcal-project/src/graph_ir/dot.rs` +511. `crates/graphcal-project/src/tests/checked_expressions.rs` +512. `crates/graphcal-project/src/tests/presentation_evidence.rs` +513. `crates/graphcal-lsp/src/diagnostics.rs` +514. `crates/graphcal-lsp/src/code_actions.rs` +515. `crates/graphcal-lsp/src/analysis_pipeline.rs` +516. `crates/graphcal-lsp/src/completion.rs` +517. `crates/graphcal-lsp/src/rename.rs` +518. `crates/graphcal-lsp/src/server.rs` +519. `crates/graphcal-lsp/src/protocol_tests.rs` +520. `crates/graphcal-cli/src/display.rs` +521. `crates/graphcal-cli/src/format.rs` +522. `crates/graphcal-cli/src/json_input.rs` +523. `crates/graphcal-cli/src/overrides.rs` +524. `crates/graphcal-cli/src/main.rs` +525. `crates/graphcal-cli/src/report.rs` +526. `crates/graphcal-cli/src/model.rs` +527. `crates/graphcal-cli/src/dump.rs` +528. `crates/graphcal-cli/src/deps.rs` +529. Build-time shell (explicit path modules, curated beyond the heuristic): `crates/graphcal-cli/build_support/bundle.rs` → `crates/graphcal-cli/build_support/engine.rs` → `crates/graphcal-cli/build.rs` → `crates/graphcal-cli/examples/export_report_engine.rs` -529. `crates/graphcal-cli/src/plugin.rs` -530. `crates/graphcal-ast-derive/tests/format_equivalent.rs` -531. `crates/graphcal-ast-derive/tests/phase_lift.rs` -532. `crates/graphcal-plugin/tests/expansion.rs` -533. `crates/graphcal-plugin/tests/prelude_drift.rs` -534. `crates/graphcal-plugin/tests/abi_memory.rs` -535. `crates/graphcal-project/tests/chunk5_regressions.rs` -536. `crates/graphcal-project/tests/chunk6_regressions.rs` -537. `crates/graphcal-project/tests/declaration_order.rs` -538. `crates/graphcal-project/tests/edge_case_bugs.rs` -539. `crates/graphcal-project/tests/error_snapshots.rs` -540. `crates/graphcal-project/tests/generated_projects.rs` -541. `crates/graphcal-project/tests/host_fn_results.rs` -542. `crates/graphcal-project/tests/namespace_formal_conformance.rs` -543. `crates/graphcal-project/tests/phase0_regressions.rs` -544. `crates/graphcal-project/tests/phase1_regressions.rs` -545. `crates/graphcal-project/tests/phase4_regressions.rs` -546. `crates/graphcal-project/tests/static_definition_regressions.rs` -547. `crates/graphcal-project/tests/todo.rs` -548. `crates/graphcal-project/tests/dag_body_import_regressions.rs` -549. `crates/graphcal-project/tests/constructor_constraint_regressions.rs` -550. `crates/graphcal-project/tests/diagnostic_codes.rs` -551. `crates/graphcal-report/tests/report.rs` -552. `crates/graphcal-wasm/tests/tutorial_examples.rs` -553. `crates/graphcal-wasm/tests/wasm_runtime.rs` -554. `crates/graphcal-wasm/tests/wasm_presentation.rs` -555. `crates/graphcal-wasm/tests/playground_examples.rs` -556. `crates/graphcal-wasm/tests/playground_experiments.rs` -557. `crates/graphcal-plugin-host/tests/runtime.rs` -558. `crates/graphcal-plugin-host/tests/project_eval.rs` -559. `crates/graphcal-fmt/tests/todo.rs` -560. `crates/graphcal-fmt/tests/format_tests.rs` -561. `crates/graphcal-cli/tests/todo.rs` -562. `crates/graphcal-cli/tests/cli.rs` -563. `crates/graphcal-cli/tests/plugin_cmd.rs` -564. `crates/graphcal-cli/tests/plugin_e2e.rs` -565. `crates/graphcal-cli/tests/dump.rs` -566. `crates/graphcal-cli/tests/presentation.rs` -567. `crates/graphcal-cli/tests/report_engine.rs` -568. `crates/graphcal-cli/tests/output_golden.rs` +530. `crates/graphcal-cli/src/plugin.rs` +531. `crates/graphcal-ast-derive/tests/format_equivalent.rs` +532. `crates/graphcal-ast-derive/tests/phase_lift.rs` +533. `crates/graphcal-plugin/tests/expansion.rs` +534. `crates/graphcal-plugin/tests/prelude_drift.rs` +535. `crates/graphcal-plugin/tests/abi_memory.rs` +536. `crates/graphcal-project/tests/chunk5_regressions.rs` +537. `crates/graphcal-project/tests/chunk6_regressions.rs` +538. `crates/graphcal-project/tests/declaration_order.rs` +539. `crates/graphcal-project/tests/edge_case_bugs.rs` +540. `crates/graphcal-project/tests/error_snapshots.rs` +541. `crates/graphcal-project/tests/generated_projects.rs` +542. `crates/graphcal-project/tests/host_fn_results.rs` +543. `crates/graphcal-project/tests/namespace_formal_conformance.rs` +544. `crates/graphcal-project/tests/phase0_regressions.rs` +545. `crates/graphcal-project/tests/phase1_regressions.rs` +546. `crates/graphcal-project/tests/phase4_regressions.rs` +547. `crates/graphcal-project/tests/static_definition_regressions.rs` +548. `crates/graphcal-project/tests/todo.rs` +549. `crates/graphcal-project/tests/dag_body_import_regressions.rs` +550. `crates/graphcal-project/tests/constructor_constraint_regressions.rs` +551. `crates/graphcal-project/tests/diagnostic_codes.rs` +552. `crates/graphcal-report/tests/report.rs` +553. `crates/graphcal-wasm/tests/tutorial_examples.rs` +554. `crates/graphcal-wasm/tests/wasm_runtime.rs` +555. `crates/graphcal-wasm/tests/wasm_presentation.rs` +556. `crates/graphcal-wasm/tests/playground_examples.rs` +557. `crates/graphcal-wasm/tests/playground_experiments.rs` +558. `crates/graphcal-plugin-host/tests/runtime.rs` +559. `crates/graphcal-plugin-host/tests/project_eval.rs` +560. `crates/graphcal-fmt/tests/todo.rs` +561. `crates/graphcal-fmt/tests/format_tests.rs` +562. `crates/graphcal-cli/tests/todo.rs` +563. `crates/graphcal-cli/tests/cli.rs` +564. `crates/graphcal-cli/tests/plugin_cmd.rs` +565. `crates/graphcal-cli/tests/plugin_e2e.rs` +566. `crates/graphcal-cli/tests/dump.rs` +567. `crates/graphcal-cli/tests/presentation.rs` +568. `crates/graphcal-cli/tests/report_engine.rs` +569. `crates/graphcal-cli/tests/output_golden.rs` diff --git a/internals/pipeline-layers/role-map.toml b/internals/pipeline-layers/role-map.toml index 4f2f34320..813fde192 100644 --- a/internals/pipeline-layers/role-map.toml +++ b/internals/pipeline-layers/role-map.toml @@ -1286,6 +1286,11 @@ package = "compiler" path = ["resolve", "scope"] role = "contracts" +[[module]] +package = "compiler" +path = ["resolve", "source_path"] +role = "contracts" + [[module]] package = "compiler" path = ["resolve", "symbols"]