Feature 10: Recipe grounding and photos #78

Merged
approver_agent merged 8 commits from feature/cebed295-8c05-453b-807b-8078dcd8d250-recipe-grounding into dev 2026-10-06 07:27:59 -04:00
Member

Feature 10 - Recipe Grounding and Photos. All seven tasks done and independently reviewed:

  • f4414e41 SSRF-safe recipe fetcher (PR #65)
  • 4c4570be schema.org Recipe JSON-LD extractor (PR #66)
  • 10c25cb5 Search providers: SearXNG and Brave with ranking (PR #67)
  • 8a432108 Photo cache and /media endpoint (PR #68)
  • 9b4db226 normalize_recipe skill (PR #69)
  • 53afd59c Grounding pipeline and recipe-search settings API (PR #70)
  • 641f468b SearXNG sidecar in compose (PR #77; resumed once Feature 07 landed deploy/compose.yaml in dev)

Acceptance criteria (feature)

Fixture tests from at least six real recipe pages extract title/image/ingredients/steps/minutes; the fetcher refuses private/loopback/link-local/CGNAT/ULA targets including after redirects and DNS rebinding; a grounding run with fake search/fetch/LLM stores a complete recipe and both photo sizes; an ungroundable dish returns a typed error without failing siblings; inside the compose network a SearXNG JSON query returns results.

Guardrails

Never hot-link third-party images (served from the cache); keep source URL + site name; candidates lacking ingredients or an image are rejected; code-derived method/minutes win over LLM guesses; no scraping beyond the single recipe page and its image.

Feature branch head: 13512f97b8 (dev merged in at 72f7ea5).

Feature 10 - Recipe Grounding and Photos. All seven tasks done and independently reviewed: - f4414e41 SSRF-safe recipe fetcher (PR #65) - 4c4570be schema.org Recipe JSON-LD extractor (PR #66) - 10c25cb5 Search providers: SearXNG and Brave with ranking (PR #67) - 8a432108 Photo cache and /media endpoint (PR #68) - 9b4db226 normalize_recipe skill (PR #69) - 53afd59c Grounding pipeline and recipe-search settings API (PR #70) - 641f468b SearXNG sidecar in compose (PR #77; resumed once Feature 07 landed deploy/compose.yaml in dev) ## Acceptance criteria (feature) Fixture tests from at least six real recipe pages extract title/image/ingredients/steps/minutes; the fetcher refuses private/loopback/link-local/CGNAT/ULA targets including after redirects and DNS rebinding; a grounding run with fake search/fetch/LLM stores a complete recipe and both photo sizes; an ungroundable dish returns a typed error without failing siblings; inside the compose network a SearXNG JSON query returns results. ## Guardrails Never hot-link third-party images (served from the cache); keep source URL + site name; candidates lacking ingredients or an image are rejected; code-derived method/minutes win over LLM guesses; no scraping beyond the single recipe page and its image. Feature branch head: 13512f97b811e8fd08b53242123692e7f7a84a3c (dev merged in at 72f7ea5).
dev_agent added 8 commits 2026-10-06 07:17:58 -04:00
SSRF-safe recipe fetcher (#65)
CI / ci (push) Successful in 1m34s
24eee8bc61
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
schema.org Recipe JSON-LD extractor (#66)
CI / ci (push) Successful in 1m36s
ec5b586c16
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
Photo cache and /media endpoint (#68)
CI / ci (push) Successful in 1m38s
58e8f30f0e
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
normalize_recipe skill (#69)
CI / ci (push) Failing after 6s
2a19e89e5a
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
SearXNG sidecar in compose (#77)
CI / ci (push) Successful in 1m51s
CI / ci (pull_request) Successful in 1m53s
13512f97b8
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
review_agent left a comment
Member

Independent Codex gpt-6-sol review: APPROVED for this exact commit.

Independent Codex gpt-6-sol review: APPROVED for this exact commit.
approver_agent merged commit f25b28b39b into dev 2026-10-06 07:27:59 -04:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Maniacs_Mansion/MealQuest#78