Skip to content

HermitCrab conformance: producible behaviour has no discriminating fixture after the non-producible retirement #613

Open

Description

@johnml1135

Retiring the non-producible fixtures left FieldWorks-producible behaviour with no discriminating fixture. A regression in these paths would pass the conformance suite. The self-check still reports 137 of 137 runs passing at e9569ec, so nothing there shows the gap.

Status: open. Each gap needs a producible grammar, never a revived engine-only fixture.

What we know (most important first):

  • NonPartialRuleProhibitedAfterFinalTemplate is NotEvidenced for both arms: the same-word evidence relied on isCliticRule, and its severance list still names that attribute.
  • MaxApplicationCount has never been exercised from a producible grammar.
  • MPR features on phonological subrules and the StemName junction lost their dataflow cells.
  • bantu-tam-fusion (test(hermitcrab): opt-in stress grammars for optimization parity (not conformance) #578) tests no fusion. All 200 rules put a plain subrule first, which matches any stem, so the fusion subrule is never reached. Deleting all 200 changes none of the 60 results.
  • suffixing-evidential-adjacency-chain no longer separates "somewhere" from "adjacent" scope for its exclusions.

Not known: which of these FieldWorks users reach in practice.

Proposed change: one small witness per gap, ranked as above. Give bantu-tam-fusion subrules that can reach fusion, with constrained plain subrules. Add separating words to the evidential chain. New rows come from the engine and are reviewed against the rules.

Related: #480 (open), #578 (open), #505 (open).

Next: write a producible witness for NonPartialRuleProhibitedAfterFinalTemplate.


Smaller items
  • Six new open gap-baseline rows: MetathesisRule/multipleApplicationOrder/rightToLeftIterative, MorphologicalPhonologicalRuleFeatureGroup/matchType/all and /any, .../outputType/overwrite, Stratum/morphologicalRuleOrder/linear, and ordering:edge-cases/optional-template-composite/slots/t2pfx~t2mandatory. Check each for producibility first: linear and the feature-group settings may need no witness.
  • redupMorphType suffix: only prefix remains. ExcludedEnvironments was at risk: confirm that a witness remains.
  • isActive="no" on templates, phonological rules and metathesis rules: confirm what HCLoader does before treating it as a gap.
  • The mutant stack-overflow path is tested only at its classification. The real overflow reproduced only on a deleted fixture.
  • The two deleted MPR stress fixtures were the benchmark for closed PR Skip synthesis of candidates whose MPR features or stem names fail #570. An inflection-class benchmark could be rebuilt on inflClasses.
  • conformance/docs/what-it-claims.md narrative figures predate the 127-fixture corpus.
  • FieldWorksWitnessDirectoriesAreShapedCorrectly has no size or element check for minimal LDML.

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    • Status
      🆕 New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions