Commit Graph
8 Commits
Author SHA1 Message Date
dev_agentandClaude Opus 5.5 4e0c31b7d6 Name dinners from links with letter-only words (PR #97 review F2)
CI / ci (push) Successful in 2m25s
CI / ci (pull_request) Successful in 2m24s
Keep only words of at most 20 letters from the link's last path segment,
so punctuated or long token text such as /stew-t=abcdef never reaches
the dinner name, and stop at combined credential words like accesstoken.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 20:48:03 -04:00
dev_agentandClaude Opus 5.5 903a332375 Drop cached dinner responses and keep link tokens out of names (PR #97 review F1, F2)
CI / ci (push) Successful in 2m37s
CI / ci (pull_request) Successful in 2m40s
F1: bump the service worker cache version to v2 so activate deletes the
v1 API cache, whose dinner responses still carried the pasted recipe_url
and could be served offline.

F2: nameFromURL now drops words holding a digit and ends the name at the
first credential word (token, access, secret, ...), so a token in the
link's last path segment never reaches the public dinner name.
/recipes/beef-stew is still "Beef stew".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 20:45:37 -04:00
dev_agentandClaude Opus 5.5 c15c8ec284 Keep recipe_url out of dinner responses (Feature 12 review F1)
CI / ci (push) Successful in 2m36s
CI / ci (pull_request) Successful in 2m23s
A pasted recipe link may carry a personal token in its query, and the
dinners API returned it from create, list, get, patch and ground, where
other household clients and the PWA's cache of dinner reads could keep
it. Drop recipe_url from the public Dinner shape so it stays in the
database for grounding and dedupe only.

TestCreateDinnerByURL and TestCreateDinnerByName now assert the field is
absent; TestDinnerResponsesHideRecipeURL creates a Regular from a
token-bearing link and checks neither the create nor the list response
holds the link, host or token while the stored link remains.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 20:35:19 -04:00
orchestrator-agent 5dff7825d8 Integration fix 2: conditional recipe repairs and no pasted links in logs (Feature 12 review F1, F2) (#96)
CI / ci (pull_request) Successful in 2m22s
CI / ci (push) Successful in 2m42s
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com>
2026-10-06 20:26:56 -04:00
orchestrator-agent cc7875c76c Integration fix: Feature 12 feature-review findings F1-F8 (#95)
CI / ci (pull_request) Successful in 2m23s
CI / ci (push) Successful in 2m27s
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com>
2026-10-06 19:54:47 -04:00
dev_agentandClaude Opus 5.5 171c9c2d11 Fix stale Regular grounding and enforce three Regulars for onboarding
CI / ci (push) Successful in 2m20s
CI / ci (pull_request) Successful in 2m21s
A background grounding result now applies only while the dinner is still
pending under the normalized name the job searched: GroundPendingDinner and
FailPendingDinnerGrounding match normalized_name, so a rename makes the old
job's success or failure a no-op. Renaming a dinner still pending enqueues
a fresh grounding job for the new name; if that cannot be enqueued, the
dinner's grounding is failed so it is not left pending with no job.

Completing onboarding (PATCH /api/v1/settings/household with
onboarding_completed true) is refused with 400 invalid_settings until the
household has at least three Regulars (status regular; archived and Quest
log dinners do not count), and onboarding_completed_at is set only then.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 18:47:41 -04:00
dev_agent 423b898f54 Background grounding and recipe fix-up API (#90)
CI / ci (push) Successful in 2m24s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
2026-10-06 16:39:10 -04:00
dev_agent 729c5bd0fe Dinners API for Regulars (#89)
CI / ci (push) Successful in 2m15s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
2026-10-06 15:57:13 -04:00