Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Sprint-status keys of a letter-suffixed epic (epic-4a, 4a-1-...) are silently ignored

オープン
#1,004 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
72/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
python
領域
backend, cli

調査の方向性

Start in bmad_loop/sprintstatus.py at the epic and story regular expressions and the load() parsing logic. Follow how epic IDs are stored and used for sorting and selection, then check the --epic and --story handling. Add coverage for the supplied lettered epic and retrospective examples; done means they load as recognized keys, sort between epics 4 and 5, and can be selected.

索引モデルが issue の本文から書いたものです。

説明

Version: 0.13.2 (same in 0.11.1), Linux (Ubuntu 24.04 on WSL2)

What happens

Some BMAD projects split an epic and number the parts with a letter: epic-4a, 4a-1-…, 4a-2-…, epic-4a-retrospective. bmad-loop does not parse these keys. load() puts them in unknown_keys, validate lists them under "unknown keys ignored", and run never selects those stories. In our project that is 76 story keys across two lettered epics (4a, 4b), so that part of the backlog can never go through the loop.

#144 / #147 fixed the letter suffix on the story segment (2-6a). The epic segment is still digits only, and epic is an int (epic=int(m.group(1))):

EPIC_RE = re.compile(r"^epic-(\d+)$")
RETRO_RE = re.compile(r"^epic-(\d+)-retrospective$")
STORY_RE = re.compile(r"^(\d+)-(\d+)([a-z]?)-(.+)$")

Repro (0.13.2)

from pathlib import Path
from bmad_loop import sprintstatus

p = Path("sprint-status.yaml")
p.write_text("""development_status:
  epic-4: in-progress
  4-1-numeric-epic-story: ready-for-dev
  epic-4a: in-progress
  4a-1-lettered-epic-story: ready-for-dev
  4a-2-another-lettered-story: backlog
  epic-4a-retrospective: optional
""")
ss = sprintstatus.load(p)
print([s.key for s in ss.stories])
# ['4-1-numeric-epic-story']
print(ss.unknown_keys)
# ('epic-4a', '4a-1-lettered-epic-story', '4a-2-another-lettered-story', 'epic-4a-retrospective')

Expected

epic-4a, its stories and its retrospective are recognized like epic-4, ordered between epic 4 and epic 5, and selectable with --epic 4a and --story 4a-1-….

Note

#83 tried a broader change (string epic ids, sprint-NN containers, a backlog bucket) and was closed without merge. A narrower fix, an optional lowercase letter on the epic segment as #147 did for the story segment, would cover this case. We can test a fix against our project's sprint-status.

主要言語
Python
スター
165
フォーク
69
平均マージ
1日 1時間
マージ済み PR(30日)
79

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

bmad-code-org/bmad-loop のほかの issue

bmad-code-org/bmad-loop の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。