feat: wire normalized learning store into dotnet
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Failing after 16s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 54s

This commit is contained in:
2026-07-12 11:48:32 +09:00
parent 1d90580854
commit 5d89c6ad02
4 changed files with 229 additions and 1 deletions
@@ -0,0 +1,51 @@
namespace QuantEngine.Core.Interfaces;
public interface INormalizedLearningStore
{
Task<Guid> AppendSourceObservationAsync(SourceObservationRecord record);
Task<Guid> AppendFactorObservationAsync(FactorObservationRecord record);
Task<Guid> AppendDecisionAsync(DecisionEventRecord record);
Task AppendDecisionFactorEvidenceAsync(Guid decisionId, Guid factorObservationId, string role);
Task AppendOutcomeAsync(OutcomeEvaluationRecord record);
}
public sealed record SourceObservationRecord(
DateTimeOffset ObservedAt,
string InstrumentId,
string SourceName,
string SourceVersion,
string PayloadJson,
string ProvenanceJson);
public sealed record FactorObservationRecord(
Guid ObservationId,
Guid FactorObservationId,
string FactorId,
string FactorVersion,
DateTimeOffset ObservedAt,
decimal? NumericValue,
string? TextValue,
string Gate,
string ProvenanceJson);
public sealed record DecisionEventRecord(
string DecisionKey,
DateTimeOffset DecidedAt,
string InstrumentId,
string Action,
string Gate,
decimal? Score,
string SourceVersion,
string TraceJson,
string ProvenanceJson);
public sealed record OutcomeEvaluationRecord(
Guid DecisionId,
int HorizonDays,
DateTimeOffset EvaluatedAt,
decimal? RealizedReturn,
decimal? BenchmarkReturn,
decimal? ExcessReturn,
string OutcomeClass,
string EvaluationGate,
string ProvenanceJson);