let s = import "adr-schema.ncl" in
let c = import "adr-constraints.ncl" in

{
  # RequiresJustificationWhenRisky is a cross-field contract (reads both
  # ontology_check.verdict and invariant_justification) — applied here after
  # the schema merge so both fields are visible in the same record.
  make_adr = fun data =>
    let result | c.RequiresJustificationWhenRisky = s.Adr & data in
    result,
  make_constraint = fun data => s.Constraint & data,

  Adr           = s.Adr,
  Constraint    = s.Constraint,
  OntologyCheck = s.OntologyCheck,
}
