binky-control/OperatingRhythm.md
tegwick 062947c91a
All checks were successful
Work Records / validate (push) Successful in 23s
docs: residual convention + AWQ-011/012 handoffs for WP-0006
Align AGENTS, AutonomyPolicy, SCOPE, OperatingRhythm with fleet residual
role (live intakes, not SCOPE prose). Capture BINKY-WP-0006 leftovers as
AWQ-011 (brief-weekly) and AWQ-012 (open-weights retarget).
2026-07-22 18:15:45 +02:00

77 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Operating Rhythm
> Status: v0 — 2026-07-16 (BINKY-WP-0002-T05). The cadence that keeps the
> control plane honest. Blue lane: agents run it; the founder consumes it.
## Daily brief
One brief per active day, written by whichever agent closes the day's work,
stored in `briefs/YYYY-MM-DD-daily-brief.md`. Hard cap: one screen. Format:
```markdown
# Daily Brief — <date>
## Decide now (03 items, each linked to DecisionQueue)
## Progress (what moved, milestone-relevant only)
## Risks (changes to RiskRegister only — no restating)
## Best next hour (single highest-leverage founder action)
```
Rules:
- **Decide now** only lists prepared decision packages. Never raw questions.
- **Best next hour** is one item. If nothing needs the founder, say so —
"no founder action needed today" is a valid and desirable outcome.
- Anything that can't fit the cap goes into a queue, not the brief.
## Queue hygiene (every agent session touching this repo)
1. `DecisionQueue.md` — resolved items get `status: resolved` set in place
(not moved to a separate log — CUST-WP-0061-T05); nothing older than
14 days without escalation (RISK-003 rule).
2. `OfficeHourQueue.md` — every queued item has prepared material before the
next command day; done items get `status: done` in place; stale items
pruned.
3. `AutopilotWorkQueue.md` — never empty; agents with idle capacity pull from
the top; closed items get `status: closed` in place (CUST-WP-0061-T05).
4. Workplan files match hub state (fix-consistency covers drift).
5. `WORK-RECORDS.md` (generated, all three queues above) stays current —
`statehub fix-consistency` regenerates it automatically (C-33); nothing
to hand-maintain.
## Scheduler (workstation-independent)
**Status: workstation cron bridge retired 2026-07-21** (BINKY-WP-0004-T06 /
DEC-2026-003). Cadence is owned by activity-core definitions
(`binky-daily-rhythm`, `binky-weekly-mail-intake`, `binky-weekly-review-prep`,
all `enabled: true`). Execution on Railiance:
| Path | Role |
| --- | --- |
| activity-core Temporal schedules | When work is due (Europe/Berlin) |
| host systemd user timers | Invoke agent-harness on railiance01 (interim) — `scripts/railiance-rhythm/` |
| agent-harness | Green/Blue tool profiles, hub completion events |
**Health:** `ssh railiance01 'systemctl --user list-timers | grep binky'` and
`tail ~/.cache/binky-control/rhythm/railiance-rhythm.log` on that host.
**Rollback (emergency only):** re-add workstation cron
`23 8 * * 1-5 /home/worsch/binky-control/scripts/rhythm-session.sh # binky rhythm bridge`
and pause railiance timers. Script kept for one month as break-glass.
**Railiance executor (BINKY-WP-0006 finished 2026-07-22):** mail path is
**mail-scan → mail-triage** via **llm-connect / OpenRouter** (structured JSON
+ deterministic apply). Daily brief uses `brief-daily` the same way.
**Do not** install Claude Code or another coding agent on railiance01. Host
timers resolve `LLM_CONNECT_URL` via port-forward or Service ClusterIP (see
`integrations/railiance-llm-rhythm.md`).
**Residuals (work records, not prose):** leftovers from finished workplans are
live intakes/workplans with `origin: residual` + `origin_ref: <WP-id>` — see
`AutopilotWorkQueue.md` (e.g. AWQ-011 `brief-weekly`) and fleet canon
`work-record-types_v0.1.md` § Residuals. Do not park residuals in `SCOPE.md`.
## Weekly review (founder, ~15 min)
Read the newest brief + `SuccessMilestones.md`. One question: did anything
move a milestone? If two consecutive weeks show activity without milestone
movement, RISK-005 escalates.