feat/cooking-session-api #12

Closed
kyuno wants to merge 2 commits from feat/cooking-session-api into main
Owner

Doublon — regroupée dans #11 (une seule PR pour tout le bloc « Commencer à cuisiner »). Fermée.

Doublon — regroupée dans #11 (une seule PR pour tout le bloc « Commencer à cuisiner »). Fermée.
kyuno added 2 commits 2026-08-28 12:59:19 +02:00
feat(cooking): moteur d'optimisation des etapes de batch-cooking
Some checks failed
CI / test (push) Failing after 3s
CI / lint (push) Successful in 1m59s
CI / build (push) Successful in 2m1s
CI / e2e (push) Successful in 9m42s
CI / intent-service-test (push) Successful in 15m43s
33b8a85204
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>
feat(cooking): endpoint GET /cooking-session (plan de cuisine optimise)
Some checks failed
CI / test (push) Failing after 0s
CI / lint (push) Successful in 2m37s
CI / build (push) Successful in 2m45s
CI / e2e (push) Failing after 4m19s
CI / intent-service-test (push) Successful in 16m49s
3bff58359e
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>
kyuno closed this pull request 2026-08-28 15:27:43 +02:00
Some checks failed
CI / test (push) Failing after 0s
CI / lint (push) Successful in 2m37s
CI / build (push) Successful in 2m45s
CI / e2e (push) Failing after 4m19s
CI / intent-service-test (push) Successful in 16m49s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: kyuno/batchCooking#12
No description provided.