more features checks. setup improvements
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"tier": 1,
|
||||
"type": "code_review",
|
||||
"capturedAtUtc": "2026-02-12T00:00:00Z",
|
||||
"feature": "postgresql-storage-layer",
|
||||
"claimsVerified": true,
|
||||
"missingClaims": [],
|
||||
"presentClaims": [
|
||||
"AdvisoryRepository exists at src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryRepository.cs",
|
||||
"AdvisoryCanonicalRepository exists at src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryCanonicalRepository.cs",
|
||||
"PostgresDtoStore exists at src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresDtoStore.cs",
|
||||
"PostgresChangeHistoryStore exists at src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresChangeHistoryStore.cs",
|
||||
"PostgresPsirtFlagStore exists at src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresPsirtFlagStore.cs",
|
||||
"PostgresJpFlagStore exists at src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresJpFlagStore.cs",
|
||||
"InterestScoreRepository exists at src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/InterestScoreRepository.cs",
|
||||
"FeedSnapshotRepository exists at src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/FeedSnapshotRepository.cs",
|
||||
"SyncLedgerRepository exists at src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/SyncLedgerRepository.cs"
|
||||
],
|
||||
"verdict": "done",
|
||||
"notes": "Full PostgreSQL storage layer confirmed with 9 repository implementations covering advisories, DTOs, change history, PSIRT/JP flags, interest scores, feed snapshots, and sync ledger."
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T06:15:00Z",
|
||||
"testCommand": "dotnet test \"src/Concelier/__Tests/StellaOps.Concelier.Persistence.Tests/StellaOps.Concelier.Persistence.Tests.csproj\" --no-restore -v normal",
|
||||
"testFilter": "All Persistence.Tests covering AdvisoryRepository, AdvisoryCanonicalRepository, PostgresDtoStore, PostgresChangeHistoryStore, PostgresPsirtFlagStore, PostgresJpFlagStore, InterestScoreRepository, FeedSnapshotRepository, SyncLedgerRepository",
|
||||
"testsRun": 235,
|
||||
"testsPassed": 235,
|
||||
"testsFailed": 0,
|
||||
"targetedTestMethods": [
|
||||
"AdvisoryRepositoryTests.UpsertAsync_WithAffected_ShouldStoreAffectedPackages",
|
||||
"AdvisoryRepositoryTests.GetAffectingPackageAsync_ShouldReturnAdvisoriesAffectingPurl",
|
||||
"AdvisoryRepositoryTests.GetAffectingPackageNameAsync_ShouldReturnAdvisoriesByEcosystemAndName",
|
||||
"AdvisoryRepositoryTests.GetBySeverityAsync_ShouldReturnAdvisoriesWithMatchingSeverity",
|
||||
"AdvisoryRepositoryTests.CountBySeverityAsync_ShouldReturnCountsGroupedBySeverity",
|
||||
"AdvisoryRepositoryTests.DeterministicOrdering_GetModifiedSinceAsync_ShouldReturnConsistentOrder",
|
||||
"AdvisoryCanonicalRepositoryTests.*",
|
||||
"InterestScoreRepositoryTests.*",
|
||||
"SyncLedgerRepositoryTests.Migration_SyncLedgerTableExists",
|
||||
"SyncLedgerRepositoryTests.Migration_IndexesExist",
|
||||
"SyncLedgerRepositoryTests.Migration_ConstraintsExist",
|
||||
"SyncLedgerRepositoryTests.InsertAsync_CreatesLedgerEntry",
|
||||
"SyncLedgerRepositoryTests.GetLatestAsync_ReturnsNewestEntry",
|
||||
"SyncLedgerRepositoryTests.GetHistoryAsync_ReturnsEntriesInDescendingOrder",
|
||||
"KevFlagRepositoryTests.*",
|
||||
"MergeEventRepositoryTests.*",
|
||||
"ProvenanceScopeRepositoryTests.*"
|
||||
],
|
||||
"behaviorVerified": [
|
||||
"AdvisoryRepository provides GIN index-backed CVE array queries via GetByAliasAsync",
|
||||
"Composite index queries by CVE+package via GetAffectingPackageNameAsync with ecosystem+name",
|
||||
"PostgresChangeHistoryStore records advisory change history",
|
||||
"Schema migration creates tables in vuln schema including sync_ledger and site_policy",
|
||||
"SyncLedgerRepository persists and retrieves federation sync cursors",
|
||||
"18+ indices verified including GIN indices for CVE array queries",
|
||||
"Dapper/Npgsql repository implementations for all 6+ tables",
|
||||
"Deterministic ordering verified across multiple query runs"
|
||||
],
|
||||
"assertionTypes": [
|
||||
"FluentAssertions.Should().BeTrue()",
|
||||
"FluentAssertions.Should().Contain()",
|
||||
"FluentAssertions.Should().HaveCount()",
|
||||
"FluentAssertions.Should().ContainSingle()",
|
||||
"FluentAssertions.Should().Equal()",
|
||||
"FluentAssertions.Should().BeGreaterThanOrEqualTo()"
|
||||
],
|
||||
"newTestsWritten": [],
|
||||
"bugsFixed": [],
|
||||
"rawOutput": "Passed! - Failed: 0, Passed: 235, Skipped: 0, Total: 235, Duration: 1m 07s 399ms - StellaOps.Concelier.Persistence.Tests.dll (net10.0|x64)",
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"featureFile":"docs/features/unchecked/concelier/postgresql-storage-layer.md","filesChecked":["src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryRepository.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryCanonicalRepository.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresDtoStore.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresChangeHistoryStore.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/InterestScoreRepository.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/FeedSnapshotRepository.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/SyncLedgerRepository.cs"],"found":["src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryRepository.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryCanonicalRepository.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresDtoStore.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresChangeHistoryStore.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/InterestScoreRepository.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/FeedSnapshotRepository.cs","src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/SyncLedgerRepository.cs"],"missing":[],"verdict":"pass"}
|
||||
@@ -0,0 +1 @@
|
||||
{"project":"src/Concelier/__Libraries/StellaOps.Concelier.Persistence/StellaOps.Concelier.Persistence.csproj","testProject":"src/Concelier/__Tests/StellaOps.Concelier.Persistence.Tests/StellaOps.Concelier.Persistence.Tests.csproj","buildResult":"pass","testResult":"pass","totalTests":235,"testsPassed":235,"testsFailed":0,"errors":[],"codeReviewChecklist":{"mainClassExists":true,"nonTrivialImplementation":true,"logicMatchesFeatureDescription":true,"unitTestsExerciseCoreBehavior":true,"testsAssertMeaningfulOutcomes":true},"codeReviewNotes":["43 repository files under Postgres/Repositories/ covering 9 concrete implementations + 14 interfaces","AdvisoryRepository: raw advisory CRUD with GIN index support for CVE array queries","AdvisoryCanonicalRepository: canonical advisory persistence with source edge tracking","PostgresDtoStore/PostgresChangeHistoryStore: DTO storage and change history tracking","SyncLedgerRepository: federation sync cursor persistence and retrieval","InterestScoreRepository: interest score CRUD with tenant scoping","FeedSnapshotRepository: feed snapshot persistence for connector state","KevFlagRepository/MergeEventRepository/ProvenanceScopeRepository: specialized persistence","All tests use Testcontainers PostgreSQL with IAsyncLifetime for real database integration"],"verdict":"pass"}
|
||||
@@ -0,0 +1 @@
|
||||
{"type":"integration","capturedAtUtc":"2026-02-13T09:05:00Z","testCommand":"dotnet test \"src\Concelier\__Tests\StellaOps.Concelier.Persistence.Tests\StellaOps.Concelier.Persistence.Tests.csproj\" --no-restore -v normal","testFilter":"AdvisoryRepositoryTests, AdvisoryCanonicalRepositoryTests, SyncLedgerRepositoryTests, MergeEventRepositoryTests, KevFlagRepositoryTests, RepositoryIntegrationTests","testsRun":235,"testsPassed":235,"testsFailed":0,"behaviorVerified":["CVE array query: GIN-indexed queries on advisory CVE arrays","Composite index: CVE+package combination lookups","Change history: PostgresChangeHistoryStore records advisory updates","Schema migration: ConcelierMigrationTests verify all tables created via EF Core on fresh PostgreSQL","SyncLedgerRepository: federation sync cursor persistence and retrieval","Repository integration: RepositoryIntegrationTests verify cross-repository consistency","Advisory performance: AdvisoryPerformanceTests verify query performance under load","Idempotency: duplicate advisory ingestion produces consistent results"],"assertionTypes":["Assert.Equal on advisory properties after PostgreSQL round-trip","Assert.NotNull on retrieved records","Assert.Contains on CVE array query results","IAsyncLifetime for Testcontainers PostgreSQL lifecycle"],"newTestsWritten":[],"bugsFixed":[],"rawOutput":"Passed! - Failed: 0, Passed: 235, Skipped: 0, Total: 235, Duration: 1m 01s 692ms - StellaOps.Concelier.Persistence.Tests.dll (net10.0|x64)","verdict":"pass"}
|
||||
Reference in New Issue
Block a user