documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF

This commit is contained in:
master
2026-02-25 01:24:07 +02:00
parent b07d27772e
commit 4db038123b
9090 changed files with 4836 additions and 2909 deletions

View File

@@ -0,0 +1,15 @@
{
"tier": 0,
"feature": "ledger-projections",
"timestamp": "2026-02-15T20:55:00.000Z",
"sourceFiles": [
{"path": "src/Findings/StellaOps.Findings.Ledger/Infrastructure/Projection/LedgerProjectionWorker.cs", "exists": true},
{"path": "src/Findings/StellaOps.Findings.Ledger/Services/LedgerProjectionReducer.cs", "exists": true},
{"path": "src/Findings/StellaOps.Findings.Ledger/Hashing/ProjectionHashing.cs", "exists": true},
{"path": "src/Findings/StellaOps.Findings.Ledger/Infrastructure/IFindingProjectionRepository.cs", "exists": true},
{"path": "src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresFindingProjectionRepository.cs", "exists": true},
{"path": "src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerProjectionReducerTests.cs", "exists": true}
],
"missingRatio": 0.0,
"sourceVerified": true
}

View File

@@ -0,0 +1,25 @@
{
"tier": 2,
"feature": "ledger-projections",
"timestamp": "2026-02-15T20:55:00.000Z",
"testProject": "src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.Tests.csproj",
"filter": "All tests (MTP runner ignores VSTest --filter; all 141 ran). Relevant: LedgerProjectionReducerTests (3 tests).",
"testsRun": 141,
"testsPassed": 141,
"testsFailed": 0,
"rawOutput": "Run tests: StellaOps.Findings.Ledger.Tests.dll [net10.0|x64]\nPassed! - Failed: 0, Passed: 141, Skipped: 0, Total: 141, Duration: 2s 891ms",
"assertionQuality": "deep",
"codeReviewFindings": {
"LedgerProjectionReducer": "FULLY IMPLEMENTED static reducer. Reduce() takes a LedgerEventRecord, optional current FindingProjection, and PolicyEvaluationResult. Correctly determines status, severity, risk scores, merges labels (add/remove), determines explain references, creates history entries and triage action entries. Computes deterministic CycleHash via ProjectionHashing.",
"LedgerProjectionWorker": "FULLY IMPLEMENTED BackgroundService. ExecuteAsync loads checkpoint, reads event batches, applies each event via ApplyAsync (get current projection -> evaluate policy -> reduce -> upsert projection + insert history + insert action + save checkpoint). Includes telemetry, incident diagnostics, error handling, and batch metrics.",
"OutOfOrderHandling": "CONFIRMED MISSING. LedgerProjectionWorker iterates 'foreach (var record in batch)' at line 86 without sorting by sequence number. The batch is processed in received order. LedgerProjectionReducer.Reduce is a pure function that processes one event at a time and does not perform ordering. The feature claim for 'out-of-order event delivery by ordering events by sequence number before applying' is NOT satisfied.",
"LedgerProjectionReducerTests": "3 tests with DEEP assertions: (1) Reduce_WhenFindingCreated verifies status, severity, labels, explainRef, rationale, cycleHash, and hash determinism. (2) Reduce_StatusChange verifies status transition, comment extraction, action entry creation. (3) Reduce_LabelUpdates verifies label merge (add/update/remove). All use FluentAssertions with specific value checks.",
"ProjectionHashing": "Computes deterministic cycle hashes for projection state, enabling replay consistency verification.",
"PostgresFindingProjectionRepository": "Full Postgres persistence implementation for projections with upsert, checkpoint, history, and action operations."
},
"classification": "not_implemented",
"classificationRationale": "Previous run-001 classification of not_implemented is RECONSIDERED. The projection pipeline (worker + reducer + repository + hashing) is substantially implemented and well-tested. The ONLY gap is out-of-order event handling: LedgerProjectionWorker processes events in batch order without sequence reordering. All other projection claims (materialize events to read models, deterministic hashing, catch-up from checkpoint, policy evaluation) are implemented. However, since the feature file specifically claims out-of-order handling and this is not satisfied, the not_implemented classification is borderline. RECOMMEND reclassifying to 'partially_implemented' and moving feature file back to the appropriate location, since ~80% of the feature surface is functional.",
"reclassificationWarranted": true,
"suggestedStatus": "not_implemented",
"notes": "The projection system is the most complete of the 4 investigated features. The reducer is well-tested with deep assertions. The worker correctly implements the projection loop with checkpoint management, telemetry, and error handling. The single gap (out-of-order sequence reordering before reduce) is a specific claimed behavior that is not enforced. If out-of-order handling were removed from the feature claims, this would pass. Current classification as not_implemented is slightly harsh but technically correct per the feature file's own E2E test plan item 4."
}