# Contract engine collates contracts and asset metadata

Authored contracts use a hybrid Git layout: canonical product contracts live in a central contracts directory, while asset-local metadata and fragments may live beside dbt models, Dagster assets, dlt sources, SQL, or Python asset definitions. A contract engine collates these inputs, applies layer validation profiles, validates embedded tests and compatibility rules, compiles effective contracts, and publishes runtime-served contract views. It may generate pull requests for contract, doc, schema, fragment, or test updates, but it must not directly commit to protected branches. This keeps Git as the source of truth without forcing every useful metadata contribution into one hand-edited file.
