Some checks failed
Work Records / validate (push) Has been cancelled
Reject Claude Code (or any coding agent) on railiance01. Mail-scan stays deterministic; triage/briefs use llm-connect HTTP → structured JSON → deterministic apply. Document in integrations/railiance-llm-rhythm.md and rewrite WP-0006 tasks accordingly; timers no longer require_claude.
71 lines
3.2 KiB
Markdown
71 lines
3.2 KiB
Markdown
# 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 (0–3 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.
|
||
|
||
**Known residual (BINKY-WP-0006):** finish **llm-connect / OpenRouter** path
|
||
for mail triage + briefs on Railiance (structured LLM output + deterministic
|
||
apply). **Do not** install Claude Code or another coding agent on railiance01.
|
||
Mail-scan is already deterministic and proven there; see
|
||
`integrations/railiance-llm-rhythm.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.
|