Dataset (Data Pipeline): foundations
Dataset (Data Pipeline) — foundations RFC
Status
*ccepted*— ratificada 20260509 (mesmo dia da abertura) como parte da onda piloto de bootstrap servicesai. Implementação iniciada em `servicesaidataset; tickets em servicesaidatasetbacklogpending/{001..005}`.
Summary
Foundation pra versionamento, curadoria e splits de dataset — análogo HuggingFace Datasets/W&B Tables.
Motivation
ML treinamento exige dataset versionado. libras/ ingest pipeline está sendo definido isolado. Sem service, cada projeto reinventa data lineage + splits + dedup.
Scope
In
- Dataset versioning (DVC-like)
- Splits (trainvaltest)
- Schema validation
- Dedup
- Parquet/jsonl IO
Out (yet)
- ETL genérico (escopo de pipeline, não dataset)
- Labeling UI
Initial design
Surfaces
backend/— Go API + storage layerapp/— não aplicável v1
Key APIs
POST /v1/datasets— criar datasetGET /v1/datasets/{id}/versions— históricoPOST /v1/datasets/{id}/splits— gerar splits
Dependencies
infra/data/kdb-blob— storage de dados brutosservices/ai/training— consumerservices/ai/embed— consumer pra dedup semântico
Relation to existing sectors
- Pré-requisito de training
- Pode consumir extract para curadoria
Selfhostedfirst analysis (5 gates)
- *1 Feature parity* zero
- *2 Performance* N/A
- *3 Stability* N/A
- *4 Capability* DVC/HuggingFace Datasets viáveis embutidos
- *5 Critical-path readiness* bloqueia training
Open questions
- Q1: DVC vs próprio?
- Q2: Storage backend — kdb-blob suficiente ou exige object store dedicado?
Next steps
- Ratificar esta RFC (1 round de comments).
- Criar sector dir
services/ai/dataset/comkoder.toml,README.md, skeleton. - Abrir tickets de implementação em
services/ai/dataset/backlog/pending/. - Registrar em
meta/docs/stack/registries/self-hosted-pairs.mdse substituir externo.