fix(db): repair provisioning migration snapshot
CI - Build & Test / Backend (.NET) (push) Successful in 44s
CI - Build & Test / Backend integration (PostgreSQL/Toxiproxy) (push) Failing after 57s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 2m48s
CI - Build & Test / Security Check (push) Successful in 7s
CI - Build & Test / Deploy Nexus (push) Has been skipped
CI - Build & Test / Backend (.NET) (push) Successful in 44s
CI - Build & Test / Backend integration (PostgreSQL/Toxiproxy) (push) Failing after 57s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 2m48s
CI - Build & Test / Security Check (push) Successful in 7s
CI - Build & Test / Deploy Nexus (push) Has been skipped
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
using Nexus.Api.Migrations;
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Nexus.Api.Tests;
|
||||||
|
|
||||||
|
public sealed class MigrationSnapshotTests
|
||||||
|
{
|
||||||
|
[Fact]
|
||||||
|
public void Snapshot_builds_agent_provisioning_relationships()
|
||||||
|
{
|
||||||
|
var model = new NexusDbContextModelSnapshot().Model;
|
||||||
|
var proposal = model.FindEntityType("Nexus.Api.Data.AgentProposal");
|
||||||
|
var request = model.FindEntityType("Nexus.Api.Data.AgentProvisionRequest");
|
||||||
|
|
||||||
|
Assert.NotNull(proposal?.FindNavigation("ProvisionRequests"));
|
||||||
|
Assert.NotNull(request?.FindNavigation("Proposal"));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -945,11 +945,6 @@ namespace Nexus.Api.Migrations
|
|||||||
b.Navigation("RefreshTokens");
|
b.Navigation("RefreshTokens");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Nexus.Api.Data.AgentProposal", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("ProvisionRequests");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("Nexus.Api.Data.AgentProvisionRequest", b =>
|
modelBuilder.Entity("Nexus.Api.Data.AgentProvisionRequest", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("Nexus.Api.Data.AgentProposal", "Proposal")
|
b.HasOne("Nexus.Api.Data.AgentProposal", "Proposal")
|
||||||
@@ -961,6 +956,11 @@ namespace Nexus.Api.Migrations
|
|||||||
b.Navigation("Proposal");
|
b.Navigation("Proposal");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Nexus.Api.Data.AgentProposal", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ProvisionRequests");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Nexus.Api.Data.OpenClawRun", b =>
|
modelBuilder.Entity("Nexus.Api.Data.OpenClawRun", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("History");
|
b.Navigation("History");
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ Stabilitätscheckpoint v0.2.60 (Release Candidate) vom 2026-07-31:
|
|||||||
- `global.json`, `VERSION`-Parität, OCI-Provenienz, Browsertelemetrie-Schalter,
|
- `global.json`, `VERSION`-Parität, OCI-Provenienz, Browsertelemetrie-Schalter,
|
||||||
High/Critical-Abhängigkeitsgates, checksum-verifiziertes Gitleaks und ein
|
High/Critical-Abhängigkeitsgates, checksum-verifiziertes Gitleaks und ein
|
||||||
verpflichtender PostgreSQL-/Toxiproxy-CI-Job bilden den neuen Releasevertrag.
|
verpflichtender PostgreSQL-/Toxiproxy-CI-Job bilden den neuen Releasevertrag.
|
||||||
- Lokal bestehen 383 nicht-containerisierte Backendtests, 42 Frontendtests,
|
- Lokal bestehen 384 nicht-containerisierte Backendtests, 42 Frontendtests,
|
||||||
Typecheck, Produktionsbuild und 26 kontrollierte Playwright-Tests. Die fünf
|
Typecheck, Produktionsbuild und 26 kontrollierte Playwright-Tests. Die fünf
|
||||||
Containerfälle sind lokal mangels Docker übersprungen und müssen im Linux-CI
|
Containerfälle sind lokal mangels Docker übersprungen und müssen im Linux-CI
|
||||||
mit null Skips bestehen. Credentialed Produktion, Task-Board-Last und echte
|
mit null Skips bestehen. Credentialed Produktion, Task-Board-Last und echte
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ Primäransicht nicht länger wegen einer fehlerhaften Sekundärabfrage.
|
|||||||
| Geschützte Routen | alle 20 in kontrollierten Fixtures geprüft |
|
| Geschützte Routen | alle 20 in kontrollierten Fixtures geprüft |
|
||||||
| Viewports | 375, 768, 1024, 1440 und 1920 px ohne Seitenoverflow |
|
| Viewports | 375, 768, 1024, 1440 und 1920 px ohne Seitenoverflow |
|
||||||
| Browserverträge | Deep Links, Query-Deduplizierung, ein SSE-Resync, Task-Board-Refresh, Done-Pagination, Drag-and-drop und 503-Recovery grün |
|
| Browserverträge | Deep Links, Query-Deduplizierung, ein SSE-Resync, Task-Board-Refresh, Done-Pagination, Drag-and-drop und 503-Recovery grün |
|
||||||
| Backend | 383 bestanden; fünf Containerfälle mangels lokalem Docker explizit übersprungen |
|
| Backend | 384 bestanden; fünf Containerfälle mangels lokalem Docker explizit übersprungen |
|
||||||
| PostgreSQL-Ausfall | echter Npgsql-Healthcheck gegen einen nicht erreichbaren Endpoint liefert im Readiness-Vertrag 503 |
|
| PostgreSQL-Ausfall | echter Npgsql-Healthcheck gegen einen nicht erreichbaren Endpoint liefert im Readiness-Vertrag 503 |
|
||||||
| Version | `VERSION` und Frontendpaket beide `0.2.60`; .NET-Pin wird als 10.0.101 aus dem erlaubten Feature-Band aufgelöst |
|
| Version | `VERSION` und Frontendpaket beide `0.2.60`; .NET-Pin wird als 10.0.101 aus dem erlaubten Feature-Band aufgelöst |
|
||||||
| Abhängigkeiten | keine bekannten pnpm-Produktionslücken; keine High/Critical-NuGet-Funde |
|
| Abhängigkeiten | keine bekannten pnpm-Produktionslücken; keine High/Critical-NuGet-Funde |
|
||||||
@@ -137,6 +137,13 @@ OpenClaw-/OpenAI-Ausführung.
|
|||||||
|
|
||||||
## Offene Abnahmegates
|
## Offene Abnahmegates
|
||||||
|
|
||||||
|
Der erste verpflichtende Containerlauf (Gitea Run 363) erfüllte seinen Zweck
|
||||||
|
und blockierte das Deployment: Alle fünf Fälle fanden einen fehlerhaft
|
||||||
|
geordneten EF-Core-Modellsnapshot für
|
||||||
|
`AgentProposal.ProvisionRequests`. Die Snapshotbeziehung ist korrigiert und ein
|
||||||
|
nicht-Docker-Regressionstest baut beide Navigationen jetzt bereits im normalen
|
||||||
|
Backendjob auf. Ein neuer grüner Containerlauf bleibt vor Deployment zwingend.
|
||||||
|
|
||||||
### Vor Deployment
|
### Vor Deployment
|
||||||
|
|
||||||
1. Der neue Gitea-Linuxjob muss alle fünf vorhandenen PostgreSQL-/Toxiproxy-
|
1. Der neue Gitea-Linuxjob muss alle fünf vorhandenen PostgreSQL-/Toxiproxy-
|
||||||
|
|||||||
Reference in New Issue
Block a user