240 lines
5.9 KiB
JSON
240 lines
5.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Domain Loop Analyst Verdict",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"summary",
|
|
"user_intent_summary",
|
|
"expected_direct_answer",
|
|
"actual_direct_answer",
|
|
"quality_score",
|
|
"direct_answer_ok",
|
|
"business_usefulness_ok",
|
|
"business_utility_score",
|
|
"direct_answer_priority_score",
|
|
"state_continuity_score",
|
|
"answer_shape_score",
|
|
"evidence_clarity_score",
|
|
"focus_object_continuity_ok",
|
|
"bundle_reuse_ok",
|
|
"followup_action_resolution_ok",
|
|
"temporal_honesty_ok",
|
|
"field_truth_ok",
|
|
"answer_layering_ok",
|
|
"recommended_state_objects",
|
|
"loop_decision",
|
|
"requires_user_decision",
|
|
"user_decision_type",
|
|
"user_decision_prompt",
|
|
"unresolved_p0_count",
|
|
"regression_detected",
|
|
"root_cause_layers",
|
|
"broken_edge_ids",
|
|
"violated_invariants",
|
|
"priority_targets",
|
|
"acceptance_criteria",
|
|
"notes"
|
|
],
|
|
"properties": {
|
|
"summary": {
|
|
"type": "string"
|
|
},
|
|
"user_intent_summary": {
|
|
"type": "string"
|
|
},
|
|
"expected_direct_answer": {
|
|
"type": "string"
|
|
},
|
|
"actual_direct_answer": {
|
|
"type": ["string", "null"]
|
|
},
|
|
"quality_score": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
"direct_answer_ok": {
|
|
"type": "boolean"
|
|
},
|
|
"business_usefulness_ok": {
|
|
"type": "boolean"
|
|
},
|
|
"business_utility_score": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
"direct_answer_priority_score": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
"state_continuity_score": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
"answer_shape_score": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
"evidence_clarity_score": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
"focus_object_continuity_ok": {
|
|
"type": "boolean"
|
|
},
|
|
"bundle_reuse_ok": {
|
|
"type": "boolean"
|
|
},
|
|
"followup_action_resolution_ok": {
|
|
"type": "boolean"
|
|
},
|
|
"temporal_honesty_ok": {
|
|
"type": "boolean"
|
|
},
|
|
"field_truth_ok": {
|
|
"type": "boolean"
|
|
},
|
|
"answer_layering_ok": {
|
|
"type": "boolean"
|
|
},
|
|
"recommended_state_objects": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"loop_decision": {
|
|
"type": "string",
|
|
"enum": ["accepted", "continue", "partial", "blocked", "needs_exact_capability"]
|
|
},
|
|
"requires_user_decision": {
|
|
"type": "boolean",
|
|
"description": "Set true only when the autonomous loop must stop and ask the user because the next step is an architecture fork, important business question, scope tradeoff, or another non-autonomous decision."
|
|
},
|
|
"user_decision_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"none",
|
|
"architecture_fork",
|
|
"important_business_question",
|
|
"scope_tradeoff",
|
|
"data_truth_gap",
|
|
"missing_required_observation",
|
|
"risky_workaround",
|
|
"risky_complexity",
|
|
"other"
|
|
],
|
|
"description": "Explain why the loop needs user input. Use none when requires_user_decision is false."
|
|
},
|
|
"user_decision_prompt": {
|
|
"type": ["string", "null"],
|
|
"description": "Short user-facing question to unblock the loop when requires_user_decision is true, otherwise null."
|
|
},
|
|
"unresolved_p0_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"regression_detected": {
|
|
"type": "boolean"
|
|
},
|
|
"root_cause_layers": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"semantic_understanding_gap",
|
|
"runtime_capability_gap",
|
|
"edge_carryover_gap",
|
|
"object_memory_gap",
|
|
"followup_action_resolution_gap",
|
|
"bundle_reuse_gap",
|
|
"field_mapping_gap",
|
|
"temporal_honesty_gap",
|
|
"answer_shape_mismatch",
|
|
"ordering_semantics_mismatch",
|
|
"business_utility_gap",
|
|
"loop_coverage_gap",
|
|
"domain_anchor_gap",
|
|
"other"
|
|
]
|
|
}
|
|
},
|
|
"broken_edge_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"violated_invariants": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"priority_targets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["scenario_id", "step_id", "severity", "problem_type", "fix_goal"],
|
|
"properties": {
|
|
"scenario_id": {
|
|
"type": "string"
|
|
},
|
|
"step_id": {
|
|
"type": ["string", "null"]
|
|
},
|
|
"severity": {
|
|
"type": "string",
|
|
"enum": ["P0", "P1", "P2"]
|
|
},
|
|
"problem_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"route_gap",
|
|
"capability_gap",
|
|
"evidence_gap",
|
|
"presentation_gap",
|
|
"semantic_understanding_gap",
|
|
"edge_carryover_gap",
|
|
"object_memory_gap",
|
|
"followup_action_resolution_gap",
|
|
"bundle_reuse_gap",
|
|
"field_mapping_gap",
|
|
"temporal_honesty_gap",
|
|
"answer_shape_mismatch",
|
|
"ordering_semantics_mismatch",
|
|
"business_utility_gap",
|
|
"loop_coverage_gap",
|
|
"domain_anchor_gap",
|
|
"regression",
|
|
"other"
|
|
]
|
|
},
|
|
"fix_goal": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"acceptance_criteria": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"notes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|