Data describes the concrete form at a boundary. A Schema contains the primitives, geometry, repetitions, pointers and callable signatures an owner wants to publish. Compilation turns that description into a canonical Representation, while Storage supplies the bytes and the access protocols describe how another participant can obtain them.
Semantic adds the agreement about what an interface means. A UUID identifies the contract. A consumer can ask whether the provider supports that contract, or request an API record with the concrete representation it expects. Flow negotiates an access protocol both participants can fulfill.
Concept lets the resulting interfaces expose richer questions and policies through Abstracts. A provider can answer the questions it understands, preserve uncertainty, or restrict a capability without requiring the consumer to adopt its native object model.
These jobs depend on different kinds of information. Keeping them separate means the data engine doesn't need to understand assignment policy, and a conceptual question doesn't need to prescribe where the provider stores its bytes.