- Emojis aus Mermaid-Nodes entfernt (verursachten Fragezeichen)
- Pipeline-Diagramm vereinfacht (single flowchart statt verschachtelter Subgraphs)
- Dateistruktur: Subgraph-Labels gekuerzt damit Text nicht verdeckt wird
- Version 1.7 (versionCode 8) deployed auf bollwerk.online
- android-ci.yml: nur workflow_dispatch, kein auto-Trigger
- Auto-Versionierung: versionCode wird im CI hochgezählt
- CI deployed direkt auf VPS via SCP + API-Call
- VPS: BOLLWERK_ADMIN_TOKEN konfiguriert (einmalig)
Benötigte Secrets in GitHub: BOLLWERK_ADMIN_TOKEN, VPS_SSH_PRIVATE_KEY
genome-distill.prompt.md:
- Warnung vor versteckten Evolutions in Multi-Change-Commits
- Anleitung: Commit-Message ignorieren, jeden Hunk einzeln prüfen
- Rename-Churn-Erkennung (A→B→A = Specialized)
- Häufige versteckte Evolutions-Muster dokumentiert
- Analyse-Bericht am Ende mit Churn-Counter
genome-propagate.prompt.md:
- Neue Traits: immer einzeln vom User bestätigen lassen
- Nie automatisch neue Traits anlegen ohne explizite Bestätigung
Matched Growth Vectors auf Ziel-Genome, generiert konkrete Patches
als Checkliste (Critical=an, Evolution≥7=an, <7=aus).
User wählt aus, Agent wendet Patches an.
- Add VersionStore that persists versionCode/versionName to data/version.json
- Add POST /api/admin/version secured by BOLLWERK_ADMIN_TOKEN bearer auth
- GET /api/version now reads from VersionStore (fallback to env-vars)
- Update publish-apk.ps1 to use API call instead of SSH+sed+restart
- Update publish SKILL.md and vps-deploy SKILL.md documentation
Closes#100
- AlertDialog in MainScreen zeigt verfuegbare Version mit Bestaetigung
- UpdateBanner blendet bei UpdateStatus.Available aus (Dialog uebernimmt)
- FEATURE_CAMERA_ENABLED temporaer deaktiviert
fix(server): Logo-Pfad und statische Ressourcen bereinigen
- /res-Route fuer classpath-Assets (logo.png etc.) hinzugefuegt
- Logo-Pfad von /static/logo.png auf /res/logo.png korrigiert
- Build-Nummer aus Versionsanzeige auf der Homepage entfernt
ci: GitHub Actions Workflow fuer Swift-Tests hinzugefuegt
style: Tabellenformatierung im Code-Reviewer-Agenten bereinigt
Both android-ci.yml and ci.yml now only run via workflow_dispatch
(manual trigger). Automatic builds on push/PR are disabled to stop
failing pipeline notifications.
Replace all HTTP references to 195.246.231.210 with bollwerk.online
across skills, prompts, scripts, and app default settings:
- Dockerfile: rename KRISENVORRAT_JWT_SECRET to BOLLWERK_JWT_SECRET
- SettingsKey.kt: default server URL now http://bollwerk.online:8080
- publish SKILL/prompt/script: HTTP URLs updated to bollwerk.online
- vps-deploy SKILL: Admin-UI and health-check URLs updated
- run-integration-tests.ps1: default BaseUrl updated
SSH commands (ssh/scp) intentionally kept on IP, as DNS is not
used for SSH access.
- set-board-status.ps1: 'Backlog' (4ce6ee37) als gueltigen Status erganzt
- create-next-ticket.ps1: -Status Parameter (Todo|Backlog, Default: Todo)
Todo: Order = min - 1 (naechstes Ticket)
Backlog: Order = max + 10 (ans Ende gestellt)
Explizite Status-Setzung via gh project item-edit nach Board-Add
Closes#25
ui/category/:
- CategoryListViewModel: StateFlow-based ViewModel with add/delete
dialog state management, backed by CategoryRepository
- CategoryListScreen: Material 3 Scaffold with LazyColumn, FAB for
adding, delete confirmation dialog with CASCADE warning
ui/location/:
- LocationListViewModel: same pattern for LocationRepository
- LocationListScreen: same UI pattern for location management
Tests:
- CategoryListViewModelTest: 11 tests covering init, add, delete,
dialog state, blank name rejection
- LocationListViewModelTest: 11 tests (same coverage)
Dependencies:
- Added lifecycle-runtime-compose for collectAsStateWithLifecycle
- Added kotlinx-coroutines-test for ViewModel unit tests
autopilot.prompt.md: new agent prompt (Claude Opus 4.6) that works
through the ticket backlog fully automatically. Each cycle:
1. Runs next-ticket.ps1 – stops cleanly when no tickets remain.
2. Invokes nextstep as a fresh, isolated sub-agent (Claude Opus 4.6)
per ticket; no context is shared between iterations.
3. Commits with Conventional Commits after each successful ticket.
4. Repeats until queue is empty or an unresolvable error occurs.
Beide Workflow-Prompts erstellten Sub-Tickets per gh issue create, setzten
aber weder Board-Zugehörigkeit (gh project item-add) noch Order-Wert
(gh project item-edit). Das führte dazu, dass neue Tickets auf dem Board
ohne Order-Wert blieben und von next-ticket.ps1 nicht gefunden wurden.
Lösung: In workflow-planning.prompt.md (Phase 4) und
workflow-block-planning.prompt.md (Phase 6) einen neuen Pflichtabschnitt
'Board & Order' ergänzt mit den konkreten gh-Befehlen und Verweis auf SKILL.md.
- ValidateSet entfernt (war zu restriktiv - kein Agent-Fehler mehr bei 'In Progress')
- Normalisierung: 'In Progress' → 'InProgress' via .Trim()/-replace
- Fehlerdetails bei gh-Fehler sichtbar (kein Out-Null mehr)
- Null-Check auf content vor content.number-Vergleich (robuster gegen Draft-Items)
- Board-Fehler mit Exit 1 und Klartext-Meldung
- Getestet: alle 3 Status-Übergänge + 'In Progress' mit Leerzeichen + Fehlerfälle