HermitCrab: track exact analysis feature inversion and chained override parse loss
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 29
- Forks
- 17
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 8
Description
Valid words can lose their analyses when one affix overwrites features set by another. This issue tracks exact feature inversion: recovering valid derivations without admitting invalid ones.
Who is affected: HermitCrab users with chained feature-changing rules, and PanGloss maintainers using Machine as their correctness baseline.
The existing chained-output-feature-override-loss fixture reproduces the loss at conformance revision 8bad1934. Current master and PR #494 still need separate reruns. PanGloss has an Exact implementation; that alone does not establish general correctness.
Done when: the chosen fix has failing-before/passing-after evidence, preserves complete parse identities and multiplicities, rejects invalid neighbors, and covers nested features, absent paths, variables, and disjunctions. Reconcile it with #493's template-feature change and #505's merge investigation. Treat skips and timeouts as incomplete evidence.
Reproduction, evidence, and remaining checks
Reuse conformance/edge-cases/chained-output-feature-override-loss in #480; do not duplicate it.
For zudiua: ZUD + INNER writes tense=pres; OUTER overwrites it with past; OUTERMOST requires past. Forward synthesis justifies the parse. Negative control zudia lacks the overwrite.
The six-word check completed every row at 8bad193454a14422a3be59c3156513691ae3da3b: four positive controls and the rejection passed; valid zudiua still returned no parse.
Earlier Exact evidence and the post-#493 rerun request remain relevant. Historical Add/PriorityUnion losses are not substitutes for pinned current-head runs.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the conformance/edge-cases/chained-output-feature-override-loss fixture referenced in #480, then compare runs at revision 8bad1934, current master, and PR #494. Done means failing-before/passing-after evidence with complete parse identities and multiplicities, rejection of invalid neighbors, and coverage for nested features, absent paths, variables, and disjunctions; reconcile #493 and #505.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100