feat/cooking-session-api #12
Closed
kyuno
wants to merge 2 commits from
feat/cooking-session-api into main
pull from: feat/cooking-session-api
merge into: kyuno:main
kyuno:main
kyuno:feat/off-catalog-ingredients
kyuno:feat/admin-tech-steps
kyuno:feat/cooking-session-ui
kyuno:feat/admin-monitoring
kyuno:feat/admin-metrics
kyuno:feat/admin-web-scaffold
kyuno:feat/admin-auth
kyuno:feat/cooking-optimizer-engine
kyuno:feat/tech-step-correction-merged-editor
kyuno:fix/tech-step-correction-metadata-discoverability
kyuno:feat/tech-step-correction-metadata
kyuno:feat/tech-step-metadata
kyuno:feat/tech-step-intent-service
kyuno:feat/shopping-list
kyuno:feat/fr-ingredient-unit-matching
kyuno:feat/sources-infinite-scroll
kyuno:fix/750g-browse-empty-query
kyuno:feat/marmiton-recipe-source
kyuno:feat/tech-step-detection-reliability
kyuno:experiment/llm-tech-step-poc
kyuno:feat/nlp-tech-step-detection
kyuno:chore/biome-style-rules
kyuno:feat/unify-source-detail-view
kyuno:fix/isolate-test-database
kyuno:fix/json-ld-not-a-browsable-source
kyuno:feat/browse-sources-backend
kyuno:feat/browse-sources-ui
kyuno:feat/import-recipe-review
kyuno:feat/plan-import-flow
kyuno:feat/highlight-tech-steps
kyuno:fix/runtime-seed-source-sync
kyuno:feat/english-matching
kyuno:feat/jsonld-source-adapter
kyuno:feat/recipe-step-translation
kyuno:feat/themealdb-source-icon
kyuno:feat/house-source-preferences
kyuno:feat/tech-steps-catalog
kyuno:feat/recipe-source-adapter
kyuno:feat/recipe-source-linking
kyuno:feat/ingredient-unit-catalog
kyuno:feat/ingredient-reproducible-flag
kyuno:refactor/catalog-camel-case-uids
kyuno:experiment/cucumber-cypress
kyuno:feat/recipe-catalog-v2
kyuno:feat/planning-page-design
kyuno:feat/settings-household-account
kyuno:feat/user-preferences-sidebar-nav
2 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 3bff58359e |
feat(cooking): endpoint GET /cooking-session (plan de cuisine optimise)
Module cooking-session : charge le Planning couvrant ?date= (meme requete "plage couvrante" + degradation "jamais null" que /shopping-list), mappe chaque PlanningItem vers l'entree pure de optimizeCookingPlan (ingredients/ unites/techniques/ustensiles resolus via toIngredientView/toUnitView reutilisees de recipe.service), renvoie OptimizedCookingPlanView. - cookingSessionPlanningInclude reprend le sous-arbre steps de recipeInclude. - Route requireAuth, contrat ?date= identique a /shopping-list. - Monte /cooking-session dans app.ts. - Tests d'integration Mocha (401, date invalide, plan vide sans foyer / sans planning, mutualisation d'une decoupe entre 2 recettes planifiees). - specs/batch-cooking-architecture.md : module "Calcul batch-cooking" TODO -> v1 implementee ; nouvelle section dans backend-architecture.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
|||
| 33b8a85204 |
feat(cooking): moteur d'optimisation des etapes de batch-cooking
Coeur pur du module "Calcul batch-cooking" (specs/batch-cooking-architecture.md, jusqu'ici TODO) : optimizeCookingPlan() prend les recettes planifiees d'une semaine et les reorganise en phases ordonnees. - Mutualisation de la mise en place : une meme technique de decoupe (chop, peel, mince...) appliquee au meme ingredient par >= 2 recettes est regroupee en une seule tache "merged-prep" (les oignons de plusieurs recettes = une decoupe). - Parallelisme : les cuissons passives (simmer, braise, bake, marinate...) sont poussees en tache de fond des phases suivantes pendant qu'une autre recette avance en actif. - Fonction pure sans base (meme split matchXxx pur / loadXxx DB-backed que ingredient-matcher / tech-step-matcher), testable en isolation. Types partages : OptimizedCookingPlanView + schema getCookingSessionSchema. Tests Mocha purs (6 cas) : merge, non-merge d'une decoupe solo, tache de fond, mise a l'echelle par portions, plan vide, legende. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |