RF Vocabulary is Rootform's embedded cross-Dialect vocabulary. Its owner is
rf; its version is 0.1.0.
It is not an installable Dialect, local extension, or Policy Pack. Authors do
not declare or download it. Compiler records exact vocabulary dependency when a
Dialect or Policy Pack references an rf.* symbol.
These boundaries are normative. For example, a logical database inside a
managed service is not rf.concept.managed-database, and a role is not
rf.concept.service-identity.
A network Context records declared attachment. It does not prove routing, reachability, firewall allowance, or runtime traffic. A runtime Context records declared execution placement. It does not prove that execution happened.
RF Vocabulary 0.1.0 defines:
- six Concepts;
- two Contexts;
- no Relations;
- no Rules.
Therefore rf.relation.* and rf.rule.* are invalid references.
rule "subnet" { match { type = "example_subnet" }
as = rf.concept.subnet
context { as = rf.context.network to = rf.concept.virtual-network via = source.network_id on_null = "absent" on_empty = "absent" }}Use an RF symbol only when provider-specific meaning satisfies its complete contract. Frequency or a similar name is insufficient.
policy "subnet-has-network-context" { target { concept = rf.concept.subnet }
assert = exists( contexts(rf.context.network, rf.concept.virtual-network) )
message = "Each subnet must declare its virtual network."}Policy references are always owner-qualified, so rf. prefix is required.
Linking verifies exact vocabulary version and semantic digest against the
Form.