Household context builder with token budget
CI / ci (push) Successful in 2m12s
CI / ci (pull_request) Successful in 1m31s

harness.BuildContext reads the household context in one read transaction:
today and its weekday in the household timezone, Regulars (cuisine, method,
minutes, favorite), the Quest log, the last 60 passed Side quests and the
plans of the last four ISO weeks. A character budget trims the oldest plans
first, then the oldest passes, never Regulars; a budget too small for what
is never trimmed is an error.

Maestro task 2f54cec9-ec41-42af-b8ee-9e24b8c63057

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 08:19:37 -04:00
co-authored by Claude Opus 5.5
parent 942ac42b86
commit b3740ddc12
6 changed files with 701 additions and 0 deletions
+6
View File
@@ -43,6 +43,12 @@ type Querier interface {
// Returns sql.ErrNoRows until the row exists.
GetRecipeSearchSettings(ctx context.Context) (RecipeSearchSetting, error)
ListDinnersByStatus(ctx context.Context, status string) ([]Dinner, error)
// The planned dinners dated from from_date up to but not including
// to_date, oldest first. Days with no dinner are left out.
ListPlannedDinners(ctx context.Context, arg ListPlannedDinnersParams) ([]ListPlannedDinnersRow, error)
// Reads for the AI household context block (internal/ai/harness).
// The names of the most recently declined suggestions, newest first.
ListRecentDeclinedNames(ctx context.Context, limit int64) ([]string, error)
ListRecipeIngredients(ctx context.Context, recipeID string) ([]RecipeIngredient, error)
ListRecipeSteps(ctx context.Context, recipeID string) ([]RecipeStep, error)
// Stores a partial result of a running job.