Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

lib/yaml-subset.awk keeps the first duplicate key where the CI parser rejects the file

Aperta
#7,331 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
54/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
awk, github-actions, python, shell

Direzione di ricerca

Read lib/yaml-subset.awk and trace how --strict is passed by parse-concern-value.sh; inspect scripts/shared-copies.txt and the consumers of non-strict mode. Add duplicate-key rejection for keys in the same mapping in strict mode, propagate the canonical change with bash scripts/sync-shared-copies.sh, and check that non-strict consumers retain their current behavior. Done means strict mode rejects the duplicate case while existing non-strict behavior is preserved.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

priority: medium

Problem

When a mapping repeats a key, the shared awk YAML reader lib/yaml-subset.awk keeps the first value. The CI config parser rejects the same file. So a local reader and CI can disagree about one config.

Concrete case: babysit_merge_policy.py reads docs/conventions/pr-pipeline.yaml through this reader (via parse-concern-value.sh --strict) to decide the unattended merge rung. If the merge: block contained a key twice, CI would reject the file but the local reader would act on the first value. The CI rejection keeps the bad config off main, so this is latent today.

Expected

--strict mode treats a duplicate key in the same mapping as a parse error, the same as the CI parser.

Scope

  • Canonical source: lib/yaml-subset.awk.
  • Copies registered in scripts/shared-copies.txt (16 files on main); propagate with bash scripts/sync-shared-copies.sh.
  • Check each consumer of the non-strict mode keeps its current behavior, or opt it in.

Related

  • #6699: the Python yaml_subset.py reports the wrong line for a duplicate key in a sequence item. It is a separate reader.
  • #6202: auto-merge-safe-prs. Found by the Phase 8 security review on #7324.

🤖 Generated with Claude Code

Lingua principale
Shell
Stelle
22
Fork
2
Merge medio
8h 25m
PR unite (30g)
944

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di melodic-software/claude-code-plugins

Tutte le issue di melodic-software/claude-code-plugins

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.