Skip to content

HermitCrab conformance: 26 fixtures flagged fieldworks_producible still use a slot-rule outputPartOfSpeech FieldWorks never writes #612

Open

Description

@johnml1135

18 of 127 conformance fixtures and 8 of 16 stress fixtures are flagged fieldworks_producible: true but give a slot rule an outputPartOfSpeech, which FieldWorks never writes. The flag overclaims. A reader cannot yet trust it to mean that a real project can produce the grammar.

Status: open. The first retirement pass only acted on fixtures flagged false; it is on #480, and the stress half is on #578.

What we know, at e9569ec:

  • Identity outputPartOfSpeech on a slot rule: 18 conformance fixtures. Dropping it changed no parse in the fixtures already converted.
  • edge-cases/morphotactic-attribute-breadth also has a partial="true" entry with a part of speech, a partial rule in a slot, and a partial rule with outputPartOfSpeech.
  • 52 conformance fixtures have a linear stratum: 5 explicit and 47 by the DTD default of linear.
  • HCLoader builds its Morphology and Clitics strata as Unordered. Surface sets no order, so a linear Surface stratum with no rules may be legitimate.

Not known: how many of the 52 have morphological rules in a linear stratum, and whether flipping them to unordered changes any parse.

Proposed change: a one-line drop in each slot-rule fixture, one rebuild of morphotactic-attribute-breadth, and a per-stratum count for linear, then convert or delete. Expected parses come from the engine. A check that fails on these patterns when a fixture is flagged true would stop them coming back.

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

Next: count the linear strata that hold morphological rules, then convert the fixtures.


Counting method

Parsed every grammar.xml at e9569ec: a fixture counts when a rule named in a Slot morphologicalRules attribute has outputPartOfSpeech, and a linear count when any Stratum has morphologicalRuleOrder="linear" or omits the attribute. HermitCrabInput.dtd:244 sets the default. XmlLanguageWriter.cs:586 writes the attribute only for unordered. MPR feature groups were reviewed and match the groups HCLoader hardcodes, so they are not in this list.

🤖 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