ОРРКЕСТРАЦИЯ -Уточнить safety-policy оркестратора: останавливать loop на hard blockers и рискованных решениях, а не только по порогу 80%
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Domain Loop Analyst Verdict",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"summary",
|
||||
"quality_score",
|
||||
"loop_decision",
|
||||
"requires_user_decision",
|
||||
"user_decision_type",
|
||||
"user_decision_prompt",
|
||||
"unresolved_p0_count",
|
||||
"regression_detected",
|
||||
"priority_targets",
|
||||
"acceptance_criteria",
|
||||
"notes"
|
||||
],
|
||||
"properties": {
|
||||
"summary": {
|
||||
"type": "string"
|
||||
},
|
||||
"quality_score": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 100
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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", "regression", "other"]
|
||||
},
|
||||
"fix_goal": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"acceptance_criteria": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"notes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Domain Loop Coder Result",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"status",
|
||||
"summary",
|
||||
"changed_files",
|
||||
"notes",
|
||||
"patch_summary_path"
|
||||
],
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": ["patched", "no_changes", "blocked"]
|
||||
},
|
||||
"summary": {
|
||||
"type": "string"
|
||||
},
|
||||
"changed_files": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"notes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"patch_summary_path": {
|
||||
"type": ["string", "null"]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user