graflo.architecture.contract.ingestion.emits¶
Which edges a resource can write, read from its authored steps.
The answer is an over-approximation: a step whose endpoints or relation are taken from the data may write any edge they could name.
Attributes¶
Classes¶
Functions:¶
inference_feeds(resource, edge_id)
¶
Whether edge inference in resource would write edge_id.
Mirrors the runtime's rule: inference is on, the edge passes the resource's
infer_edge_only / infer_edge_except selectors, and -- unless an
allow-list is given -- no fixed-endpoint step already owns the pair. Whether
the resource produces both endpoints is the caller's question.
Source code in graflo/architecture/contract/ingestion/emits.py
may_emit(resource, edge_id, produced)
¶
Whether resource, producing the vertex types produced, can write edge_id.
Source code in graflo/architecture/contract/ingestion/emits.py
step_may_write(view, edge_id)
¶
Whether the edge step view can write edge_id.
A step with emit_inverse may also write the reversed pair, under the
inverse's relation.