lib/yaml-subset.awk keeps the first duplicate key where the CI parser rejects the file
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 54/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Domínio
- build-system, testing
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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 withbash 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.pyreports 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
- Linguagem predominante
- Shell
- Estrelas
- 22
- Forks
- 2
- Merge médio
- 8h 27min
- PRs com merge (30d)
- 957
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de melodic-software/claude-code-plugins
-
priority: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
melodic-software/claude-code-plugins#7351 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
agent-ready priority: high work-class: scoped
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
melodic-software/claude-code-plugins#7312 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
priority: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
melodic-software/claude-code-plugins#7288 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
knowledge: docpage-digest dual verification defines no verdict vocabulary or pass/fail thresholdAbertaneeds-human
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
melodic-software/claude-code-plugins#7286 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
priority: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
melodic-software/claude-code-plugins#7282 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de melodic-software/claude-code-plugins
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
Sourced-library load-guards use a top-level `return` that errors on direct execution (repo-wide)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
rossoctl/automation#115 ·
Mantenedores costumam responder em até 3 dias
-
loongarch64: `unsupported linker arg: --no-rosegment` with rustc 1.100Talvez já em andamento @monosans assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
rust-cross/cargo-zigbuild#503 ·
Mantenedores costumam responder em até 1 dia
-
area/CubeMaster bug needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
TencentCloud/CubeSandbox#1959 ·
Mantenedores costumam responder em até 1 dia
-
netbox status: backlog topic: testing type: housekeeping
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
netbox-community/netbox#23395 ·
Mantenedores costumam responder em até 1 dia