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

Cerrado
#612 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
28/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
csharp, xml
Área
testing

Línea de trabajo

Start with the counting method in the issue, then look at HermitCrabInput.dtd line 244 for the default linear order and XmlLanguageWriter.cs line 586 for when the attribute is written. Check HCLoader's Morphology and Clitics strata, then the grammar.xml fixtures and edge-cases/morphotactic-attribute-breadth. Done means the fieldworks_producible flags agree with the fixtures, and a check fails if a slot rule with outputPartOfSpeech is flagged true. The issue is still open, so confirm scope with maintainers first.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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 e9569ec0:

  • 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 e9569ec0: 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

Lenguaje dominante
C#
Estrellas
29
Forks
16
Merge medio
5 d 20 h
PR fusionados (30 d)
11

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de sillsdev/machine

Todos los issues de sillsdev/machine

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.