17 lines
551 B
Plaintext
17 lines
551 B
Plaintext
|
|
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,
|
||
|
|
}
|