law_ask
Poser une question au droit formalisé. Quand la réponse est « non établi », elle porte whyNot — le rapport why_not du moteur : les règles candidates et l'état de chaque conjonct (satisfait / non satisfait / indéterminé) ; les faits manquants y sont visibles et n'ont pas à être inventés. AVANT LE PREMIER appel, obtenez les noms de prédicats par law_search (une question dans vos propres mots → adresses) ou law_packages (les signatures d'un acte connu) — un nom inventé sera rejeté. Si l'outil a renvoyé une erreur ou « non établi », C'EST LA RÉPONSE : transmettez-la à l'utilisateur et ne la substituez pas par des connaissances générales sur le droit d'un autre pays. Mais « je n'ai trouvé aucun acte convenable » N'EST PAS une réponse tant que law_search n'a pas été interrogé : le silence du catalogue est une propriété de la recherche par titre, non une conclusion sur le corpus. kind='truth' — si un fait est établi ; kind='collect' — énumérer les enregistrements ; kind='deadline' — calculer un délai sur le calendrier officiel ; kind='positions' — quelles OBLIGATIONS sont nées des faits et quels sont leurs statuts ; kind='why_not' — le rapport why_not sur le même but, quel que soit le statut de la réponse. La réponse porte les règles appliquées, les avertissements et la provenance avec empreintes ; truth/collect portent aussi un bloc signature pour la présentation. Le serveur n'invente pas : là où une norme n'est pas formalisée, la réponse est « non établi » ou une erreur.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 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 | |
| calc | No | 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 | |
| days | No | deadline : la durée de la période | |
| kind | No | le type de question (truth par défaut) | |
| unit | No | ||
| after | No | deadline : la date de l'événement | |
| facts | No | 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 | |
| proof | No | 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) | |
| cutoff | No | deadline : l'heure de clôture des opérations | |
| context | No | 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 | |
| focused | No | 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 | |
| package | No | restreindre la question à un paquet de droit | |
| version | No | 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 | |
| evidence | No | 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 | |
| afterTime | No | deadline : l'heure de dépôt | |
| legalTime | No | la date du droit (YYYY-MM-DD) | |
| predicate | No | ce qui est demandé, p. ex. 'duty_amount' | |
| responseMode | No | 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. | |
| supportEdges | No | 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 | |
| deadlinePolicy | No | 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. | |
| evidencePolicy | No | 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 | |
| selectedInterpretations | No | lectures nommées ; pour un groupe exactly_one, choisir exactement un StableId parmi law_packages/law_rules |