documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF
This commit is contained in:
@@ -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
|
||||
}
|
||||
@@ -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."
|
||||
}
|
||||
Reference in New Issue
Block a user