"description":"Draft-07 by decision OTD-005: validated with the built-in Test-Json -SchemaFile cmdlet, whose validator reliably supports draft-04/06/07 only. Do not introduce 2019-09 or 2020-12 constructs. This schema is validation layer 2 of 4; semantic rules (VR-002) and safety rules (VR-003) are enforced in PowerShell, not here.",
"description":"The single attribute the engine may write. Must also appear in approvedWritableAttributes (semantic layer). Example placeholder: extension_<EXTENSION-APP-ID>_<APPROVED-PERSONA-ATTRIBUTE-NAME>"
},
"approvedWritableAttributes":{
"type":"array",
"minItems":1,
"uniqueItems":true,
"items":{"type":"string","minLength":1}
},
"maxConditionDepth":{
"type":"integer",
"minimum":1,
"maximum":10,
"default":5,
"description":"RE-004. The ceiling of 10 is a hard limit; the configured value may be lower."
},
"summaryInterval":{
"type":"integer",
"minimum":0,
"default":25,
"description":"FR-020. Zero suppresses interim summaries; a final summary is always produced."
},
"defaultMembershipMode":{
"type":"string",
"enum":["direct","transitive"],
"default":"direct"
},
"evaluationErrorThreshold":{
"type":"integer",
"minimum":0,
"description":"Optional. Count of EvaluationError results above which the run reports failure."
"description":"Diagnostic only. Enabling this without explicit acknowledgement is a safety finding (VR-003)."
},
"acknowledgeConditionTracing":{
"type":"boolean",
"default":false,
"description":"Explicit acknowledgement that condition-value tracing writes evaluated attribute values into audit records. Required by VR-003 whenever traceConditionValues is true. Kept in the configuration rather than passed as a command-line flag so the acknowledgement is reviewable in the change that enables tracing."
}
}
},
"personas":{
"type":"array",
"minItems":1,
"uniqueItems":true,
"items":{
"type":"string",
"minLength":1,
"not":{"enum":["EvaluationError"]}
},
"description":"Defined persona catalogue. EvaluationError is an execution result and must never be declared as a persona."
"description":"Reserved. Condition-level case sensitivity is out of scope for v1; the schema accepts the key so a later version does not require a breaking change."