Admin Contradiction Propose
矛盾ページ集合から和解案(supersede)を提案し contradiction レビューに積む。
勝者選定は決定論的スコア(is_verified > confidence > source_count > 新しさ)。 LLM は和解理由文のみ(fail-open)。propose は書き換えを行わない(人間承認ゲート)。 preview のため record_maint_action はしない。生存ページ 2 未満なら 422。 tenant_id は JWT から取得(リクエスト値を信用しない)。
POST
/admin/contradictions/proposeHeader parameters
authorizationstring | anyX-Api-Keystring | anyRequest body
requiredapplication/jsonpage_idsstring[]requiredResponses
200Successful Response
any422Validation Error
detailValidationError[]Show propertiesHide properties
Array of
ValidationErrorlocstring | integer[]requiredShow propertiesHide properties
Array of
string | integerAny of:
string
stringinteger
integermsgstringrequiredtypestringrequiredRequest
curl -X POST "/admin/contradictions/propose" \
-H "Content-Type: application/json" \
-d '{
"page_ids": [
"string"
]
}'const response = await fetch("/admin/contradictions/propose", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_ids": [
"string"
]
})
});import requests
response = requests.post(
"/admin/contradictions/propose",
headers={
"Content-Type": "application/json"
},
json={
"page_ids": [
"string"
]
},
)Response
"string"{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}