Files
QuantEngineByItz/src/dotnet/QuantEngine.Application/Services/LearningDatasetService.cs
T
kjh2064 49637f1b02
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Failing after 17s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 54s
feat: export PostgreSQL training dataset as JSON
2026-07-12 11:55:17 +09:00

30 lines
1.0 KiB
C#

using System.Text.Json;
using QuantEngine.Core.Interfaces;
namespace QuantEngine.Application.Services;
public sealed class LearningDatasetService
{
private readonly ILearningDatasetReader _reader;
public LearningDatasetService(ILearningDatasetReader reader) => _reader = reader;
public async Task<string> ExportJsonAsync(string outputPath, int limit = 1000)
{
var rows = await _reader.ReadTrainingExamplesAsync(limit);
var payload = new
{
formula_id = "ENGINE_HISTORY_TRAINING_DATASET_V1",
gate = rows.Count > 0 ? "PASS" : "DATA_MISSING",
generated_at = DateTimeOffset.UtcNow,
sample_count = rows.Count,
source = "engine_history.training_example_v1",
rows
};
var path = Path.GetFullPath(outputPath);
Directory.CreateDirectory(Path.GetDirectoryName(path)!);
await File.WriteAllTextAsync(path, JsonSerializer.Serialize(payload, new JsonSerializerOptions { WriteIndented = true }));
return path;
}
}