Canonical registry of the ambient globals the ACP session executor binds
into every session/prompt VM before running a pipeline (see harn-serve’s
adapters/acp/execute.rs).
Single source of truth for builtin function signatures used by the parser
and runtime VM: identifier resolution, typo suggestions, return-type
inference, static arity & per-arg type checks, runtime arity & type
enforcement, and lint awareness all consult the registry through the
lookup / is_builtin helpers.
A single argument to an attribute. Positional args have name = None;
named args use name: Some("key"). Values are restricted to
compile-time metadata expressions by the parser (literal scalars,
identifiers, lists, dicts, and call-shaped sentinels).
A single argument in a Node::HitlExpr call. name is Some when
the caller used named-arg syntax (e.g. quorum: 2); positional
arguments leave it as None and rely on the kind’s parameter order.
Return the bare @invariant marker that opts a function into Flow
predicate discovery. Parameterized @invariant(...) attributes belong to
handler IR instead.
Whether an attributed declaration is executable by the Flow evaluator.
Flow discovery currently compiles functions only, so tools and pipelines
must not inherit its injection or authority rules.
Whether an old hostlib wire name projects a method from the authoritative
typed host-capability registry. This keeps compatibility recognition exact:
arbitrary hostlib_* spellings remain undefined.
Exact behavior-preserving spellings removed during the typed-Harness
cutover. The compiler lowers these to the canonical manifest name only in
compatibility mode; strict source continues to reject them.
If node is an AttributedDecl, returns (attrs, inner); otherwise
returns an empty attribute slice and the node itself. Use at the top
of any consumer that processes top-level statements so attributes
flow through transparently.
Names sourced only from the parser’s hand-written static fallback tables
(not the driver-installed #[harn_builtin] registry). Lets cross-crate
drift guards assert the static tables don’t overlap with macro-published
or runtime_only builtins.