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 Dépend de : STEP_2 (Moteur de dialogue socratique) — COMPLETED
Objectif (~24h)
Transformer la conversation socratique en brief JSON structuré, canonique, exploitable par les agents aval (Milestone 2+).
Périmètre
Concevoir le schéma JSON du brief (titre, problème, cible, valeur unique, contraintes, prochaine action)
Implémenter BriefExtractor qui parse la conversation et produit le JSON
Écrire le schéma de validation Pydantic du brief
Endpoint POST /brief/extract qui retourne le brief JSON depuis l'historique de session
Tests unitaires couvrant : brief complet, brief partiel, conversation vide
Acceptance Criteria
La classe BriefExtractor dans backend/brief/extractor.py produit un dict valide pour toute conversation ≥ 3 tours, vérifié par test_brief_extractor_valid_output
Le modèle Pydantic BriefSchema dans backend/brief/schema.py rejette un brief sans champ problem, vérifié par test_brief_schema_validation
L'endpoint POST /brief/extract retourne HTTP 200 avec JSON conforme au schéma, vérifié par test_brief_extract_endpoint
La fonction brief_to_markdown() dans backend/brief/formatter.py produit un texte lisible sans champ vide, vérifié par test_brief_to_markdown
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 PO — STEP_3
Milestone : M1 — L'Étincelle Capturée
Dépend de : STEP_2 (Moteur de dialogue socratique) — COMPLETED
Objectif (~24h)
Transformer la conversation socratique en brief JSON structuré, canonique, exploitable par les agents aval (Milestone 2+).
Périmètre
BriefExtractorqui parse la conversation et produit le JSONPOST /brief/extractqui retourne le brief JSON depuis l'historique de sessionAcceptance Criteria
BriefExtractordansbackend/brief/extractor.pyproduit un dict valide pour toute conversation ≥ 3 tours, vérifié partest_brief_extractor_valid_outputBriefSchemadansbackend/brief/schema.pyrejette un brief sans champproblem, vérifié partest_brief_schema_validationPOST /brief/extractretourne HTTP 200 avec JSON conforme au schéma, vérifié partest_brief_extract_endpointbrief_to_markdown()dansbackend/brief/formatter.pyproduit un texte lisible sans champ vide, vérifié partest_brief_to_markdownWrites
backend/brief/extractor.pybackend/brief/schema.pybackend/brief/formatter.pybackend/routes/brief.pyAssigné à : CTO / Senior Engineer
Référence complète :
docs/product/STEP_3.mdBeta Was this translation helpful? Give feedback.
All reactions