2026-07-16 09:15:38 +02:00
|
|
|
|
# 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)
|
|
|
|
|
|
|
CUST-WP-0061-T05: retarget queue closures to WORK-RECORDS.md (generated)
Convention change, not new code: closing an item now means setting its
terminal status (status: closed/resolved/done + outcome where
applicable) directly on the item's own yaml block in place, instead of
deleting it and hand-writing a bullet in a separate "Completed"/
"Resolved decisions" log. WORK-RECORDS.md (CUST-WP-0061-T04, generated
by fix-consistency's C-33) already lists every closed/resolved/done
record with status/lane/source -- that supersedes the hand-maintained
logs as the going-forward view.
- AutopilotWorkQueue.md: closing note added; "## Completed" relabeled
"(historical -- pre-canon, 2026-07-21)", frozen as-is, nothing
migrated or deleted
- DecisionQueue.md: closing note added -- its "## Resolved decisions"
entries were already structured as in-place yaml blocks with
status: resolved (ahead of AWQ's convention already), so this only
clarifies the log is superseded going forward, no structural change
- OfficeHourQueue.md: closing note added -- items already live under
"## Queued items" with status: queued|prepared|done in place, no
separate log ever existed here
- OperatingRhythm.md: queue-hygiene checklist updated to describe
in-place status transitions instead of "moved to the log"; added
item 5 noting WORK-RECORDS.md needs no hand-maintenance
Re-ran fix-consistency: WORK-RECORDS.md content unchanged (correctly
idempotent -- these were prose-only edits, no yaml block content
changed).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 01:54:40 +02:00
|
|
|
|
1. `DecisionQueue.md` — resolved items get `status: resolved` set in place
|
|
|
|
|
|
(not moved to a separate log — CUST-WP-0061-T05); nothing older than
|
2026-07-16 09:15:38 +02:00
|
|
|
|
14 days without escalation (RISK-003 rule).
|
|
|
|
|
|
2. `OfficeHourQueue.md` — every queued item has prepared material before the
|
CUST-WP-0061-T05: retarget queue closures to WORK-RECORDS.md (generated)
Convention change, not new code: closing an item now means setting its
terminal status (status: closed/resolved/done + outcome where
applicable) directly on the item's own yaml block in place, instead of
deleting it and hand-writing a bullet in a separate "Completed"/
"Resolved decisions" log. WORK-RECORDS.md (CUST-WP-0061-T04, generated
by fix-consistency's C-33) already lists every closed/resolved/done
record with status/lane/source -- that supersedes the hand-maintained
logs as the going-forward view.
- AutopilotWorkQueue.md: closing note added; "## Completed" relabeled
"(historical -- pre-canon, 2026-07-21)", frozen as-is, nothing
migrated or deleted
- DecisionQueue.md: closing note added -- its "## Resolved decisions"
entries were already structured as in-place yaml blocks with
status: resolved (ahead of AWQ's convention already), so this only
clarifies the log is superseded going forward, no structural change
- OfficeHourQueue.md: closing note added -- items already live under
"## Queued items" with status: queued|prepared|done in place, no
separate log ever existed here
- OperatingRhythm.md: queue-hygiene checklist updated to describe
in-place status transitions instead of "moved to the log"; added
item 5 noting WORK-RECORDS.md needs no hand-maintenance
Re-ran fix-consistency: WORK-RECORDS.md content unchanged (correctly
idempotent -- these were prose-only edits, no yaml block content
changed).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 01:54:40 +02:00
|
|
|
|
next command day; done items get `status: done` in place; stale items
|
|
|
|
|
|
pruned.
|
2026-07-16 09:15:38 +02:00
|
|
|
|
3. `AutopilotWorkQueue.md` — never empty; agents with idle capacity pull from
|
CUST-WP-0061-T05: retarget queue closures to WORK-RECORDS.md (generated)
Convention change, not new code: closing an item now means setting its
terminal status (status: closed/resolved/done + outcome where
applicable) directly on the item's own yaml block in place, instead of
deleting it and hand-writing a bullet in a separate "Completed"/
"Resolved decisions" log. WORK-RECORDS.md (CUST-WP-0061-T04, generated
by fix-consistency's C-33) already lists every closed/resolved/done
record with status/lane/source -- that supersedes the hand-maintained
logs as the going-forward view.
- AutopilotWorkQueue.md: closing note added; "## Completed" relabeled
"(historical -- pre-canon, 2026-07-21)", frozen as-is, nothing
migrated or deleted
- DecisionQueue.md: closing note added -- its "## Resolved decisions"
entries were already structured as in-place yaml blocks with
status: resolved (ahead of AWQ's convention already), so this only
clarifies the log is superseded going forward, no structural change
- OfficeHourQueue.md: closing note added -- items already live under
"## Queued items" with status: queued|prepared|done in place, no
separate log ever existed here
- OperatingRhythm.md: queue-hygiene checklist updated to describe
in-place status transitions instead of "moved to the log"; added
item 5 noting WORK-RECORDS.md needs no hand-maintenance
Re-ran fix-consistency: WORK-RECORDS.md content unchanged (correctly
idempotent -- these were prose-only edits, no yaml block content
changed).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 01:54:40 +02:00
|
|
|
|
the top; closed items get `status: closed` in place (CUST-WP-0061-T05).
|
2026-07-16 09:15:38 +02:00
|
|
|
|
4. Workplan files match hub state (fix-consistency covers drift).
|
CUST-WP-0061-T05: retarget queue closures to WORK-RECORDS.md (generated)
Convention change, not new code: closing an item now means setting its
terminal status (status: closed/resolved/done + outcome where
applicable) directly on the item's own yaml block in place, instead of
deleting it and hand-writing a bullet in a separate "Completed"/
"Resolved decisions" log. WORK-RECORDS.md (CUST-WP-0061-T04, generated
by fix-consistency's C-33) already lists every closed/resolved/done
record with status/lane/source -- that supersedes the hand-maintained
logs as the going-forward view.
- AutopilotWorkQueue.md: closing note added; "## Completed" relabeled
"(historical -- pre-canon, 2026-07-21)", frozen as-is, nothing
migrated or deleted
- DecisionQueue.md: closing note added -- its "## Resolved decisions"
entries were already structured as in-place yaml blocks with
status: resolved (ahead of AWQ's convention already), so this only
clarifies the log is superseded going forward, no structural change
- OfficeHourQueue.md: closing note added -- items already live under
"## Queued items" with status: queued|prepared|done in place, no
separate log ever existed here
- OperatingRhythm.md: queue-hygiene checklist updated to describe
in-place status transitions instead of "moved to the log"; added
item 5 noting WORK-RECORDS.md needs no hand-maintenance
Re-ran fix-consistency: WORK-RECORDS.md content unchanged (correctly
idempotent -- these were prose-only edits, no yaml block content
changed).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 01:54:40 +02:00
|
|
|
|
5. `WORK-RECORDS.md` (generated, all three queues above) stays current —
|
|
|
|
|
|
`statehub fix-consistency` regenerates it automatically (C-33); nothing
|
|
|
|
|
|
to hand-maintain.
|
2026-07-16 09:15:38 +02:00
|
|
|
|
|
2026-07-16 10:54:42 +02:00
|
|
|
|
## Bridge scheduler (workstation cron)
|
|
|
|
|
|
|
2026-07-16 14:34:25 +02:00
|
|
|
|
**Status: installed 2026-07-16** (founder-approved; agents may not install
|
|
|
|
|
|
their own persistence). Runs weekdays 08:23 local:
|
2026-07-16 10:54:42 +02:00
|
|
|
|
`scripts/rhythm-session.sh` runs a headless, lane-restricted Claude Code
|
|
|
|
|
|
session that does queue hygiene, writes the daily brief, and pulls one
|
|
|
|
|
|
autopilot item (agent name `agt-rhythm-bridge`; flock guard, logs to
|
|
|
|
|
|
`~/.cache/binky-control/rhythm/cron.log`).
|
|
|
|
|
|
|
2026-07-16 14:34:25 +02:00
|
|
|
|
**Installed line:**
|
|
|
|
|
|
```
|
|
|
|
|
|
23 8 * * 1-5 /home/worsch/binky-control/scripts/rhythm-session.sh # binky rhythm bridge
|
2026-07-16 10:54:42 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**Disable:** `crontab -e` and delete the `binky rhythm bridge` line.
|
2026-07-16 14:34:25 +02:00
|
|
|
|
**Health check:** `tail ~/.cache/binky-control/rhythm/cron.log` — every run
|
|
|
|
|
|
appends a finish line; a silent weekday morning means the bridge failed.
|
2026-07-16 10:54:42 +02:00
|
|
|
|
|
|
|
|
|
|
This is explicitly a **bridge**: once activity-core definitions (T05) and an
|
|
|
|
|
|
llm-connect executor (T06 follow-up) are live, the cron line is removed and
|
|
|
|
|
|
scheduling moves to the sanctioned coordination layer.
|
|
|
|
|
|
|
|
|
|
|
|
Guardrails baked into the script: Green/Blue lane only, allowed tools limited
|
|
|
|
|
|
to file edits + git add/commit, no push, no network, one-run-at-a-time lock,
|
|
|
|
|
|
bounded "maintenance pass" prompt.
|
|
|
|
|
|
|
2026-07-16 09:15:38 +02:00
|
|
|
|
## 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.
|