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

BUG BrailleConverter output is ambiguous: "1a" encodes the same as "11", and "$" uses the period cell

Ouverte
#3,532 0 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

@barkha1research-ai y travaille déjà.

Depuis le 26/10/2026.

  • #3533 par @barkha1research-ai — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
python
Domaine
backend

Piste de recherche

The issue identifies BrailleConverter and provides a reproduction with four prompts and expected braille output. Start by locating the converter and its tests, then compare how it handles letters after numbers and the dollar sign. Done means the four outputs match the expected results; linked pull request #3533 is already open.

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

Description

Bug: triage
Describe the bug

BrailleConverter produces the same braille for different inputs in two cases, so the encoded prompt cannot be read back unambiguously:

  1. A letter from a to j directly after a number is written without the letter sign (dots 56, ⠰). In braille the letters a to j share their cells with the digits 1 to 0, so 1a and 11 both become ⠼⠁⠁.
  2. $ is mapped to ⠲, the period cell, so $5 and .5 both become ⠲⠼⠑. The Unified English Braille dollar sign is dot 4 followed by dots 234 (⠈⠎), which is also how liblouis's UEB table (en-ueb-chardefs.uti: sign $ 4-234) defines it.

liblouis's UEB grade 1 table (en-ueb-g1.ctb) marks a to j as the letters that need the letter sign after a number (numericnocontchars, nonumsign 56).

Steps/Code to Reproduce
import asyncio

from pyrit.converter import BrailleConverter


async def main():
    converter = BrailleConverter()
    for prompt in ["1a", "11", "$5", ".5"]:
        result = await converter.convert_async(prompt=prompt)
        print(prompt, result.output_text)


asyncio.run(main())
Expected Results
1a ⠼⠁⠰⠁
11 ⠼⠁⠁
$5 ⠈⠎⠼⠑
.5 ⠲⠼⠑
Actual Results
1a ⠼⠁⠁
11 ⠼⠁⠁
$5 ⠲⠼⠑
.5 ⠲⠼⠑
Versions
  • PyRIT version: installed from main (246b659e) in editable mode
  • Python version: 3.12

I have a fix for both and would like to open a PR for it.

Langage dominant
Python
Étoiles
4.7k
Forks
980
Merge moyen
2 j 9 h
PR mergées (30 j)
433

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

  • 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 microsoft/PyRIT

Toutes les issues de microsoft/PyRIT

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

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