graflo.architecture.schema.context.elision¶
What a bounded projection left out, and how to go and get it.
A slice without an elision report is indistinguishable from a complete schema, which is the failure mode this whole wave exists to avoid: an agent that believes it has seen everything asks confidently wrong questions.
Attributes¶
EdgeElisionReason = Literal['budget', 'endpoint_elided', 'not_selected']
module-attribute
¶
VertexElisionReason = Literal['budget', 'unreachable', 'not_selected']
module-attribute
¶
Classes¶
ElidedEdge
¶
Bases: ConfigBaseModel
An edge left out of the slice.
Source code in graflo/architecture/schema/context/elision.py
Attributes¶
description = PydanticField(default=None, description='Authored description, kept for the same reason.')
class-attribute
instance-attribute
¶
edge_id = PydanticField(..., description='(source, target, relation).')
class-attribute
instance-attribute
¶
reason = PydanticField(..., description='Why it was dropped.')
class-attribute
instance-attribute
¶
ElidedVertex
¶
Bases: ConfigBaseModel
A vertex type left out of the slice.
Source code in graflo/architecture/schema/context/elision.py
Attributes¶
degree = PydanticField(..., description='Incident edges in the full schema.')
class-attribute
instance-attribute
¶
description = PydanticField(default=None, description='Authored description, kept because it may be the reason to drill in.')
class-attribute
instance-attribute
¶
drill_in = PydanticField(..., description='Call that would bring this type into a slice.')
class-attribute
instance-attribute
¶
hop_distance = PydanticField(default=None, description='Hops from the nearest seed; None when unreachable.')
class-attribute
instance-attribute
¶
name = PydanticField(..., description='Vertex type name.')
class-attribute
instance-attribute
¶
reason = PydanticField(..., description='Why it was dropped.')
class-attribute
instance-attribute
¶
ElisionReport
¶
Bases: ConfigBaseModel
Everything the slice does not contain, plus the budget that caused it.
Source code in graflo/architecture/schema/context/elision.py
Attributes¶
budget = PydanticField(..., description='Measured cost of the slice.')
class-attribute
instance-attribute
¶
elided_edges = PydanticField(default_factory=list, description='Edges not in the slice.')
class-attribute
instance-attribute
¶
elided_properties = PydanticField(default_factory=dict, description='Vertex type -> property names dropped from a surviving type.')
class-attribute
instance-attribute
¶
elided_vertices = PydanticField(default_factory=list, description='Vertex types not in the slice.')
class-attribute
instance-attribute
¶
truncated
property
¶
Whether anything at all was left out.