Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

HermitCrab conformance: verify blocked_by labels against the trace in the dead-rule gate

Ouverte
#552 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
52/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
csharp
Domaine
testing

Piste de recherche

Start with CoverageReport.cs:113-114 to see how blocked_by labels enter the exercised-rule set, then read FailureRuleAttributor.cs:66 and its trace attribution behavior. Add a reviewed exemption for failures the trace cannot attribute, including zimed, and make a mutated label fail the gate. The issue points to code at #480 commit b49433d7.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Hermit Crab

Summary

The conformance suite's dead-rule gate credits a rule as exercised whenever an expected-failure word names it in blocked_by. It never checks that the rule actually blocked the word. A wrong or stale label therefore counts as coverage.

FailureRuleAttributor.WordLevelFailureRuleIds is documented as upgrading those labels to verified, but it has no callers.

This is a proposal. #480 is adding two weaker steps:

  • the gate fails when a label is not a rule id in the fixture's grammar;
  • the docs say that blocked_by is asserted, not verified.

This issue tracks the stronger step: verify each label against the parse trace.

Who is affected: maintainers of the HermitCrab conformance suite (#480) and its PanGloss port.

Done when:

  • the gate requires the trace to attribute each word's failure to the rule named in blocked_by;
  • the gate keeps an explicit, reviewed exemption list for words whose failure cannot be attributed from the trace (the attributor's doc names zimed);
  • a mutated label fails the gate.
Code, on #480 at b49433d7
  • CoverageReport.cs:113-114 adds every word.BlockedBy id to the exercised set, with no check.
  • FailureRuleAttributor.cs:66 defines WordLevelFailureRuleIds. The only reference outside its own file is a string in OwnedSymbolKeyTests.cs:132.
  • At that head, all 108 blocked_by labels name real rule ids in their fixture grammars, so no label is wrong today.
Langage dominant
C#
Étoiles
29
Forks
16
Merge moyen
6 j 6 h
PR mergées (30 j)
12

Préparer son environnement

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de sillsdev/machine

Toutes les issues de sillsdev/machine

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.