Skip to main content

declared_immutable

Function declared_immutable 

Source
pub fn declared_immutable(
    project_root: &Path,
) -> Result<ImmutableGlobs, BundleError>
Expand description

Read a component’s declared immutable patterns from <project_root>/mesofact.config.toml, [build] immutable — beside [build] public_dir, in mesofact’s own project config.

Why not workload.toml, which is where R825 first suggested it: workload_spec::BuildConfig is deny_unknown_fields AND rides the kamaji postcard wire (positional, non-self-describing), so a new [build] key there is a fleet wire change touching yah, yubaba and kamaji to state a fact no node ever reads. This one is consumed only at build and assembly time, by mesofact-build and by this crate. A component that is not a mesofact project (a Trunk app) gets a two-line mesofact.config.toml carrying just this table.

The single reader of the key: mesofact-build calls it for the manifest’s static_assets[].immutable, assembly calls it via finalize_component_output. No file ⇒ nothing declared. A malformed file, or a pattern ImmutableGlobs::new rejects, IS an error — a deploy that quietly drops a declaration is the failure this module exists to remove.