Grillo — Weekly Review Beat
Part of the G.R.I.L.L.O. background subsystem.
Purpose
A weekly life review: once a week Synth pauses for a private retrospective of the past week and authors her next-week goals as real, persistent goals in the generic Goals store. The goal store is deliberately catalogue-free — Synth writes whatever she actually wants, in her own words.
Beat
Trigger: weekly (Sunday 02:00 by default — not a weighted beat).
Output:
goal_set(new next-week goals) andgoal_update(status: "done") actions written by the model, all scopedscope="none"for personal, non-game goals.
How it works
The plugin builds a reflective prompt that injects (a) the last N days of diary
entries and (b) the current personal goals, then enqueues it as a low-priority
G.R.I.L.L.O. message. The model authors the goals — the plugin never writes
goals in Python. The enqueued context restricts the turn’s allowed actions to
goal_set / goal_update (both security_level: "low", no external_effects,
so the turn stays on the Fast Lane) and marks it as a grillo beat so history and
context injection are skipped. This is a private review: the model is told not
to speak to any user.
The beat type weekly_review is deliberately not added to
GrilloPlugin.BEAT_TYPES — that dict is the weighted-random interval scheduler
and cannot express a weekly day+time cadence. This plugin runs its own weekly
scheduler.
Configuration
Key |
Purpose |
|---|---|
|
Enable the weekly life review (default |
|
Day of the week the review runs (Mon..Sun, default |
|
Local time (HH:MM) the review runs (default |
|
How many days of diary entries to reflect on (default |
Plus the shared Grillo settings (GRILLO_CORTEX, …). See the
G.R.I.L.L.O. guide.