# SDLC 01 — Requirements

## Goal

Build a **RAG learning model** from current PostSync data so we can:

1. Store **vector learning data** (visible on disk)
2. Retrieve relevant chunks for questions
3. Later answer via **GPT-4o mini / Claude**
4. Support **auto + manual** social posting with grounded captions

## Functional requirements

| ID | Requirement |
|----|-------------|
| R1 | Ingest generated posts, brand/context from snapshots |
| R2 | Persist vectors under `learning/data/vectors/` |
| R3 | Retrieve top-k by cosine similarity |
| R4 | Optional OpenAI embeddings; default local embedder |
| R5 | Optional MariaDB table for production |
| R6 | No secrets in vectors |

## Source docs (product)

- [docs/rag/01-DATA-SOURCES.md](../../docs/rag/01-DATA-SOURCES.md)
- [docs/architecture/00-OVERVIEW.md](../../docs/architecture/00-OVERVIEW.md)
- [docs/README.md](../../docs/README.md)

## Acceptance

- [x] `learning/` workspace exists  
- [x] `build-vectors` produces `chunks.json`  
- [x] `query-vectors` returns ranked hits  
- [ ] Next.js `/api/rag/query` (later phase)  
