Expand description
§nucleus-flow-projection — IFC FlowTracker adapter for the substrate
Implements the Flow projection functor from
nucleus_substrate_core: lifts a Denning-lattice flow-graph
snapshot into the typed body of a Projection::Flow variant.
§What goes in the body
Only the snapshot summary — node count, the session’s
confidentiality / integrity / authority ceilings, the
Adversarial-bid flag (G8). The full FlowTracker DAG stays
server-side; if external verifiers want it, they ask for it
separately. The receipt’s job is to commit to the summary so
that downstream consumers can refuse to act on a session whose
integrity ceiling is Adversarial.
§Why this crate has no nucleus-ifc dependency
nucleus-ifc and portcullis-core are vendored in the umbrella
workspace; they aren’t published. The flow projection’s wire
format is pure data — strings + ints + bools — so the lifter
defines its own typed body and the server (which DOES have
nucleus-ifc) is responsible for converting FlowTracker →
FlowBody. That keeps the lifter publishable without
transitively pulling vendored deps.
§Wire shape
{
"kind": "flow",
"body": {
"version": 1,
"node_count": 4,
"session_confidentiality_ceiling": "internal",
"session_integrity_ceiling": "adversarial",
"session_authority_ceiling": "no_authority",
"session_taint_ceiling": "ai_generated",
"has_adversarial_bid": true,
"has_ai_derived": true,
"has_confidential_data": false
}
}Structs§
- Flow
Body - Wire-stable shape for the Flow projection body.
Enums§
Constants§
- AUTHORITY_
LEVELS - CONF_
LEVELS - Snake_case strings for the four lattice levels. Stable wire
values — see the corresponding
*_LEVELSconstants below. - FLOW_
BODY_ VERSION - INTEG_
LEVELS - TAINT_
LEVELS
Functions§
- flow_
projection - Build a
Projection::Flowcarrying the supplied snapshot. - verify_
flow_ projection_ shape - Verify that a
FlowBodyis well-formed: version matches the lifter’s, lattice-level strings are in their stable vocabularies, the “any-X” flags are consistent with the ceiling levels.