provisioning-catalog/domains/result-reporting/contract.ncl

22 lines
816 B
Text
Raw Normal View History

# result-reporting domain contract v0.1.0
#
# Synchronous result reporting from integration mode participants back to provisioning.
# The participant writes a ResultEnvelope to stdout (or the context file path).
# Provisioning reads and stores the result linked to the integration run.
let _ResultEnvelope = {
success | Bool,
exit_code | Number,
summary | String
| doc "Human-readable one-line summary of the outcome",
schema_version | String | default = "0.1.0",
payload | { _ | Dyn }
| doc "Arbitrary output data (build artifacts, URLs, metrics, etc.)",
errors | Array String | default = []
| doc "Non-empty on failure; individual error lines for structured reporting",
} in
{
ResultEnvelope = _ResultEnvelope,
}