Skip to content

fix: reject section-marker addresses and role+number orgs#403

Draft
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/czech-registry-anonymization-quality-b3a0
Draft

fix: reject section-marker addresses and role+number orgs#403
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/czech-registry-anonymization-quality-b3a0

Conversation

@cursor

@cursor cursor Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Czech Registr smluv evaluation on a recent mandate agreement found two clear scaffolding false positives:

  1. Place-of-performance cues kept bare section ids as addresses (6.1).
  2. Municipality prefix cues (města / shared role vocabulary) captured page footers as organizations (Strana 7).

Before / after

# before
address:       "6.1"
organization:  "Strana 7"

# after
(no address entity for "6.1")
(no organization entity for "Strana 7")

Negative control: ordinary municipality captures such as město Brandýs nad Labem remain organizations.

Approach

  • Reject address spans that are only section-number shaped, including trigger-sourced values.
  • Reject organization spans whose first token is a shared generic-role word and whose remainder is only digits (vocabulary-driven; not a Czech-token branch in core).

Tests

  • cargo test --lib false_positives (pass)
  • bun test src/__test__/document-scaffold-fp.test.ts (pass)
  • bun test src/__test__/person-span-boundary.test.ts (pass)
  • pre-push typecheck/format/test:fast (pass)
  • bunx changeset status shows patch for @stll/anonymize

Follow-ups not fixed

  • Genitive data-box cue datové schránky: (nominative datová schránka: works); adding declined triggers rewrites many assemble fixtures (architecture gate).
  • město/města org trigger still captures declined city prose (Louny je jako …).
  • Heading address FP Článek 6 Místo plnění.
  • Cross-country de.stnr regex accepts bare 10-digit application numbers under --countries CZ.
  • Compound title residue Mgr. et before Bc. … person spans.
  • Digital-signature layout leaving orphan surnames.

Privacy

No contract body, attachment, or full entity dump was committed. Only short public scaffolding snippets appear in tests.

CC on behalf of jan-kubica

@coderabbitai review

Open in Web View Automation 

cursoragent and others added 3 commits July 25, 2026 00:14
Place-of-performance cues were keeping bare section ids (6.1) as
addresses, and municipality prefix cues captured page footers such as
Strana 7 as organizations. Reject those shapes via shared filters.

Co-authored-by: Jan Kubica <jan-kubica@users.noreply.github.com>
Co-authored-by: Jan Kubica <jan-kubica@users.noreply.github.com>
Co-authored-by: Jan Kubica <jan-kubica@users.noreply.github.com>
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