lib/yaml-subset.awk keeps the first duplicate key where the CI parser rejects the file
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 54/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 領域
- build-system, testing
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Shell
- スター
- 22
- フォーク
- 2
- 平均マージ
- 8時間 24分
- マージ済み PR(30日)
- 947
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
melodic-software/claude-code-plugins のほかの issue
-
needs-human needs-triage priority: medium
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
melodic-software/claude-code-plugins#7455 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
priority: medium
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
melodic-software/claude-code-plugins#7351 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
agent-ready priority: high work-class: scoped
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
melodic-software/claude-code-plugins#7312 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
priority: medium
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
melodic-software/claude-code-plugins#7288 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
knowledge: docpage-digest dual verification defines no verdict vocabulary or pass/fail thresholdオープンneeds-human
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
melodic-software/claude-code-plugins#7286 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
melodic-software/claude-code-plugins の issue をすべて見る
似ている issue
-
bug needs-triage
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
mattpocock/skills#1281 ·
メンテナーはふだん 1 日以内に返信
-
github_actions
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
hiero-ledger/hiero-consensus-node#27621 ·
メンテナーはふだん 1 日以内に返信
-
application-issue
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Installomator/Installomator#3427 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
software-mansion/argent#1483 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100