pub struct FlowIR {Show 13 fields
pub ir_version: IrVersion,
pub flow_id: FlowId,
pub ir_hash: Hash,
pub provider: ProviderRef,
pub required_features: BTreeSet<FeatureId>,
pub lockfile_digest: Hash,
pub params: Vec<ParamDecl>,
pub outputs: Vec<OutputDecl>,
pub body: Vec<StepIR>,
pub handlers: Option<Vec<HandlerBinding>>,
pub verdict_policy: VerdictPolicy,
pub source_map: Vec<SourceMapEntry>,
pub subflows: BTreeMap<FlowId, FlowRef>,
}Expand description
Pointlock Typed IR v0.1 — the sole input accepted by pointlock-runner and
the sole output of the pointlock-compiler seal phase.
Closed vocabulary per spine Appendix A. All objects are closed except the
three documented exemption classes (02 §2.2): embedded JSON Schema
documents, identifier-keyed maps, and StepBase (composed into variants).
Fields§
§ir_version: IrVersionIR semantic-generation number, const 1 in v0.1.
flow_id: FlowIdThe flow’s name-identity.
ir_hash: HashCanonical whole-tree hash (excluding irHash itself and sourceMap;
covers callee irHashes via subflows — the link-closure property,
02 §12.2).
provider: ProviderRefThe provider this flow was compiled against.
required_features: BTreeSet<FeatureId>Union of features required by the whole flow; fed into
FeatureOffer.required at session open (free enforcement).
Set semantics — serialized in lexicographic order.
lockfile_digest: HashDigest of the CapabilityLockfile used at bind time; attestation
mismatch at runtime is capability_drift, refuse to run.
params: Vec<ParamDecl>Input contract.
outputs: Vec<OutputDecl>Output contract.
body: Vec<StepIR>The step body (≥ 1 step).
handlers: Option<Vec<HandlerBinding>>Flow-level handler hooks.
verdict_policy: VerdictPolicyVerdict folding policy (strict folds degraded pass to unknown).
source_map: Vec<SourceMapEntry>IR path → YAML span mapping, plus macro origin traces. Pure
diagnostics: excluded from irHash (02 §12.2).
subflows: BTreeMap<FlowId, FlowRef>Subflow registry: reference, not inline — callees are independent
artifacts pinned by irHash (02 §6).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FlowIR
impl<'de> Deserialize<'de> for FlowIR
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<FlowIR, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<FlowIR, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for FlowIR
impl JsonSchema for FlowIR
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more