Polycrate CLI 0.40.0¶
Release-Datum: 9. Mai 2026
Typ: Breaking Release
Highlights¶
0.40.0 ist ein signifikantes Release mit zwei Schwerpunkten: SDD-Workflow-Verbesserungen und Operator-Stabilitaet.
SDD Lifecycle Overhaul (breaking)
Der 5-Status-Lifecycle (planned → pending-approval → approved → pending-verification → implemented) wurde auf 3 Status komprimiert: draft → approved → done. Die zwei mittleren Gates, die den meisten Agent-Friction verursachten, entfallen. spec submit auto-approved jetzt standardmaessig — Agents muessen den User nicht mehr nach einer Self-Review um Freigabe bitten. Legacy-Status werden beim Laden automatisch gemappt und koennen mit spec index migrate dauerhaft migriert werden.
Direkte Spec-Body-Bearbeitung
Agents koennen Section-Bodies jetzt direkt mit Standard-File-Tools bearbeiten (StrReplace, Write). Zwei neue Kommandos — spec lint und spec format — erzwingen strukturelle Integritaet zur Ladezeit und beheben automatisch haeufige Drift (falsche Section-Reihenfolge, veraltete Section-Namen, doppelte Sections). Strikte Operationen (submit, Statuswechsel, Release) blockieren bei ungeloester Drift.
Operator-Stabilitaet
Alle updateStatus-Methoden der Reconciler und inline Status().Update-Aufrufe sind jetzt in retry.RetryOnConflict gewrappt, wodurch die "object has been modified"-Fehler bei parallelen Status-Updates entfallen. Die Patch- und Delete-Methoden des Operator-API-Clients liefern jetzt strukturierte *HTTPError-Werte, was korrekte Self-Healing-Logik in apisync ermoeglicht (PATCH 404 → stale CR loeschen fuer Re-Discovery).
API Schema Sync
Der Go-Client wurde aus dem aktualisierten polycrate-api-Schema neu generiert (drf-standardized-errors). Alle umbenannten Enum-Typen wurden in den Operator-Controllern angepasst.
Artefakte¶
Docker Images¶
CLI Downloads¶
| Plattform | Architektur | Download |
|---|---|---|
| Linux | amd64 | Download |
| Linux | arm64 | Download |
| macOS | amd64 | Download |
| macOS | arm64 (Apple Silicon) | Download |
Installation & Update¶
Aenderungen¶
Breaking: SDD Lifecycle auf 3 Status komprimiert (Spec 184)¶
Der bisherige 5-Status-Lifecycle wurde auf drei Status reduziert:
| Alt | Neu |
|---|---|
planned / pending-approval | draft |
approved | approved |
pending-verification / implemented | done |
Legacy-Status werden beim Laden automatisch gemappt. Bestehende Spec-Dateien koennen mit polycrate spec index migrate dauerhaft auf die neuen Status migriert werden.
Breaking: spec submit auto-approved standardmaessig (Spec 184)¶
polycrate spec submit <id> setzt den Status jetzt automatisch auf approved (frueheres Verhalten: nur submitted: true setzen, Freigabe manuell). Um das alte Verhalten beizubehalten:
Feat: spec lint — struktureller Validator (Spec 185)¶
Neues Kommando polycrate spec lint <id> prueft Spec-Dateien auf Strukturfehler (falsche Section-Reihenfolge, veraltete Section-Namen, doppelte Sections) ohne Schreibzugriff. Gibt Exit-Code 1 bei Drift zurueck. Wird automatisch in spec submit, spec update --set status und release create/finalize ausgefuehrt.
Feat: spec format — idempotenter Struktur-Normalisierer (Spec 185)¶
Neues Kommando polycrate spec format <id> behebt automatisch Strukturfehler (falsche Reihenfolge, veraltete Section-Namen, fehlende Sections). Bewahrt den Inhalt der Section-Bodies. Idempotent.
Feat: Direkte Markdown-Bearbeitung von Section-Bodies (Spec 185)¶
Agents koennen Section-Bodies (Text zwischen zwei ##-Ueberschriften) jetzt direkt mit Standard-File-Tools bearbeiten. spec lint und spec format sichern die strukturelle Integritaet.
Feat: spec review kompaktiert, Anti-Hand-Wave-Anker (Spec 189)¶
Der Review-Output wurde von ~50 auf ~18 Zeilen reduziert (8-Dimensionen-Tabelle). Findings muessen jetzt einen Codebase-Anker (@path/to/file.ext:LINE) und eine Severity (minor|major|blocker) enthalten. Hand-Wave-Reviews ("alles OK") werden abgelehnt.
Feat: spec review --submit Chaining¶
polycrate spec review <id> --submit fuehrt Review und spec submit in einem Schritt aus.
Feat: reviewed_at Frontmatter-Timestamp¶
spec review setzt jetzt einen reviewed_at-Timestamp im Frontmatter. spec submit warnt, wenn die Spec nach dem letzten Review modifiziert wurde.
Fix: Operator API-Client Patch/Delete geben strukturierte *HTTPError zurueck (Spec 186)¶
Die Patch- und Delete-Methoden des Operator-API-Clients liefern jetzt strukturierte *HTTPError-Werte statt fmt.Errorf-Strings. Ermoeglicht korrektes Branching in apisync:
- PATCH 404 → stale CR loeschen fuer Re-Discovery
- Korrekte Nutzung von
api.IsHTTPNotFound/api.IsHTTPConflict
Fix: RetryOnConflict fuer Operator Status-Updates (Spec 188)¶
Alle updateStatus-Methoden der Reconciler und inline Status().Update-Aufrufe sind jetzt in retry.RetryOnConflict gewrappt. Eliminiert "object has been modified"-Fehler bei parallelen Status-Updates unter Last.
Chore: API-Client nach Schema-Update regeneriert¶
Der Go-Client wurde aus dem aktualisierten polycrate-api-Schema neu generiert (drf-standardized-errors, Spec 286). Alle umbenannten Enum-Typen wurden in den Operator-Controllern angepasst.
polycrate-operator Block¶
Der polycrate-operator Block wurde auf Version 0.7.0 aktualisiert (app_version: 0.40.0):
polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-operator
polycrate run polycrate-operator deploy
Migration¶
SDD-Lifecycle-Migration¶
Bestehende Spec-Dateien mit Legacy-Status koennen dauerhaft migriert werden:
Der Befehl mappt alle veralteten Status auf die neuen Werte und schreibt die Frontmatter-Dateien direkt um.
Jetzt aktualisieren¶
Oder laden Sie die Binaries direkt vom PolyHub herunter.