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

This commit is contained in:
AzuTear
2026-08-01 01:26:34 +02:00
parent cd8c78d165
commit ce5555abc0
4 changed files with 32 additions and 7 deletions
+18
View File
@@ -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");
});
modelBuilder.Entity("Nexus.Api.Data.AgentProposal", b =>
{
b.Navigation("ProvisionRequests");
});
modelBuilder.Entity("Nexus.Api.Data.AgentProvisionRequest", b =>
{
b.HasOne("Nexus.Api.Data.AgentProposal", "Proposal")
@@ -961,6 +956,11 @@ namespace Nexus.Api.Migrations
b.Navigation("Proposal");
});
modelBuilder.Entity("Nexus.Api.Data.AgentProposal", b =>
{
b.Navigation("ProvisionRequests");
});
modelBuilder.Entity("Nexus.Api.Data.OpenClawRun", b =>
{
b.Navigation("History");
+1 -1
View File
@@ -145,7 +145,7 @@ Stabilitätscheckpoint v0.2.60 (Release Candidate) vom 2026-07-31:
- `global.json`, `VERSION`-Parität, OCI-Provenienz, Browsertelemetrie-Schalter,
High/Critical-Abhängigkeitsgates, checksum-verifiziertes Gitleaks und ein
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
Containerfälle sind lokal mangels Docker übersprungen und müssen im Linux-CI
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 |
| 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 |
| 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 |
| 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 |
@@ -137,6 +137,13 @@ OpenClaw-/OpenAI-Ausführung.
## 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
1. Der neue Gitea-Linuxjob muss alle fünf vorhandenen PostgreSQL-/Toxiproxy-