Repository navigation
Configurator MVP: execute supported configurations from the common editor #89
Description
Current Status (2026-10-04)
The common editor, immutable preparation and runner share schemaVersion 3. The qualified Standalone/Governance slice is implemented, and a real personal customer Plan has succeeded. Editor coverage still does not imply execution coverage. Broader capability qualification remains open; this issue is not yet complete.
- Support common ConfigurationRecord across repository verification, immutable preparation and runner input, preserving export hashes and reviewed engine pin.
- Structural Standalone allowlist, rechecked at broker delivery. Unsupported features explain their blocking prerequisite.
- Qualify the existing Governance slice with pinned native OpenTofu contracts; retain explicit restrictions on descriptions and unsupported features.
- Extend capability by capability with native OpenTofu tests; private Kubernetes/firewall operations require demonstrated reachability and correct execution phases. Keep Feature: Private/SNA SKE cluster support with two-stage runner model #37/Support explicit regional cluster targeting for landing-zone namespace services #80 and related capability prerequisites explicit.
- Reject existing/partial deployments from the backend-free initial-plan path, including state aliases and unmapped legacy state. Recheck queued jobs before releasing runner inputs.
- Complete real personal customer Plan acceptance, without Apply: successful run
6fb07c43-bd5d-47e7-bf30-3a14eb10b605.
Evidence and Remaining Work
The newly fixed legacy fallback checks state even when platform execution is disabled. It uses the same source lock and legacy-state detection as the state-aware path. Checkpoint, partial-state, alias, unmapped-legacy and queued-input regressions pass alongside the existing fresh-initial-plan case: 23/23 isolated PostgreSQL Platform Plan/Apply tests, plus TypeScript/build. These tests use a disposable database, never the customer database.
Sources: landing-zone-configurator/app/apps/api/src/plans/service.ts, apps/api/src/plans/execution.ts, apps/api/src/deployments/backends.ts, tests/platform-plan.test.ts (app-relative paths after the first).
Baseline UI gates: 310 unit tests and 148 mocked desktop/mobile browser cases. Local fixes are not committed, released or activated in the running API. The existing native package and customer Plan bindings are unchanged. No customer Apply, live S3 migration or new cloud acceptance was performed during this audit.
Next: publish an explicit per-capability qualification matrix and qualify the next permitted slice natively without widening the allowlist on editor coverage alone. The remaining checkbox is intentionally retained, not silently removed to close the issue.
Dependencies and Historical Evidence
First slice: 9aa3322; Governance: 64e33cb (three pinned OpenTofu 1.12.6 mock contracts). Earlier test counts and statements that personal Plan acceptance was missing are historical, superseded by the evidence above. Durable Apply: #90; tenant execution: #91. No arbitrary fork Terraform execution or relaxation of organisation/customer-Apply gates.
Activity
lweberru commentedon Oct 4, 2026
MVP audit 2026-10-04: Updated the description and acceptance checklist against the current implementation. Implemented criteria are checked; remaining requirements are retained. Local tests are not a release or live customer acceptance. This issue stays open until its remaining criteria are met. The first remaining safety fix (#89, backend-free initial plans on existing/partial/legacy state) is now implemented locally: 23/23 isolated PostgreSQL tests and the full check gate (310 unit tests) pass. No customer Apply, API restart, native artifact rebind, commit or merge was performed.
lweberru commentedon Oct 5, 2026
Gespeicherte Vorbereitungen: Revisionen im Plan-Dropdown unterscheiden
Lokaler Fix
5c2addd: Optionen zeigen jetzt die unveraenderlich gespeicherte Konfigurationsrevision (beziehungsweise gekuerzten Git-Commit), kurze Vorbereitungs-ID und Namen. Revision/ID stehen vorne, damit sie auch auf Mobilgeraeten bei langen Namen sichtbar bleiben. Keine Ableitung aus der aktuellen bearbeiteten Konfiguration, keine Umlegung bestehender Vorbereitungen.Der bestehende Workspace-Workflowtest wurde mit gleichnamigen Vorbereitungen verschiedener UND gleicher Revision erweitert: exakte Optionslabels, passende ID-Auswahl, Konfigurationstrennung und keine Cloud-Mutationen. Desktop und Mobil bestanden; Screenshots und Breitenpruefung im betroffenen Plan-Schritt kontrolliert. Build/Typpruefung, fokussierter Biome-Check, Editor-Diagnostik und diff-check bestanden (bestehende nicht blockierende Hinweise unveraendert), Root-Gitleaks ohne Fund. UI-Build aktualisiert; API und gebundenes Runner-Paket unveraendert.
Der vom Benutzer gezeigte Apply-Status
Recovery requiredist dadurch NICHT behoben oder freigegeben; Teilstate-/Recovery-Abgleich bleibt vor weiterem Cloud-Lauf erforderlich. Kein Plan/Apply/Destroy/State-Reset, Push/Release/Merge. #89 bleibt bis zur vollstaendigen urspruenglichen Abnahme offen.lweberru commentedon Oct 6, 2026
Lokaler Navigation-Fix in 04a2db7, ohne Push oder Live-Aktivierung.
Beim ersten Einstieg über Deployments war der Reiter „Konfiguration“ mit disabled={!draft} gesperrt, solange noch kein Entwurf geöffnet war. Er ist jetzt bedienbar: mit geöffnetem Entwurf geht es wie bisher zum Editor, andernfalls zur bestehenden Konfigurationsauswahl. Keine Änderung an Plan-/Apply-Freigaben oder Berechtigungen.
Der vorhandene workspace-first Browserfall wurde um genau diesen Einstieg erweitert: beide Desktop-/Mobilfälle reproduzierten zunächst den deaktivierten Reiter und bestehen nach der Korrektur einschließlich Revision, Reload, Bearbeitung, readonly History und Prüfung ohne Cloud-Mutationen. npm run check erfolgreich: 395 Unit-Tests bestanden, 45 umgebungsabhängig übersprungen. Scoped Diagnosen 0, staged Gitleaks 0. Nur zwei Dateien geändert; CSS und fremde Änderungen unangetastet. Browsernachweise verwenden API-Mocks, keine Live-Cloud-Abnahme.
Aktiver Login-only-Stand, Schema 034, Runner-Pin und deaktivierte Application-Ausführung unverändert. Keine Migration, kein Backend-Neustart, kein Push/Merge/Release. Issue bleibt für die übrigen MVP-Akzeptanzkriterien offen.
fix(configurator): distinguish preparation revisions (#89)
fix(configurator): allow initial deployment configuration selection (#89
lweberru commentedon Oct 16, 2026
MVP source integration is in #102. Common-record preparation/native export, state/source binding, initial-plan versus existing/partial-state guards, explicit Plan/Apply separation and runner progress output are implemented and covered by native plus stateful-broker/database/browser tests. Final PR evidence is maintained there rather than in the removed historical acceptance ledgers.
This issue remains open for capability-specific execution acceptance. Passing compiler/mock/native contracts is not proof of private Kubernetes, Helm or firewall reachability; #37/#80 and other capability prerequisites remain explicit. No new customer Apply or production deployment was performed during this integration.