Axis / Build System / Instance

Instance

An Instance is one resolved use of an authored declaration in a dependency and machine context. It owns provider bindings, incoming configuration requests, effective options and selected behavior. Consumers treat its configured state as immutable.

Source and concrete API: instance.go.

Properties

Behavior

Instance.Handler selects explicit behavior before a default and never chains callbacks implicitly. Missing optional behavior is represented by its absence.

Closure returns all reachable dependencies of explicit roots. Reference resolves one unambiguous provider inside the supplied dependency scopes; absent or ambiguous matches fail.

State boundary

An Instance records a resolved selection; it is not a registry, downloader or scheduler. Construction and configuration happen before execution consumes its values. Diagnostic provenance must not become semantic configuration merely because a source location changed.

The current representation allows the caller to share one selected node across multiple consumers. It does not automatically manufacture separately configured variants of a declaration. Callers own the graph and must prevent concurrent mutation while it is consumed.