STATUS nach Meilenstein gruppieren, #0032 abgelehnt

#0032 (gameserver ohne Push-Mirror) auf rejected: Der Game-Server ist nicht Teil
des Arbeitsumfangs. Der Befund bleibt sachlich richtig, er ist nur nicht unserer.

STATUS.md listete alle offenen Issues flach; die Frage "was gehoert zu M1" war
darin nur durch Suchen zu beantworten. Jetzt nach Meilenstein gruppiert und
innerhalb dessen nach Prioritaet - ersetzend, nicht ergaenzend: derselbe Bestand
zweimal untereinander waere genau die Doppelpflege, die diese Datei vermeidet.

roadmap.md bekommt die Bedeutung der fuenf Meilensteine in einem Satz je Zeile.
Die stand bisher nur in den GitLab-Milestone-Beschreibungen und war im Repo
nirgends nachlesbar. Zahlen bleiben draussen - die Datei sagt in ihrem eigenen
Kopf, warum (F-001/F-010).
This commit is contained in:
Thore Cimbal
2026-08-20 12:00:00 +00:00
parent 6c5ecd4fef
commit ed87ffe236
4 changed files with 133 additions and 69 deletions
+22 -6
View File
@@ -87,12 +87,28 @@ def render(root: Path) -> str:
out.append("Verteilung: " + " · ".join(
f"{m} {n}" for m, n in sorted(dist.items())))
out.append("")
out.append("| Issue | Status | Meilenstein | Priorität | Title |")
out.append("|---|---|---|---|---|")
for rel, meta, name in open_issues:
out.append(f"| [{meta.get('id', '?')}]({rel}) "
f"| {meta.get('status')} | {meta.get('milestone')} "
f"| {meta.get('priority')} | {name} |")
out.append("Bedeutung der Meilensteine: siehe [roadmap.md](roadmap.md).")
out.append("")
# Nach Meilenstein gruppiert, innerhalb dessen nach Priorität: die Sicht, in
# der man einen Meilenstein abarbeitet. Eine flache Liste ueber alle 57 offenen
# Issues beantwortet die Frage "was gehoert zu M1" nur durch Suchen.
# Bewusst ersetzend statt ergaenzend - derselbe Bestand zweimal untereinander
# waere genau die Doppelpflege, die diese Datei vermeiden soll.
rang = {"high": 0, "medium": 1, "low": 2}
for m in sorted({str(i[1].get("milestone", "?")) for i in open_issues}):
gruppe = [i for i in open_issues
if str(i[1].get("milestone", "?")) == m]
gruppe.sort(key=lambda i: (rang.get(str(i[1].get("priority")), 9),
str(i[1].get("id", ""))))
out.append(f"### {m} ({len(gruppe)})")
out.append("")
out.append("| Issue | Priorität | Status | Title |")
out.append("|---|---|---|---|")
for rel, meta, name in gruppe:
out.append(f"| [{meta.get('id', '?')}]({rel}) "
f"| {meta.get('priority')} | {meta.get('status')} "
f"| {name} |")
out.append("")
else:
out.append("_none open_")
out.append("")