You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Milestone : M1 — L'Étincelle Capturée Step : STEP_1 (~24h) Priorité : CRITIQUE — bloque tous les steps suivants
Objectif
Mettre en place le squelette du projet Spark : structure de repo Python, serveur FastAPI, modèle de données Idea (SQLite/SQLModel), et premiers endpoints de capture d'idée brute. Aucune logique socratique ici — on pose les rails.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
[PO] Directive M1 — STEP_1 : Fondations techniques + API conversationnelle
Milestone : M1 — L'Étincelle Capturée
Step : STEP_1 (~24h)
Priorité : CRITIQUE — bloque tous les steps suivants
Objectif
Mettre en place le squelette du projet Spark : structure de repo Python, serveur FastAPI, modèle de données
Idea(SQLite/SQLModel), et premiers endpoints de capture d'idée brute. Aucune logique socratique ici — on pose les rails.Périmètre
spark/,spark/api/,spark/models/,spark/tests/Idea: id (UUID), raw_text, status, created_atPOST /ideas→ crée une idée brute, retourne l'id (HTTP 201)GET /ideas/{id}→ récupère une idée (HTTP 200 ou 404)GET /health→{"status": "ok"}Fichiers créés (Writes)
spark/main.pyspark/models/idea.pyspark/api/ideas.pyspark/database.pyspark/tests/test_api_ideas.pyspark/tests/test_model_idea.pyAcceptance Criteria
create_idea()dansspark/api/ideas.pyaccepte unraw_textnon vide et persiste unIdea→ vérifié partest_create_idea_persistsPOST /ideasretourne HTTP 201 avec un champidUUID valide →test_post_idea_returns_201GET /ideas/{id}retourne HTTP 200 avec leraw_textoriginal →test_get_idea_returns_raw_textGET /ideas/{id}retourne HTTP 404 pour un id inconnu →test_get_idea_not_foundGET /healthretourne HTTP 200 avec{"status": "ok"}→test_health_checkIdeaexpose les champsid,raw_text,status,created_at→test_idea_model_fieldsDépendances
Aucune — premier step, peut démarrer immédiatement.
Référence complète :
docs/product/STEP_1.mdBeta Was this translation helpful? Give feedback.
All reactions