--- id: binky-daily-rhythm name: Binky Daily Operating Rhythm enabled: true owner: custodian-agent governance: custodian status: active trigger: type: cron cron_expression: "23 8 * * 1-5" # weekdays 08:23 timezone: Europe/Berlin misfire_policy: skip context_sources: - type: state-hub query: binky_rhythm_status params: repo: binky-control bind_to: context.rhythm # Resolver implemented (BINKY-WP-0004-T02): returns # {items: [{kind: "daily_brief", due: bool, date: "YYYY-MM-DD", # last_run_at}]} — due is true when no binky_daily_brief progress event with # detail.repo=binky-control exists for today (Europe/Berlin). The executing # session must record that event on completion (idempotence guard). --- # Binky Daily Operating Rhythm Runs weekdays at 08:23 Berlin time. Emits one task per due rhythm item for the binky-control repo: queue hygiene plus the daily brief, per `binky-control/OperatingRhythm.md` (Decide now / Progress / Risks / Best next hour, one-screen cap). Replaces the workstation cron bridge (`binky-control/scripts/rhythm-session.sh`) once enabled — remove the crontab line at that point. ```rule id: emit-daily-rhythm-task for_each: context.rhythm.items bind_as: item condition: 'context.item.due' action: task_template: Run Binky daily rhythm ({context.item.kind}) for {context.item.date} description: Queue hygiene + daily brief per binky-control/OperatingRhythm.md. Green/Blue lane only. target_repo: binky-control priority: medium labels: ["binky", "rhythm", "automated"] ``` Execution target: emitted tasks land in the issue-core REST sink; actual execution requires an executor (llm-connect assessment, BINKY-WP-0003-T06) — until then the workstation bridge covers this slot.