docs(18): Planung abgeschlossen — Pruefer gruen (0 Blocker), Wellen im Fahrplan annotiert, offene Forschungsfragen in Plaenen aufgeloest, Aktenstand 'Ready to execute'

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-16 15:57:00 +02:00
parent 2eb3be8b74
commit 0e4eb9bf9e
4 changed files with 117 additions and 8 deletions
+11
View File
@@ -665,13 +665,24 @@ Plans (Wellenstruktur — streng nacheinander, alle drei fassen Schema, Controll
2. Auf der Anmeldeseite und unter Einstellungen gibt es "Desktop-App herunterladen" (Windows/Linux) mit Versionsangabe; der Download laeuft ueber die Tessera-API (Proxy auf die Release-Datei), Anwender brauchen keinen Gitea-Zugang
3. Der installierte Client zeigt nach Eingabe der Server-Adresse die Tessera-Anmeldung, laeuft mit Tray/Schliessen-ins-Tray/Autostart wie in Phase 6 und meldet eine neuere Client-Version mit Link zur Download-Seite
4. Anwender- und Betriebshandbuch beschreiben Installation, Erststart, Tray-Verhalten, Pipeline, Release-Dateien und Umgebungsvariablen
**Plans:** 6 plans
Plans:
**Wave 1**
- [ ] 18-01-PLAN.md — Tracer (Welle 1): Linux-Strecke lokal durchgehend — desktop-collect.sh (Manifest), API-Modul /desktop/latest + /desktop/download/:platform mit HTTP-Durchstich-Spec, Dockerfile COPY desktop-dist, Beweis im lokalen Docker-Stack; desktop-version.sh + Basislinie 1.1.0
**Wave 2** *(blocked on Wave 1 completion)*
- [ ] 18-02-PLAN.md — Pipeline (Welle 2): CI-Job desktop (Linux-AppImage mit Tag-Version) + Uebergabe an publish per actions/cache mit hartem Abbruch, Release-Upload (idempotent) in publish-release.sh
- [ ] 18-03-PLAN.md — Web (Welle 2): lib/desktop.ts, Download-Link auf der Anmeldeseite, Seite Einstellungen → Allgemein → Desktop-App, Seitenleiste, i18n de/en, Tests
- [ ] 18-04-PLAN.md — Client (Welle 2): lib.rs mit check_server/save_server_url, Versionspruefung gegen /api-proxy/desktop/latest, Tray mit Update-Eintrag und Autostart-Haken (Umlaute), tauri-plugin-opener, Erststart-Seite in Sie-Form/Tessera-Gestalt, echter Icon-Satz, lokaler AppImage-Beweis
**Wave 3** *(blocked on Wave 2 completion)*
- [ ] 18-05-PLAN.md — Windows-Cross-Bau (Welle 3): cargo-xwin/NSIS im Job desktop, Einsammeln beider Pakete, Push-Checkpoint mit Iterationsschleife (max. 3 Runden) bis zum gruenen Lauf
**Wave 4** *(blocked on Wave 3 completion)*
- [ ] 18-06-PLAN.md — Abschluss (Welle 4): Handbuecher (Anwender, Betrieb, Entwicklung, CI/CD-Runbook), CHANGELOG, REQUIREMENTS DESK-01..05, Gesamtlaeufe, Bedienprobe des Nutzers auf Windows
+7 -7
View File
@@ -1,18 +1,18 @@
---
gsd_state_version: "1.0"
milestone: v1.2
current_phase: 17
current_phase_name: eigene-ausschreibungs-quellen-je-nutzer
current_phase: 18
current_phase_name: desktop-client-fertigstellen
status: verified
stopped_at: "2026-09-16: Version 1.1.0 freigegeben (Tag v1.1.0, live-Abbilder, Gitea-Release von der Pipeline); Beta = main; Mandantenfaehigkeit ruht; Schalter AUS"
last_updated: "2026-09-16T10:15:09.000Z"
last_updated: "2026-09-16T13:56:53.351Z"
last_activity: 2026-09-16
last_activity_desc: Quick 260910-jab — drei zu kurz greifende RLS-Regeln geschlossen (GroupMembership beide Seiten, ModuleGrant beide Ziele, TenderRssFeedSource Lese-/Schreibsplit), listForUser gebunden, Aktenstand kohaerent
state_head: c5f4adeeed4bc858171323a5b4c3866ee991f560
state_head: 2eb3be8b74b61308a24e6ee4597cc228f5a13f37
progress:
total_phases: 17
total_phases: 18
completed_phases: 15
total_plans: 83
total_plans: 89
completed_plans: 82
milestone_name: Plattform-Berechtigungen
---
@@ -28,7 +28,7 @@ See: .planning/PROJECT.md (updated 2026-07-17)
## Current Position
Phase: 17 (eigene-ausschreibungs-quellen-je-nutzer) — VERIFIED / passed
Phase: 18 (desktop-client-fertigstellen) — READY TO EXECUTE
Plan: 3 of 3
Status: Phase abgeschlossen und im Browser gegengeprueft — bereit fuer /gsd-ship
Last activity: 2026-09-16 - Aenderungsliste (260916-dcz: CHANGELOG.md, Seite "Was ist neu", Gitea-Release je Tag, Release v1.0.0 angelegt) + Uebersetzungs-Nachtrag c3d8e16; Beta-Abbild c3d8e16 bereit. Freigabe der naechsten Version (1.1.0) auf Zuruf des Users: CHANGELOG Unveroeffentlicht -> 1.1.0, live ff-merge, Tag, Push
@@ -619,7 +619,7 @@ export function loadDesktopLatest(): Promise<DesktopLatestInfo | null> {
**If this table is empty:** N/A — see above.
## Open Questions
## Open Questions (RESOLVED in plans: Q1 → 18-01 desktop-collect.sh find-then-rename; Q2 → 18-05 Iterationsschleife; Q3 → 18-05 actions/cache@v3-Fallback)
1. **Exact default filename Tauri 2.11.3's bundler gives the NSIS `.exe` and the AppImage**
- What we know: Tauri v1 used `${productName}_${version}_${arch}-setup.exe`-style names; v2's exact current default was not confirmed against an authoritative primary source this session.
+98
View File
@@ -0,0 +1,98 @@
{
"contract": "1.0.0",
"flavor": "core",
"milestone": "v1.2",
"phases": [
{
"number": "1",
"name": "Foundation & Portal Shell",
"status": "complete"
},
{
"number": "2",
"name": "Authentication & Multi-Tenancy",
"status": "pending"
},
{
"number": "3",
"name": "Module System & Domaincheck",
"status": "complete"
},
{
"number": "4",
"name": "Marketplace & Portal Navigation",
"status": "complete"
},
{
"number": "5",
"name": "Dashboard & Calendar",
"status": "complete"
},
{
"number": "6",
"name": "Desktop Client & CI/CD",
"status": "complete"
},
{
"number": "7",
"name": "DKV Fleet Module",
"status": "complete"
},
{
"number": "8",
"name": "Dashboard Widgets Vollimplementierung",
"status": "complete"
},
{
"number": "9",
"name": "Cert Manager Module",
"status": "complete"
},
{
"number": "10",
"name": "Ausschreibungs-Radar Foundation & DÖE Ingestion",
"status": "complete"
},
{
"number": "11",
"name": "Filter Engine, Results UI & Saved Searches",
"status": "complete"
},
{
"number": "12",
"name": "Tender Notifications",
"status": "complete"
},
{
"number": "13",
"name": "Scraping Adapters & Cross-Source Deduplication",
"status": "complete"
},
{
"number": "14",
"name": "RSS, Email-Alert Ingestion & Module Rollout",
"status": "pending"
},
{
"number": "15",
"name": "Modul-Berechtigungen: Gruppen & User-Grants",
"status": "complete"
},
{
"number": "16",
"name": "AD-Gruppen-Synchronisation",
"status": "complete"
},
{
"number": "17",
"name": "Eigene Ausschreibungs-Quellen je Nutzer",
"status": "complete"
}
],
"next": {
"command": "/gsd:progress --next",
"label": "Advance to the next step (verify)",
"reason": "Phase 18 of 18 · ready to verify"
},
"updated_at": "2026-09-16T13:56:53.376Z"
}