Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

BUG: within word punctuation insertion can never land at the last two positions of the prompt

Offen Anfängerfreundlich
#3,565 0 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

@ManoharPaturi arbeitet bereits daran.

Seit 27.10.2026.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
76/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
testing-qa

Rechercherichtung

Lies zuerst InsertPunctuationConverter._insert_within_words und den zugehörigen Docstring und sieh dir anschließend die Tests für InsertPunctuationConverter an. Reproduziere das gemeldete Verhalten mit dem dreistelligen Prompt abc und den Seeds 0 bis 299. Fertig ist die Aufgabe, wenn jede Einfügeposition erreicht werden kann, auch direkt vor dem letzten Zeichen und nach dem letzten Zeichen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Description

InsertPunctuationConverter._insert_within_words samples insertion indices from range(len(prompt_list) minus 1), so for a prompt of n characters only positions 0 through n minus 2 are ever chosen. Of the n plus 1 possible insertion points, a punctuation mark can never land immediately before the last character or after the final character, no matter the seed.

For the three character prompt abc, 300 different seeds produce only prefixes at offsets 0 and 1: outputs like ab!c or abc! are unreachable, while the method docstring says punctuation is inserted at any indices in the prompt.

Expected Behavior

Every insertion point of the prompt, before the first character through after the last, should be reachable.

Reproduction Steps

  1. Run InsertPunctuationConverter(between_words=False, word_swap_ratio=1.0, seed=s).convert_async(prompt="abc", ...) for seeds 0 through 299.
  2. Collect the offset of the inserted punctuation.
  3. Only offsets 0 and 1 ever appear on main.

Minimal Reproduction

offsets = set()
for seed in range(300):
    out = await InsertPunctuationConverter(between_words=False, word_swap_ratio=1.0, seed=seed).convert_async(prompt="abc", input_type="text")
    offsets |= {i for i, ch in enumerate(out.output_text) if not ch.isalnum()}
# {0, 1} on main

Environment

PyRIT main. Python 3.11.

Vorherrschende Sprache
Python
Sterne
4.7k
Forks
980
Ø Merge
2 T. 9 Std.
Gemergte PRs (30 T.)
433

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/PyRIT

Alle Issues in microsoft/PyRIT

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.