Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#1,004 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
72/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
backend, cli

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Python
Star
165
Fork
69
Merge trung bình
1 ngày 1 giờ
Pull request đã merge (30 ngày)
79

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của bmad-code-org/bmad-loop

Tất cả issue của bmad-code-org/bmad-loop

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.