formula_id: DOTNET_POSTGRESQL_JSON_CUTOVER_V1 version: 1 authority: spec/02_data_contract.yaml canonical_runtime: collector: src/dotnet/QuantEngine.Application/Services/KisDataCollectionOrchestrator.cs seed_ingestion: src/dotnet/QuantEngine.Application/Services/JsonSeedIngestionService.cs storage: src/dotnet/QuantEngine.Infrastructure/Repositories/CollectionRepository.cs migration: src/dotnet/QuantEngine.Infrastructure/Migrations/V5__Add_Normalized_Learning_History.sql output: Temp/kis_dotnet_collection_v1.json legacy_policy: python_collector: migration_only sqlite_store: migration_only xlsx_runtime_input: forbidden gates: - dotnet_collector_registered - postgresql_collection_repository_registered - json_seed_ingestion_registered - dbup_v5_embedded - xlsx_not_runtime_dependency