Task 011 implement evidence matrix and claim gate

This commit is contained in:
2026-05-21 22:52:41 +03:00
parent 7d4a79acb5
commit 7e1b05067c
23 changed files with 2090 additions and 17 deletions
+537
View File
@@ -1084,6 +1084,126 @@
"title": "DraftSummary",
"type": "object"
},
"EvidenceCreateRequest": {
"additionalProperties": false,
"properties": {
"claim_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Claim Text"
},
"risk_level": {
"$ref": "#/components/schemas/ClaimRiskLevel",
"default": "low"
},
"section_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Section Id"
},
"source_quality_score": {
"default": 0.7,
"maximum": 1,
"minimum": 0,
"title": "Source Quality Score",
"type": "number"
},
"source_title": {
"minLength": 1,
"title": "Source Title",
"type": "string"
},
"source_type": {
"minLength": 1,
"title": "Source Type",
"type": "string"
},
"source_url": {
"minLength": 1,
"title": "Source Url",
"type": "string"
},
"summary": {
"minLength": 1,
"title": "Summary",
"type": "string"
},
"support_status": {
"$ref": "#/components/schemas/ClaimSupportStatus",
"default": "SUPPORTED"
}
},
"required": [
"source_title",
"source_url",
"source_type",
"summary"
],
"title": "EvidenceCreateRequest",
"type": "object"
},
"EvidenceMatrixResponse": {
"additionalProperties": false,
"properties": {
"article": {
"$ref": "#/components/schemas/ArticleSummary"
},
"claims": {
"items": {
"$ref": "#/components/schemas/ClaimSummary"
},
"title": "Claims",
"type": "array"
},
"evidence": {
"items": {
"$ref": "#/components/schemas/EvidenceSummary"
},
"title": "Evidence",
"type": "array"
},
"insufficient_evidence_reasons": {
"items": {
"type": "string"
},
"title": "Insufficient Evidence Reasons",
"type": "array"
}
},
"required": [
"article"
],
"title": "EvidenceMatrixResponse",
"type": "object"
},
"EvidenceResponse": {
"additionalProperties": false,
"properties": {
"evidence": {
"$ref": "#/components/schemas/EvidenceSummary"
}
},
"required": [
"evidence"
],
"title": "EvidenceResponse",
"type": "object"
},
"EvidenceSummary": {
"additionalProperties": false,
"properties": {
@@ -1107,6 +1227,12 @@
"title": "Retrieved At",
"type": "string"
},
"review_status": {
"default": "PENDING",
"minLength": 1,
"title": "Review Status",
"type": "string"
},
"source_quality_score": {
"maximum": 1,
"minimum": 0,
@@ -1156,6 +1282,26 @@
"title": "EvidenceSummary",
"type": "object"
},
"EvidenceUpdateRequest": {
"additionalProperties": false,
"properties": {
"review_status": {
"anyOf": [
{
"pattern": "^(PENDING|APPROVED|REJECTED)$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Review Status"
}
},
"title": "EvidenceUpdateRequest",
"type": "object"
},
"HTTPValidationError": {
"properties": {
"detail": {
@@ -3522,6 +3668,397 @@
]
}
},
"/api/articles/{article_id}/draft/start": {
"post": {
"operationId": "post_start_draft_api_articles__article_id__draft_start_post",
"parameters": [
{
"in": "path",
"name": "article_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Article Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Demo-User-Email",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Demo-User-Email"
}
}
],
"responses": {
"202": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentJobListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Post Start Draft",
"tags": [
"evidence"
]
}
},
"/api/articles/{article_id}/evidence": {
"get": {
"operationId": "get_article_evidence_api_articles__article_id__evidence_get",
"parameters": [
{
"in": "path",
"name": "article_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Article Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Demo-User-Email",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Demo-User-Email"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvidenceMatrixResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Article Evidence",
"tags": [
"evidence"
]
},
"post": {
"operationId": "post_evidence_api_articles__article_id__evidence_post",
"parameters": [
{
"in": "path",
"name": "article_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Article Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Demo-User-Email",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Demo-User-Email"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvidenceCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvidenceResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Post Evidence",
"tags": [
"evidence"
]
}
},
"/api/articles/{article_id}/evidence/{evidence_id}": {
"delete": {
"operationId": "delete_evidence_api_articles__article_id__evidence__evidence_id__delete",
"parameters": [
{
"in": "path",
"name": "article_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Article Id",
"type": "string"
}
},
{
"in": "path",
"name": "evidence_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Evidence Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Demo-User-Email",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Demo-User-Email"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Delete Evidence Api Articles Article Id Evidence Evidence Id Delete",
"type": "null"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Evidence",
"tags": [
"evidence"
]
},
"patch": {
"operationId": "patch_evidence_api_articles__article_id__evidence__evidence_id__patch",
"parameters": [
{
"in": "path",
"name": "article_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Article Id",
"type": "string"
}
},
{
"in": "path",
"name": "evidence_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Evidence Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Demo-User-Email",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Demo-User-Email"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvidenceUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvidenceResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Patch Evidence",
"tags": [
"evidence"
]
}
},
"/api/articles/{article_id}/final/approve": {
"post": {
"operationId": "post_final_approve_api_articles__article_id__final_approve_post",
"parameters": [
{
"in": "path",
"name": "article_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Article Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Demo-User-Email",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Demo-User-Email"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ArticleCreateResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Post Final Approve",
"tags": [
"evidence"
]
}
},
"/api/articles/{article_id}/plan/generate": {
"post": {
"operationId": "post_generate_plan_api_articles__article_id__plan_generate_post",