Working session: explain and doubt
The conclusion “the break is shorter than the minimum” is established. Before passing it on, three questions: what proves it, will it stand against objections, and what does the statute actually say. Each has its own tool.
Repeat the question with proof: true. The answer gains an evaluation
field with the proof graph: case-fact nodes, rule-application nodes, and
the query node, each with premises. The graph is large because it also
holds background derivations of the package; you do not need to read it by
hand. law_explain reads it:
{ "evaluation": { "…поле evaluation из ответа law_ask…" } }{ "steps": [ { "rule": "…#FeedingBreakForOneChildIsThirtyMinutes", "premises": ["…case#fact-1", "…case#fact-2"], "conclusion": "feeding_break_too_short(Айгуль, Работодатель)" } ], "proofHash": "sha256:…" }One step: the thirty-minute rule, two premises — our two facts, the
conclusion — our predicate. Background is dropped, the chain remains.
proofHash is a fingerprint of the graph; a repeated computation is
obliged to give the same.
Robustness
Section titled “Robustness”law_argue asks not “was it derived” but “will it stand”: it builds every
argument from the facts and rules of the act, attacks between them and
defeats by priorities, and answers with one of four classes — unassailable,
merely defensible, rejected, no arguments.
The first call on the Labour Code refused: RESOURCE_LIMIT, the profile’s
argument-count cap was exceeded, “the derivation stopped with no partial
result”. That is an honest refusal, not a fault: the act is large, and a
dispute on it as a whole does not fit the default limit. It is treated with
a limits field raising maxArguments, or by narrowing the facts.
The second call, with the cap raised, answered NO_ARGUMENT — “there are
no arguments for the conclusion — neither a fact nor a chain of rules”.
And that while law_ask has just derived TRUE_ONLY. There is no
contradiction: the answer carries skippedRules, and in it our rule with
the reason “conjunct outside established/not_known”. The dispute profile
works over a narrower fragment of the language than the derivation engine:
a rule with an arithmetic guard “less than 30” is not in it. NO_ARGUMENT
here means “the disputant does not see this rule”, not “the conclusion is
wrong”.
Hence the reading rule: the class of a law_argue answer is read only
together with skippedRules. If the rule that gave the conclusion stands
among the skipped, robustness was not measured, and you must not speak of
it.
Official text
Section titled “Official text”law_sources with a fragment identifier from the rule’s anchors returns
the article text, its language, status (official), and contentHash —
the hash of the pinned bytes:
{ "fragment": "urn:kz:corpus:clir:labour-code#TK_ART82" }The answer is the whole article, with items on breaks, on joining them to
lunch, and on keeping pay, and a footnote about the edition. Compare the
reading of the rule with the text yourself: the formalization is a model of
the article, and law_rules verbalizes the rule next to the label exactly
so that comparison is possible. Found a divergence — that is what
law_report is for.
Editions
Section titled “Editions”law_editions with a package and two legal dates says whether the law
changed between them: edition state on each date, dating of norms, a
semantic diff, and a verdict. For our act between the beginning of last
year and this year the verdict is no change, and both dates have one
edition in force. The verdict “there was nothing to date from” is separate
and does not mean “no change”.
Answer, proof, robustness, text, and edition — that is everything you can ask about a conclusion. What remains is to do the same not by hand — from code.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.