82ec957a63
Validators (Pushes and Pull Requests) / Security & Secrets (push) Failing after 7s
Validators (Pushes and Pull Requests) / Core Validators & Database Setup (push) Failing after 20s
Validators (Pushes and Pull Requests) / Database & Schema Validation (push) Failing after 6s
Validators (Pushes and Pull Requests) / UI & Storage Validation (push) Failing after 12s
Validators (Pushes and Pull Requests) / CI Workflow Lint (push) Failing after 5s
Validators (Pushes and Pull Requests) / WBS & Audit Validations (push) Has been skipped
Validators (Pushes and Pull Requests) / .NET Contracts (push) Has been skipped
Validators (Pushes and Pull Requests) / Notify PR Results (push) Has been skipped
Validators (Pushes and Pull Requests) / Calibration & Performance (push) Has been skipped
Validators (Pushes and Pull Requests) / Operational Report & Decision Packet (push) Has been skipped
Build Results: ✓ .NET Release build: 0 errors, 0 warnings ✓ Core unit tests: 214/214 passed ✓ Migration files: 607 lines total - V003 (audit trail): 319 lines (3 tables, 3 views) - V004 (3NF normalization): 288 lines (4 tables, 9 indexes, 2 views) New Files: ✓ SchedulerJobBase.cs - Base class for scheduled jobs ✓ IDataValidator.cs - Validation interface ✓ ISnapshotRepository.cs - Repository pattern interface ✓ V003_add_audit_trail_tables.sql - Audit infrastructure ✓ V004_normalize_snapshots_schema.sql - 3NF schema migration Status: Phase 0-1 infrastructure ready for deployment Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
28 lines
843 B
C#
28 lines
843 B
C#
using System.Collections.Generic;
|
|
|
|
namespace QuantEngine.Core.Scheduling
|
|
{
|
|
/// <summary>
|
|
/// Data validation interface for quality gates.
|
|
/// Part of Phase 0: 5-point validation (Completeness, Freshness, Consistency, Outliers, Duplicates).
|
|
/// </summary>
|
|
public interface IDataValidator
|
|
{
|
|
/// <summary>
|
|
/// Validate a single snapshot record.
|
|
/// Returns result with status and failed checks.
|
|
/// </summary>
|
|
ValidationResult Validate(Dictionary<string, object> data);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Validation result with detailed failure information.
|
|
/// </summary>
|
|
public class ValidationResult
|
|
{
|
|
public bool IsValid { get; set; }
|
|
public List<string> FailedChecks { get; set; } = new();
|
|
public string Status { get; set; } = "PASS";
|
|
}
|
|
}
|