diff --git a/STATUS.md b/STATUS.md index d09deb1..523bd9a 100644 --- a/STATUS.md +++ b/STATUS.md @@ -2,70 +2,94 @@ -## Issues (58 open, 41 closed) +## Issues (57 open, 42 closed) -Verteilung: M1 11 · M2 17 · M3 4 · M4 11 · M5 15 +Verteilung: M1 11 · M2 16 · M3 4 · M4 11 · M5 15 + +Bedeutung der Meilensteine: siehe [roadmap.md](roadmap.md). + +### M1 (11) + +| Issue | Priorität | Status | Title | +|---|---|---|---| +| [0056](docs/issues/0056-gitops-9-external-postgresql-migration-cloudnativepg-o.md) | high | open | External PostgreSQL Migration: CloudNativePG or Hetzner | +| [0002](docs/issues/0002-game-01-host-von-cfgmon-aus-nicht-erreichbar-2.md) | medium | waiting | GAME-01: Host von CFGMON aus nicht erreichbar, 2 Prometheus-Targets down | +| [0030](docs/issues/0030-der-restore-ist-nie-geprobt-sicherungen-sind.md) | medium | in-progress | Der Restore ist nie geprobt — Sicherungen sind bisher eine Vermutung | +| [0078](docs/issues/0078-gitops-45-cve-meldeweg-v2-metriken-grafana-dashboard-al.md) | medium | open | CVE-Meldeweg v2: Metriken, Grafana-Dashboard, Alerts in eigenen Matrix-Raum | +| [0083](docs/issues/0083-gitops-50-monitoring-deploy-geaenderte-configs-greifen.md) | medium | open | Monitoring-Deploy: geaenderte Configs greifen nicht ohne --force-recreate (Inode-Falle bei Einzeldatei-Mounts) | +| [0088](docs/issues/0088-gitops-56-networkpolicy-ausgehender-verkehr-ist-unbesch.md) | medium | open | NetworkPolicy: ausgehender Verkehr ist unbeschränkt (13 Ingress-Regeln, 1 Egress) | +| [0102](docs/issues/0102-dmarc-und-mail-haertung-der-zone-axion1337-chat.md) | medium | open | DMARC der Plattform-Zone `axion1337.chat` steht auf p=none — und gehört IONOS, nicht uns | +| [0103](docs/issues/0103-wiki-zugang-ohne-gruppe-endet-stumm.md) | medium | open | Wiki: Anmeldung ohne Gruppe endet stumm — `wiki-anwender` hat null Mitglieder | +| [0004](docs/issues/0004-overmind-02-e1000e-nic-hang-beobachtung-nach.md) | low | waiting | OVERMIND-02: e1000e-NIC-Hang — Beobachtung nach EEE-Fix + Firmware-Update | +| [0072](docs/issues/0072-gitops-34-dsgvo-datenschutz-compliance-konkretisieren.md) | low | open | DSGVO/Datenschutz-Compliance konkretisieren | +| [0077](docs/issues/0077-gitops-42-grafana-dashboard-fuer-clamav-scan-ergebnisse.md) | low | open | Grafana-Dashboard für ClamAV-Scan-Ergebnisse (Issue #19) | + +### M2 (16) + +| Issue | Priorität | Status | Title | +|---|---|---|---| +| [0015](docs/issues/0015-cfgmon-15-token-hygiene-einmal-tokens-der.md) | medium | waiting | CFGMON-15: Token-Hygiene — Einmal-Tokens der LABNET-02-Nacht widerrufen | +| [0021](docs/issues/0021-overmind-03-windows-build-vm-verschwindet-ci.md) | medium | waiting | OVERMIND-03: Windows-Build-VM verschwindet — CI kann sie nur starten, nicht anlegen | +| [0027](docs/issues/0027-audit-01-acht-widersprueche-aus-dem-labnet-02.md) | medium | open | AUDIT-01: Acht Widersprüche aus dem LABNET-02-Nachlauf (Selbst-Audit CFGMON-Session) | +| [0034](docs/issues/0034-cfgmon-11-gitea-ci-rueckbau-abschliessen.md) | medium | open | CFGMON-11 — Gitea-CI-Rückbau abschließen (sicher rückbaubare Schritte) | +| [0073](docs/issues/0073-gitops-35-architektur-monorepo-umbau-mit-generalisierte.md) | medium | open | Architektur: Monorepo-Umbau mit generalisiertem Config-Overlay | +| [0009](docs/issues/0009-cfgmon-04-grafana-admin-credentials-aus-env.md) | low | open | CFGMON-04: Grafana-Admin-Credentials aus .env gelten nicht für die HTTP-API | +| [0014](docs/issues/0014-cfgmon-14-root-zugang-ueber-die-docker-gruppe.md) | low | open | CFGMON-14: Root-Zugang über die docker-Gruppe umgeht sudo und hinterlässt keine Spur | +| [0019](docs/issues/0019-doc-02-veralteten-wiki-branch-im-gitops-repo.md) | low | open | DOC-02: Veralteten `wiki`-Branch im gitops-Repo entfernen? | +| [0033](docs/issues/0033-overmind-01-element-desktop-build-lab-registry.md) | low | open | OVERMIND-01 — element-desktop-build von rohana in die Lab-Registry umziehen | +| [0040](docs/issues/0040-neckbeard-rueckmeldungen-einreichen.md) | low | open | neckbeard-Rückmeldungen aus dem Feldtest einreichen | +| [0053](docs/issues/0053-historien-durchgang-nicht-kanonische-commits.md) | low | open | Historien-Durchgang: acht nicht-kanonische Commits mitziehen | +| [0061](docs/issues/0061-gitops-20-external-secrets-operator-vs-current-sops-set.md) | low | open | External-Secrets Operator vs. current SOPS setup | +| [0074](docs/issues/0074-gitops-39-cleanup-checkliste-laufend.md) | low | open | Cleanup-Checkliste (laufend) | +| [0076](docs/issues/0076-gitops-41-registry-git-traffic-zum-gitea-host-ueber-pri.md) | low | open | Registry-/Git-Traffic zum Gitea-Host ueber privates Hetzner-Netzwerk statt oeffentlichem Internet routen | +| [0085](docs/issues/0085-gitops-52-docs-traegt-zwei-altbestaende-abgeschlossener.md) | low | open | docs/ trägt zwei Altbestände abgeschlossener Umzüge: TASKS.md und oldwiki/ | +| [0105](docs/issues/0105-projekt-wiki-vor-projektabschluss-klaeren.md) | low | waiting | Projekt `wiki`: Verbleib klären — erst unmittelbar vor Projektabschluss | + +### M3 (4) + +| Issue | Priorität | Status | Title | +|---|---|---|---| +| [0080](docs/issues/0080-gitops-47-raidplaner-mit-sozialer-komponente-verfuegbar.md) | medium | open | Raidplaner mit sozialer Komponente (Verfügbarkeiten, Aufgaben, Roadmap, Fotoalbum) | +| [0081](docs/issues/0081-gitops-48-gaeste-invite-workflow-per-bot-3-tage-account.md) | medium | open | Gäste-Invite-Workflow per Bot (3-Tage-Accounts, Admin-Freischaltung, begrenzte Reaktivierung) | +| [0094](docs/issues/0094-threadnet-web-4-direkter-link-zur-2fa-passkey-einrichtung-in.md) | medium | open | Direkter Link zur 2FA/Passkey-Einrichtung in den Account-Settings | +| [0092](docs/issues/0092-threadnet-web-1-default-client-einstellungen-theme-features-f.md) | low | waiting | Default-Client-Einstellungen (Theme, Features) für Neuinstallationen provisionieren | + +### M4 (11) + +| Issue | Priorität | Status | Title | +|---|---|---|---| +| [0029](docs/issues/0029-ui-harmonisieren-gleiche-farben-und-formen.md) | medium | open | UI harmonisieren: gleiche Farben und Formen über alle Oberflächen | +| [0057](docs/issues/0057-gitops-11-element-call-vp9-codec-retry.md) | medium | open | Element Call: VP9 codec retry | +| [0093](docs/issues/0093-threadnet-web-3-settings-normalisieren-video-audio-einstellun.md) | medium | open | Settings normalisieren: Video/Audio-Einstellungen nur im Call-Widget, nicht im Haupt-Client | +| [0096](docs/issues/0096-threadnet-web-7-rebranding-element-axion1337-web-desktop-gesa.md) | medium | waiting | Rebranding: Element → aXion1337 (Web + Desktop, Gesamtklammer) | +| [0022](docs/issues/0022-build-01-macos-client-reproduzierbar-bauen.md) | low | open | BUILD-01: macOS-Client reproduzierbar bauen — aktuell nur manuell auf sorbs Mac | +| [0086](docs/issues/0086-gitops-53-k8s-ressourcen-heissen-noch-element-web-docs.md) | low | open | k8s-Ressourcen heißen noch element-web-docs (Rest des ThreadNet-Rebrands) | +| [0087](docs/issues/0087-gitops-55-logo-fuer-die-authentik-anmeldemaske-entwerfe.md) | low | waiting | Logo für die Authentik-Anmeldemaske entwerfen (Querformat/SVG) | +| [0095](docs/issues/0095-threadnet-web-6-windows-desktop-code-signing-installer-brandi.md) | low | open | Windows-Desktop: Code-Signing (+ Installer-Branding) | +| [0097](docs/issues/0097-threadnet-web-9-feedback-bugreport-weg-eigener-rageshake-oder.md) | low | open | Feedback-/Bugreport-Weg: eigener Rageshake oder Alternative (Zammad nachhalten) | +| [0100](docs/issues/0100-threadnet-web-13-asset-pfade-tragen-weiterhin-element-themes-e.md) | low | open | Asset-Pfade tragen weiterhin "element" (themes/element/…) | +| [0101](docs/issues/0101-threadnet-call-4-kaputtes-paket-0-19-2-threadnet-6-in-der-regi.md) | low | open | Kaputtes Paket 0.19.2-threadnet.6 in der Registry — Herkunft ungeklärt | + +### M5 (15) + +| Issue | Priorität | Status | Title | +|---|---|---|---| +| [0051](docs/issues/0051-cve-remediation-pass.md) | high | open | CVE-Remediation-Pass: Schwachstellen-Report abarbeiten | +| [0065](docs/issues/0065-gitops-25-k3s-api-security-hardening.md) | high | open | K3s API security hardening | +| [0058](docs/issues/0058-gitops-14-web-application-firewall-waf.md) | medium | open | Web Application Firewall (WAF) | +| [0059](docs/issues/0059-gitops-16-pod-security-admission-restricted.md) | medium | open | Pod Security Admission (Restricted) | +| [0062](docs/issues/0062-gitops-21-renovate-dependabot-for-chart-and-image-updat.md) | medium | open | Renovate/Dependabot for chart and image updates | +| [0063](docs/issues/0063-gitops-22-security-advisory-monitoring-ess-element.md) | medium | open | Security advisory monitoring (ESS/Element) | +| [0064](docs/issues/0064-gitops-23-disable-automountserviceaccounttoken-where-no.md) | medium | open | Disable automountServiceAccountToken where not needed | +| [0066](docs/issues/0066-gitops-26-auditd-for-file-integrity-syscall-audit.md) | medium | open | auditd for file integrity & syscall audit | +| [0067](docs/issues/0067-gitops-27-kernel-hardening-sysctl.md) | medium | open | Kernel hardening (sysctl) | +| [0068](docs/issues/0068-gitops-28-lynis-security-baseline.md) | medium | open | Lynis security baseline | +| [0069](docs/issues/0069-gitops-29-crowdsec-integration.md) | medium | open | CrowdSec integration | +| [0070](docs/issues/0070-gitops-30-falco-runtime-monitoring.md) | medium | open | Falco runtime monitoring | +| [0071](docs/issues/0071-gitops-31-trivy-image-scanning-for-cves.md) | low | open | Trivy image scanning for CVEs | +| [0089](docs/issues/0089-gitops-58-eigene-images-sind-unsigniert-beim-deploy-pru.md) | low | open | Eigene Images sind unsigniert — beim Deploy prüft nichts die Herkunft | +| [0090](docs/issues/0090-gitops-59-kein-kubernetes-audit-log-zugriffe-an-der-api.md) | low | open | Kein Kubernetes-Audit-Log — Zugriffe an der API werden nicht protokolliert | -| Issue | Status | Meilenstein | Priorität | Title | -|---|---|---|---|---| -| [0002](docs/issues/0002-game-01-host-von-cfgmon-aus-nicht-erreichbar-2.md) | waiting | M1 | medium | GAME-01: Host von CFGMON aus nicht erreichbar, 2 Prometheus-Targets down | -| [0004](docs/issues/0004-overmind-02-e1000e-nic-hang-beobachtung-nach.md) | waiting | M1 | low | OVERMIND-02: e1000e-NIC-Hang — Beobachtung nach EEE-Fix + Firmware-Update | -| [0009](docs/issues/0009-cfgmon-04-grafana-admin-credentials-aus-env.md) | open | M2 | low | CFGMON-04: Grafana-Admin-Credentials aus .env gelten nicht für die HTTP-API | -| [0014](docs/issues/0014-cfgmon-14-root-zugang-ueber-die-docker-gruppe.md) | open | M2 | low | CFGMON-14: Root-Zugang über die docker-Gruppe umgeht sudo und hinterlässt keine Spur | -| [0015](docs/issues/0015-cfgmon-15-token-hygiene-einmal-tokens-der.md) | waiting | M2 | medium | CFGMON-15: Token-Hygiene — Einmal-Tokens der LABNET-02-Nacht widerrufen | -| [0019](docs/issues/0019-doc-02-veralteten-wiki-branch-im-gitops-repo.md) | open | M2 | low | DOC-02: Veralteten `wiki`-Branch im gitops-Repo entfernen? | -| [0021](docs/issues/0021-overmind-03-windows-build-vm-verschwindet-ci.md) | waiting | M2 | medium | OVERMIND-03: Windows-Build-VM verschwindet — CI kann sie nur starten, nicht anlegen | -| [0022](docs/issues/0022-build-01-macos-client-reproduzierbar-bauen.md) | open | M4 | low | BUILD-01: macOS-Client reproduzierbar bauen — aktuell nur manuell auf sorbs Mac | -| [0027](docs/issues/0027-audit-01-acht-widersprueche-aus-dem-labnet-02.md) | open | M2 | medium | AUDIT-01: Acht Widersprüche aus dem LABNET-02-Nachlauf (Selbst-Audit CFGMON-Session) | -| [0029](docs/issues/0029-ui-harmonisieren-gleiche-farben-und-formen.md) | open | M4 | medium | UI harmonisieren: gleiche Farben und Formen über alle Oberflächen | -| [0030](docs/issues/0030-der-restore-ist-nie-geprobt-sicherungen-sind.md) | in-progress | M1 | medium | Der Restore ist nie geprobt — Sicherungen sind bisher eine Vermutung | -| [0032](docs/issues/0032-gameserver-hat-keinen-push-mirror-und-auf-gitea.md) | open | M2 | medium | gameserver hat keinen Push-Mirror — und auf Gitea liegt ein anderer Stand | -| [0033](docs/issues/0033-overmind-01-element-desktop-build-lab-registry.md) | open | M2 | low | OVERMIND-01 — element-desktop-build von rohana in die Lab-Registry umziehen | -| [0034](docs/issues/0034-cfgmon-11-gitea-ci-rueckbau-abschliessen.md) | open | M2 | medium | CFGMON-11 — Gitea-CI-Rückbau abschließen (sicher rückbaubare Schritte) | -| [0040](docs/issues/0040-neckbeard-rueckmeldungen-einreichen.md) | open | M2 | low | neckbeard-Rückmeldungen aus dem Feldtest einreichen | -| [0051](docs/issues/0051-cve-remediation-pass.md) | open | M5 | high | CVE-Remediation-Pass: Schwachstellen-Report abarbeiten | -| [0053](docs/issues/0053-historien-durchgang-nicht-kanonische-commits.md) | open | M2 | low | Historien-Durchgang: acht nicht-kanonische Commits mitziehen | -| [0056](docs/issues/0056-gitops-9-external-postgresql-migration-cloudnativepg-o.md) | open | M1 | high | External PostgreSQL Migration: CloudNativePG or Hetzner | -| [0057](docs/issues/0057-gitops-11-element-call-vp9-codec-retry.md) | open | M4 | medium | Element Call: VP9 codec retry | -| [0058](docs/issues/0058-gitops-14-web-application-firewall-waf.md) | open | M5 | medium | Web Application Firewall (WAF) | -| [0059](docs/issues/0059-gitops-16-pod-security-admission-restricted.md) | open | M5 | medium | Pod Security Admission (Restricted) | -| [0061](docs/issues/0061-gitops-20-external-secrets-operator-vs-current-sops-set.md) | open | M2 | low | External-Secrets Operator vs. current SOPS setup | -| [0062](docs/issues/0062-gitops-21-renovate-dependabot-for-chart-and-image-updat.md) | open | M5 | medium | Renovate/Dependabot for chart and image updates | -| [0063](docs/issues/0063-gitops-22-security-advisory-monitoring-ess-element.md) | open | M5 | medium | Security advisory monitoring (ESS/Element) | -| [0064](docs/issues/0064-gitops-23-disable-automountserviceaccounttoken-where-no.md) | open | M5 | medium | Disable automountServiceAccountToken where not needed | -| [0065](docs/issues/0065-gitops-25-k3s-api-security-hardening.md) | open | M5 | high | K3s API security hardening | -| [0066](docs/issues/0066-gitops-26-auditd-for-file-integrity-syscall-audit.md) | open | M5 | medium | auditd for file integrity & syscall audit | -| [0067](docs/issues/0067-gitops-27-kernel-hardening-sysctl.md) | open | M5 | medium | Kernel hardening (sysctl) | -| [0068](docs/issues/0068-gitops-28-lynis-security-baseline.md) | open | M5 | medium | Lynis security baseline | -| [0069](docs/issues/0069-gitops-29-crowdsec-integration.md) | open | M5 | medium | CrowdSec integration | -| [0070](docs/issues/0070-gitops-30-falco-runtime-monitoring.md) | open | M5 | medium | Falco runtime monitoring | -| [0071](docs/issues/0071-gitops-31-trivy-image-scanning-for-cves.md) | open | M5 | low | Trivy image scanning for CVEs | -| [0072](docs/issues/0072-gitops-34-dsgvo-datenschutz-compliance-konkretisieren.md) | open | M1 | low | DSGVO/Datenschutz-Compliance konkretisieren | -| [0073](docs/issues/0073-gitops-35-architektur-monorepo-umbau-mit-generalisierte.md) | open | M2 | medium | Architektur: Monorepo-Umbau mit generalisiertem Config-Overlay | -| [0074](docs/issues/0074-gitops-39-cleanup-checkliste-laufend.md) | open | M2 | low | Cleanup-Checkliste (laufend) | -| [0076](docs/issues/0076-gitops-41-registry-git-traffic-zum-gitea-host-ueber-pri.md) | open | M2 | low | Registry-/Git-Traffic zum Gitea-Host ueber privates Hetzner-Netzwerk statt oeffentlichem Internet routen | -| [0077](docs/issues/0077-gitops-42-grafana-dashboard-fuer-clamav-scan-ergebnisse.md) | open | M1 | low | Grafana-Dashboard für ClamAV-Scan-Ergebnisse (Issue #19) | -| [0078](docs/issues/0078-gitops-45-cve-meldeweg-v2-metriken-grafana-dashboard-al.md) | open | M1 | medium | CVE-Meldeweg v2: Metriken, Grafana-Dashboard, Alerts in eigenen Matrix-Raum | -| [0080](docs/issues/0080-gitops-47-raidplaner-mit-sozialer-komponente-verfuegbar.md) | open | M3 | medium | Raidplaner mit sozialer Komponente (Verfügbarkeiten, Aufgaben, Roadmap, Fotoalbum) | -| [0081](docs/issues/0081-gitops-48-gaeste-invite-workflow-per-bot-3-tage-account.md) | open | M3 | medium | Gäste-Invite-Workflow per Bot (3-Tage-Accounts, Admin-Freischaltung, begrenzte Reaktivierung) | -| [0083](docs/issues/0083-gitops-50-monitoring-deploy-geaenderte-configs-greifen.md) | open | M1 | medium | Monitoring-Deploy: geaenderte Configs greifen nicht ohne --force-recreate (Inode-Falle bei Einzeldatei-Mounts) | -| [0085](docs/issues/0085-gitops-52-docs-traegt-zwei-altbestaende-abgeschlossener.md) | open | M2 | low | docs/ trägt zwei Altbestände abgeschlossener Umzüge: TASKS.md und oldwiki/ | -| [0086](docs/issues/0086-gitops-53-k8s-ressourcen-heissen-noch-element-web-docs.md) | open | M4 | low | k8s-Ressourcen heißen noch element-web-docs (Rest des ThreadNet-Rebrands) | -| [0087](docs/issues/0087-gitops-55-logo-fuer-die-authentik-anmeldemaske-entwerfe.md) | waiting | M4 | low | Logo für die Authentik-Anmeldemaske entwerfen (Querformat/SVG) | -| [0088](docs/issues/0088-gitops-56-networkpolicy-ausgehender-verkehr-ist-unbesch.md) | open | M1 | medium | NetworkPolicy: ausgehender Verkehr ist unbeschränkt (13 Ingress-Regeln, 1 Egress) | -| [0089](docs/issues/0089-gitops-58-eigene-images-sind-unsigniert-beim-deploy-pru.md) | open | M5 | low | Eigene Images sind unsigniert — beim Deploy prüft nichts die Herkunft | -| [0090](docs/issues/0090-gitops-59-kein-kubernetes-audit-log-zugriffe-an-der-api.md) | open | M5 | low | Kein Kubernetes-Audit-Log — Zugriffe an der API werden nicht protokolliert | -| [0092](docs/issues/0092-threadnet-web-1-default-client-einstellungen-theme-features-f.md) | waiting | M3 | low | Default-Client-Einstellungen (Theme, Features) für Neuinstallationen provisionieren | -| [0093](docs/issues/0093-threadnet-web-3-settings-normalisieren-video-audio-einstellun.md) | open | M4 | medium | Settings normalisieren: Video/Audio-Einstellungen nur im Call-Widget, nicht im Haupt-Client | -| [0094](docs/issues/0094-threadnet-web-4-direkter-link-zur-2fa-passkey-einrichtung-in.md) | open | M3 | medium | Direkter Link zur 2FA/Passkey-Einrichtung in den Account-Settings | -| [0095](docs/issues/0095-threadnet-web-6-windows-desktop-code-signing-installer-brandi.md) | open | M4 | low | Windows-Desktop: Code-Signing (+ Installer-Branding) | -| [0096](docs/issues/0096-threadnet-web-7-rebranding-element-axion1337-web-desktop-gesa.md) | waiting | M4 | medium | Rebranding: Element → aXion1337 (Web + Desktop, Gesamtklammer) | -| [0097](docs/issues/0097-threadnet-web-9-feedback-bugreport-weg-eigener-rageshake-oder.md) | open | M4 | low | Feedback-/Bugreport-Weg: eigener Rageshake oder Alternative (Zammad nachhalten) | -| [0100](docs/issues/0100-threadnet-web-13-asset-pfade-tragen-weiterhin-element-themes-e.md) | open | M4 | low | Asset-Pfade tragen weiterhin "element" (themes/element/…) | -| [0101](docs/issues/0101-threadnet-call-4-kaputtes-paket-0-19-2-threadnet-6-in-der-regi.md) | open | M4 | low | Kaputtes Paket 0.19.2-threadnet.6 in der Registry — Herkunft ungeklärt | -| [0102](docs/issues/0102-dmarc-und-mail-haertung-der-zone-axion1337-chat.md) | open | M1 | medium | DMARC der Plattform-Zone `axion1337.chat` steht auf p=none — und gehört IONOS, nicht uns | -| [0103](docs/issues/0103-wiki-zugang-ohne-gruppe-endet-stumm.md) | open | M1 | medium | Wiki: Anmeldung ohne Gruppe endet stumm — `wiki-anwender` hat null Mitglieder | -| [0105](docs/issues/0105-projekt-wiki-vor-projektabschluss-klaeren.md) | waiting | M2 | low | Projekt `wiki`: Verbleib klären — erst unmittelbar vor Projektabschluss | ## Active design docs (0) diff --git a/docs/issues/0032-gameserver-hat-keinen-push-mirror-und-auf-gitea.md b/docs/issues/0032-gameserver-hat-keinen-push-mirror-und-auf-gitea.md index 8a5c8f5..07411be 100644 --- a/docs/issues/0032-gameserver-hat-keinen-push-mirror-und-auf-gitea.md +++ b/docs/issues/0032-gameserver-hat-keinen-push-mirror-und-auf-gitea.md @@ -1,7 +1,7 @@ --- type: issue id: "0032" -status: open +status: rejected created: 2026-08-09 milestone: M2 priority: medium @@ -36,3 +36,12 @@ Pro Repo eines von beidem: 2. **Ausnahme begründen** — dann gehört sie in die `CLAUDE.md`, nicht ins Schweigen. Für `game-operating` ist das plausibel: Das Repo bildet nur ein Compose-Setup ab, es ist ausdrücklich „Abbild, keine Quelle". Die Prüfung meldet beide so lange, bis eines von beidem passiert ist — das ist beabsichtigt. + +## Abgelehnt 2026-08-20 — außerhalb des Arbeitsumfangs + +Entscheidung sorb: Der Game-Server ist nicht Teil dieses Vorhabens. Das Repo liegt +zwar in derselben git.lab-Gruppe und taucht deshalb in den Verbund-Prüfungen auf, wird +aber nicht bearbeitet. + +Der beschriebene Befund bleibt sachlich richtig — er ist nur nicht unserer. Wird der +Game-Server später aufgenommen, ist dies der Ausgangspunkt. diff --git a/roadmap.md b/roadmap.md index 514dad3..51f0cae 100644 --- a/roadmap.md +++ b/roadmap.md @@ -11,6 +11,21 @@ > Trennlinie „kaputt (M1) oder nie gehabt (M5)", siehe > [ADR-0010](docs/adr/0010-haertung-eigener-meilenstein.md). +## Die fünf Meilensteine, in einem Satz + +Was jeder Meilenstein aufnimmt — die Abgrenzung, nach der im Refinement einsortiert +wird. **Welche** Issues gerade daran hängen, steht in [STATUS.md](STATUS.md): dort +trägt jede Zeile ihren Meilenstein, und `gen_status.py --check` prüft in der CI, dass +die Liste zum Bestand passt. Hier steht deshalb bewusst nur die Bedeutung. + +| | Nimmt auf | +|---|---| +| **M1 — Betrieb absichern** | Alles, was **still** kaputtgeht: abgeschaltete Schutzmechanismen, ablaufende Fristen, ungeprüfte Annahmen. | +| **M2 — Lab als Quelle der Wahrheit** | Die Konsolidierung zu Ende bringen: verbliebene Ausnahmen zurückbauen, Credential-Hygiene, Board und Roadmap tragfähig machen. | +| **M3 — Community-Funktionen** | Was die Community spürt: Invite-Workflow, Raidplaner, alles über Chat hinaus. Setzt die Vision „kontrolliert wachsend" um. | +| **M4 — Produktreife ThreadNet** | Fork-Politur bis zur Vorzeigbarkeit: Rebranding zu Ende, Signing, Feedback-Weg. **Voraussetzung für eine Veröffentlichung.** | +| **M5 — Härtung** | Schutzbausteine, die es heute **nicht** gibt. Trennlinie zu M1: „kaputt (M1) oder nie gehabt (M5)" — [ADR-0010](docs/adr/0010-haertung-eigener-meilenstein.md). | + ## Linien und nächste Meilenstein-Kandidaten ### Betrieb & Sicherheit (axion1337.chat-Stack) diff --git a/scripts/gen_status.py b/scripts/gen_status.py index 65df437..6e2a998 100644 --- a/scripts/gen_status.py +++ b/scripts/gen_status.py @@ -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("")