Skip to main content

Module scope

Module scope 

Source
Expand description

Artifact references and canonical scoped paths.

Structs§

ArtifactId
An Artifact’s ID: [A-Za-z0-9][A-Za-z0-9_-]{0,63}, so it can never smuggle a path separator, a dot component, or control text into a scope key or a tool result.
LogicalSuffix
A nonempty relative logical path. Its private storage cannot bypass validation.
Relation
Scope
ScopeError
ScopedPath

Enums§

Argument
A declared argument, parsed once when its declaration loads: either a plain literal, or a {name}[/path] / --flag={name}[/path] Artifact reference. Parsing here only checks shape (a single well-formed reference, a valid path suffix); whether name names a real Artifact is a separate, config-wide check ([reference_target]) run once every declaration is loaded. std::fmt::Display reconstructs the exact original text, so round-tripping through the saved Vec<String> forms (StoredProfile, Views) changes no byte and no reuse key.
InstructionPart
LogicalTarget
An Artifact root has no suffix; non-root suffixes are validated logical paths.
RelationKind

Functions§

argv_scope
Admit an owner plus the explicit references in its argv, as an Eval’s scope admits its deps.
artifact_scope
Composition grants access; a referenced Artifact’s Eval instructions do not.
eval_scope
instruction_references
parse_artifact_instruction
Presentation tokens only: never expand content or mutate the authored payload. Artifact tokens carry names already validated by configuration.
resolve_argv
Resolve {name}[/path] and --flag={name}[/path] operands to existing scoped inputs. Other arguments, including escaped braces, stay literal. Never interpolate the command. Call at execution preparation, after static config validation; it opens input metadata.
scoped_path
Resolve a physical input below a canonical root. No component may be a symlink.