Skip to content

A connective is not a thing, and a restatement is not a claim - #221

Merged
Parshkov merged 1 commit into
mainfrom
claude/connectives-are-not-things
Sep 7, 2026
Merged

Parshkov merged 1 commit into
mainfrom
claude/connectives-are-not-things

Conversation

@Parshkov

@Parshkov Parshkov commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Second round of the same complaint, from the same person, on the same card — found by pasting the idea into production after #220 deployed.

What the card still said

relation verdict
1 «поэтому система» → prevents → вмешательство a connective headed the label
2 Контроллер вычисляет ошибку → causes → корректирующее движение руля right
3 Постоянная помощь мешает научиться → causes → система уменьшает вмешательство right
4 Мотор через пружинную муфту → causes → корректирующий момент right
5 Постоянная помощь → prevents → «Постоянная помощь мешает ребёнку научиться…» one end restates the other

Two fixes

A connective does not head a label. LEADING_DROP had no discourse connectives, so «поэтому система постепенно уменьшает вмешательство» produced a node called «поэтому система». English has the identical hole — therefore, hence and thus are absent from that list too — but its gold never lands on it. Only the Cyrillic side is filled, which is what keeps the English figures identical.

A restatement is not a claim. Unification by stem containment can relate a thing to a sentence containing it, and a person reads that as nonsense. Such relations are now abstained, with the reason recorded in abstentions. This guard is not Cyrillic-scoped — it applies to both languages — and the extraction gate is unchanged by it, so English had never produced one.

Result on the text that started this

Four readable relations, no garbage, where the same input previously gave «что --causes--> ребёнок» (#220) and then «поэтому система --prevents--> вмешательство».

Evidence

python3 -m unittest discover -s tests          # Ran 727 tests ... OK (skipped=1)
python3 benchmark/extraction-v0.2/runner.py    # pass, metrics identical
python3 benchmark/r0-v0.2/runner.py            # pass
python3 ops/lexicon_check.py                   # exit 0
{"assertion_accuracy": 1.0, "cases": 22, "determinism": 1.0, "edge_f1": 0.9359,
 "edge_precision": 0.9359, "edge_recall": 0.9359, "modality_accuracy": 0.9726,
 "node_f1": 0.9333, "node_precision": 0.9297, "node_recall": 0.937,
 "nonempty_rate": 1.0, "pii_leaks": 0, "role_accuracy": 0.6218}

Unchanged for the third consecutive extractor change.

Still not fixed

Recall. This is the third round of removing wrong output; none of it adds the relations that are missed. Three rounds of finding defects by eye is itself the argument for the Russian gold set ADR-0008 names as absent — every one of these was found by a person reading a card, which does not scale and did not catch them before he did.

Checklist

  • CI is green — 3/3: test suite 12m0s, benchmark gates 41s, lexicon 9s.
  • benchmark/ gold is unedited.
  • Extractor behaviour changed; ADR-0008 already records this line of work and its limits.
  • No credentials, tokens or private human context committed.

🤖 Generated with Claude Code

Same complaint, same person, same card, one round later. After «что»
stopped becoming a node, «поэтому» started heading one: the card read
«поэтому система --prevents--> вмешательство». A discourse connective
joins clauses and is never the head of the thing being reasoned about.
English has the identical hole -- therefore, hence and thus are absent
from LEADING_DROP too -- but its gold never lands on it, so only the
Cyrillic side is filled and the English figures stay identical.

The same card also showed «Постоянная помощь --prevents--> Постоянная
помощь мешает ребёнку научиться балансировать». Unification by stem
containment can relate a thing to a sentence containing it, and nothing
is claimed by that. Such a relation is now abstained with a reason.
That guard is not Cyrillic-scoped -- it applies to both languages --
and the extraction gate is unchanged by it, so English had never
produced one.

Measured on the substantive half of the idea that started this: four
readable relations where there were «что --causes--> ребёнок» and
«поэтому система --prevents--> вмешательство».

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Parshkov
Parshkov merged commit faa36b3 into main Sep 7, 2026
3 checks passed
@Parshkov
Parshkov deleted the claude/connectives-are-not-things branch September 7, 2026 09:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant