Parsimony: an exception feature carried by one to three entries is not flagged

Open
#152 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
56/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp
Domain
backend

Research direction

Start by inspecting the schema v9 facts msa_exception_feature, msa, and rewrite_rhs_rule_feature, then find how Grammar-group Measures produce findings and limitation lines. Add the proposed P-feature-few-carriers check for features carried by fewer than four entries and required by an affix MSA or rule, including carriers and users and the 64-feature headroom. Verify it with a seeded-defect fixture and a clean control, as the issue requests.

Written by the indexing model from the issue text.

Description

An exception feature that licenses an affix on only one to three entries gets no Parsimony finding. That is a listed word dressed as a productivity restriction (Black 2.1.6: exception features are for an affix that is wrong on arbitrary stems). A 25,000-entry grammar with 24 such features, two of them carried by no entry, was rated near clean.

What we know:

  • The facts already hold what the check needs: msa_exception_feature, msa, rewrite_rhs_rule_feature (schema v9).
  • The same check covers phonological rules gated by a feature that one entry carries: a rule that applies to a single word.
  • The grammar was also 3 features below the PanGloss 64-feature cap, and nothing said so.

Proposed change: a Grammar-group Measure P-feature-few-carriers, one finding per exception feature that fewer than four entries carry and that an affix MSA or a rule requires, naming the carriers and the users; a limitation line states headroom against the 64-feature cap. Static, linear in the facts; under 1 s at 25,000 entries.

Related: sibling checks #153, #154, #155, #156, #157, #158, #159 (all open).

Next: build it with a seeded-defect fixture and a clean control.


Grounding

Black 2.1.6 and the listed-form alternative; the honest model of an affix on one to three stems is one lexical entry per attested word (a complex form of its base).

Dominant language
C#
Stars
1
Forks
0
Avg merge
3h 55m
Merged PRs (30d)
36

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from sillsdev/motif

All issues in sillsdev/motif

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.