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
Implémenter le cœur de Spark : le moteur qui analyse une idée brute et génère dynamiquement 3 à 7 questions socratiques pour faire émerger l'intention réelle. Utilise l'API Claude comme LLM.
Périmètre (~24h)
Module spark/socratic/engine.py : fonction generate_questions(idea: Idea) -> list[Question]
Classe Question dans spark/socratic/models.py : id, idea_id, text, order, category
Prompt système Claude optimisé (spark/socratic/prompts.py)
POST /ideas/{id}/questions : déclenche la génération
GET /ideas/{id}/questions : liste les questions
Tests avec mock Claude API
Dépendances
STEP_1 (modèle Idea, base de données, API skeleton) ✅ COMPLETED
Writes
spark/socratic/engine.py
spark/socratic/models.py
spark/socratic/prompts.py
spark/api/questions.py
spark/tests/test_socratic_engine.py
spark/tests/test_api_questions.py
Acceptance Criteria
La fonction generate_questions() retourne entre 3 et 7 objets Question, vérifié par test_generate_questions_count
Chaque Question a une category parmi ["cible", "problème", "valeur", "contrainte"], vérifié par test_question_categories_valid
POST /ideas/{id}/questions retourne HTTP 200 avec tableau questions non vide, vérifié par test_post_questions_returns_list
GET /ideas/{id}/questions est idempotent, vérifié par test_get_questions_idempotent
generate_questions() lève IdeaNotFoundError sur id inexistant, vérifié par test_generate_questions_raises_on_missing_idea
La constante SOCRATIC_SYSTEM_PROMPT existe dans spark/socratic/prompts.py, vérifié par test_socratic_system_prompt_exists
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.
Directive Product Owner — Spark M1
Step : STEP_2 — Dialogue socratique — moteur de questions
Milestone : M1 — L'Étincelle Capturée
Statut : IN_PROGRESS
Objectif
Implémenter le cœur de Spark : le moteur qui analyse une idée brute et génère dynamiquement 3 à 7 questions socratiques pour faire émerger l'intention réelle. Utilise l'API Claude comme LLM.
Périmètre (~24h)
spark/socratic/engine.py: fonctiongenerate_questions(idea: Idea) -> list[Question]Questiondansspark/socratic/models.py: id, idea_id, text, order, categoryspark/socratic/prompts.py)POST /ideas/{id}/questions: déclenche la générationGET /ideas/{id}/questions: liste les questionsDépendances
Idea, base de données, API skeleton) ✅ COMPLETEDWrites
spark/socratic/engine.pyspark/socratic/models.pyspark/socratic/prompts.pyspark/api/questions.pyspark/tests/test_socratic_engine.pyspark/tests/test_api_questions.pyAcceptance Criteria
generate_questions()retourne entre 3 et 7 objetsQuestion, vérifié partest_generate_questions_countQuestiona unecategoryparmi["cible", "problème", "valeur", "contrainte"], vérifié partest_question_categories_validPOST /ideas/{id}/questionsretourne HTTP 200 avec tableauquestionsnon vide, vérifié partest_post_questions_returns_listGET /ideas/{id}/questionsest idempotent, vérifié partest_get_questions_idempotentgenerate_questions()lèveIdeaNotFoundErrorsur id inexistant, vérifié partest_generate_questions_raises_on_missing_ideaSOCRATIC_SYSTEM_PROMPTexiste dansspark/socratic/prompts.py, vérifié partest_socratic_system_prompt_existsÉmis par le Product Owner Spark — 2026-07-03
All reactions