View input schema
{
"type": "object",
"properties": {
"after": {
"description": "deadline : la date de l'événement",
"type": "string"
},
"afterTime": {
"description": "deadline : l'heure de dépôt",
"type": "string"
},
"args": {
"description": "les arguments du prédicat dans l'ordre de sa signature ; avec kind='collect', exactement l'un d'eux est la variable de sélection ?name (par exemple ['urn:x:water', 'urn:x:mix', '?value']), les autres sont des valeurs. Les valeurs suivent le type du paramètre : une entité — 'urn:…' ou un nom court ; Date — 'YYYY-MM-DD' ; Money — '<nombre> <devise>' ('43250 KZT') ; Quantity — '<nombre> <unité>' avec l'unité exactement telle que le paquet l'écrit ; une constante du paquet — son nom",
"type": "array"
},
"calc": {
"description": "kind='calc' : un arbre {op,left,right}, op ∈ add|sub|mul|div|le|lt|ge|gt|eq|ne (les synonymes divide/multiply/plus/minus et les signes sont acceptés) ; les feuilles sont 5 | '3932 KZT' | '2 mrp' | {lookup: 'mrp', args: [2026]} — une valeur légale du corpus ; les agrégats sont {aggregate: 'sum', element: '?v', over: [{predicate, args with '?variables'}]} sur les faits donnés dans facts"
},
"context": {
"additionalProperties": false,
"description": "Contexte temporel explicite : timezone est un nom IANA ; decisionTime et knowledgeTime sont des instants complets avec UTC ou un décalage, conservés sans substitution. legalTime est aussi requis avec context ; le profil peut exiger tous ces champs",
"properties": {
"decisionTime": {
"type": "string"
},
"knowledgeTime": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"timezone",
"decisionTime",
"knowledgeTime"
],
"type": "object"
},
"cutoff": {
"description": "deadline : l'heure de clôture des opérations",
"type": "string"
},
"days": {
"description": "deadline : la durée de la période",
"type": "integer"
},
"deadlinePolicy": {
"description": "la politique de décompte des délais exprimés en jours : le StableId d'une deadline policy déclarée dans le monde de la question (p. ex. 'urn:kz:corpus:clir:administrative-code#AC_WORKING_DAY_TERMS'), ou son nom court lorsqu'une seule déclaration le porte. Un objet en ligne {start_count: 'same_day'|'next_day', include_end: true|false, roll: 'no_roll'|'next_working_day'|'previous_working_day'[, month_end: 'last_day_of_month']} n'est accepté que par un monde 0.1 ; un monde 0.2 le refuse, et le refus nomme les politiques déclarées. Sans politique, une norme portant un délai répond MISSING_POLICY — la politique est fixée par le droit de la procédure et le serveur n'en suppose jamais une. L'instantané du calendrier officiel pour les jours ouvrables est fourni par le serveur lui-même dès qu'un acte les compte.",
"type": [
"string",
"object"
]
},
"evidence": {
"description": "documents de l'affaire, section 74, nœuds evidence_item. Un document est référencé depuis provenance.evidence de plusieurs faits. payload.confidence est une donnée pour l'EvidencePolicy ; le moteur n'évalue pas le nombre",
"type": "array"
},
"evidencePolicy": {
"description": "StableId d'un nœud evidence_policy, section 78.2. Sans lui, les appels précédents gardent leur comportement. Le seuil de confidence est une règle de cette politique, pas un argument de l'appel",
"type": "string"
},
"facts": {
"description": "faits de l'affaire : [{predicate, args, provenance, negated?, package?, judgment?}]. provenance est obligatoire et doit être un objet ; {} est accepté. Ses champs sont facultatifs : {origin?, evidence?: StableId, span?: {page?, quote?, offset?}, extractor?: {name, version?, confidence?}, observedAt?, recordedAt?}. origin vaut case_input par défaut. evidence et observedAt ne sont pas obligatoires ; l'extracteur est abaissé en was_generated_by et le document en was_derived_from. confidence est une chaîne décimale ; le seuil est lu par l'EvidencePolicy du paquet, pas par l'hôte. package résout un nom court ambigu ; args suit la même notation que les args de la question",
"items": {
"properties": {
"args": {
"type": "array"
},
"predicate": {
"type": "string"
},
"provenance": {
"type": "object"
}
},
"required": [
"predicate",
"args",
"provenance"
],
"type": "object"
},
"type": "array"
},
"focused": {
"description": "kind='truth' : poser la question en focused_truth — la même réponse que le truth complet, mais la preuve et les avertissements ne couvrent que le cône de la question ; la réponse porte evaluationKind et les empreintes de la coupe (focus) ; dans focus, le cône est réduit à coneHash et au nombre de prédicats, le manifeste complet du cône vient dans evaluation.focusManifest avec proof=true. Une coupe n'est pas un document d'audit : law_prepare_answer ne l'accepte pas pour publication",
"type": "boolean"
},
"kind": {
"description": "le type de question (truth par défaut)",
"enum": [
"truth",
"collect",
"deadline",
"calc",
"positions",
"why_not"
]
},
"legalTime": {
"description": "la date du droit (YYYY-MM-DD)",
"type": "string"
},
"package": {
"description": "restreindre la question à un paquet de droit",
"type": "string"
},
"predicate": {
"description": "ce qui est demandé, p. ex. 'duty_amount'",
"type": "string"
},
"proof": {
"description": "renvoyer dans la réponse le champ evaluation avec le graphe de preuve — une entrée toute prête pour law_explain (kind truth|collect ; par défaut un résumé sans le graphe)",
"type": "boolean"
},
"responseMode": {
"description": "full (défaut) — la réponse complète. compact est accepté par compatibilité : ce serveur ne construit pas de réponse courte et renvoie la même réponse complète dans les deux modes ; il n'y a ni référence fullAnswer ni instantané enregistré de la réponse.",
"enum": [
"full",
"compact"
]
},
"selectedInterpretations": {
"description": "lectures nommées ; pour un groupe exactly_one, choisir exactement un StableId parmi law_packages/law_rules",
"items": {
"type": "string"
},
"type": "array"
},
"supportEdges": {
"description": "appuis, section 75, nœuds support_edge : from est l'id du document, to est le littéral du fait, relation est supports ou refutes. L'admission est décidée par l'EvidencePolicy du paquet, pas par l'hôte",
"type": "array"
},
"unit": {
"enum": [
"calendar_day",
"business_day"
]
},
"version": {
"description": "la version exacte du paquet figée par le client (open('name@version')) ; si elle diffère de la composition du profil, l'hôte refuse au lieu de répondre avec une autre version",
"type": "string"
}
},
"additionalProperties": false
}