Worked example · stage 13 of 15
Rule evaluation (QA)
The rule-engine output: triggered rules, flags, proposals and the block decision.
This material is fictional. It was invented for the package to demonstrate the method.
{
"state": {
"flags": [
"UNRESOLVED_PRONOUN",
"PAYOFF_REQUIRED"
],
"proposals": [
"expand_context_or_resolve_referent"
],
"blocked": true,
"requirements": [
"explicit_payoff_link"
]
},
"trace": [
{
"rule_id": "TXT-001",
"domain": "transcript",
"priority": 96,
"hard": true,
"matched": true,
"rationale": "An unresolved referent can change who or what a clip appears to describe.",
"actions": [
{
"op": "add_flag",
"value": "UNRESOLVED_PRONOUN"
},
{
"op": "propose",
"value": "expand_context_or_resolve_referent"
},
{
"op": "block"
}
]
},
{
"rule_id": "STR-001",
"domain": "story",
"priority": 90,
"hard": true,
"matched": true,
"rationale": "A promise creates an obligation in the narrative graph.",
"actions": [
{
"op": "append",
"path": "requirements",
"value": "explicit_payoff_link"
},
{
"op": "add_flag",
"value": "PAYOFF_REQUIRED"
}
]
}
]
}