BINKY-WP-0004 finished: retire workstation cron, Railiance rhythm timers
Some checks failed
Work Records / validate (push) Has been cancelled
Some checks failed
Work Records / validate (push) Has been cancelled
Complete T06 cutover: remove binky rhythm bridge crontab, install scripts/railiance-rhythm systemd user timers on railiance01 (Europe/Berlin), document residual continuous-intake gaps as BINKY-WP-0006. Three completion event types verified (daily_brief, mail_intake on Railiance, weekly_review). DEC-2026-003 marked resolved/executed.
This commit is contained in:
parent
f17a065ed0
commit
c3ea150971
22 changed files with 380 additions and 149 deletions
|
|
@ -1,62 +1,61 @@
|
|||
# Executor Cutover Runbook (BINKY-WP-0004-T06)
|
||||
|
||||
> Status: **cutover executed 2026-07-18** (DEC-2026-003 approved).
|
||||
> Definitions enabled + deployed (activity-core 73cc785, sync 20/20,
|
||||
> schedules reconciled), binky-control write deploy key attached (id 2,
|
||||
> warden lane), workstation cron line paused
|
||||
> (`#PAUSED-FOR-CUTOVER-VERIFICATION`). In verification window: three
|
||||
> clean scheduled runs expected Mon 08:23 + 09:37, Tue 08:23, Wed 08:23;
|
||||
> then the cron line is removed and the bridge marked retired.
|
||||
> Status: **cutover completed 2026-07-21**. Workstation cron bridge removed.
|
||||
> Railiance host timers installed; three definition completion event types
|
||||
> verified the same day. Residual automation gaps tracked as BINKY-WP-0006.
|
||||
|
||||
## Gates (in order)
|
||||
## Gates (all cleared)
|
||||
|
||||
1. ~~DEC-2026-002 resolved~~ **done 2026-07-17**: single shared
|
||||
`agent-harness` repo (ADR-001 there); prototype adopted as its seed.
|
||||
2. ~~Lane 2 + Lane 3 Red-lane provisioning~~ **done 2026-07-17**
|
||||
(`integrations/executor-worker-secrets.md`): forgejo deploy key on
|
||||
`coulomb/executor-sandbox` + AppRole `agent-harness-binky-mail` on
|
||||
railiance01. **Still at cutover** (agent-executable via the
|
||||
`forgejo-admin-api-token` warden lane — founder act is one OIDC login,
|
||||
per ops-warden INTENT §7, no UI clicks): fetch the public key from
|
||||
`platform/workloads/agent-harness/forgejo-deploy-key` and POST it as a
|
||||
write deploy key to `repos/coulomb/binky-control/keys` via
|
||||
`warden access "forgejo admin pat" --exec -- …`.
|
||||
3. ~~Harness on Railiance + tenant onboarding~~ **done 2026-07-18**:
|
||||
HARNESS-WP-0001-T06 (image + k8s + host smoke) and T07 (instance
|
||||
manifest + three definition runs). See
|
||||
`integrations/harness-tenant-onboarding.md`.
|
||||
1. ~~DEC-2026-002 / agent-harness~~ done
|
||||
2. ~~Lanes 2–3 + binky-control write deploy key~~ done (key id 2)
|
||||
3. ~~HARNESS-WP-0001 T06–T07~~ done
|
||||
4. ~~DEC-2026-003 cutover go~~ done 2026-07-18
|
||||
5. ~~activity-core definitions `enabled: true`~~ (commit 73cc785)
|
||||
6. ~~Three completion event types verified 2026-07-21~~
|
||||
- `binky_daily_brief` (harness run + brief commit)
|
||||
- `binky_mail_intake` (**railiance01** deterministic mail-scan, 86 new)
|
||||
- `binky_weekly_review` (harness review-prep commit)
|
||||
7. ~~Workstation crontab line removed~~ 2026-07-21
|
||||
|
||||
## Cutover steps
|
||||
## What runs where (after cutover)
|
||||
|
||||
1. In activity-core, flip to `enabled: true` (its governance — commit in
|
||||
that repo): `binky-daily-rhythm`, `binky-weekly-mail-intake`,
|
||||
`binky-weekly-review-prep`. The `binky_rhythm_status` resolver is live
|
||||
(activity-core b1eb5e6).
|
||||
2. Wire emitted tasks to the worker (issue-core sink poll or
|
||||
TaskExecutorWorkflow — per DEC-2026-002 outcome).
|
||||
3. **Verification: three clean scheduled executions** (e.g. Thu daily,
|
||||
Fri daily + review-prep, Mon daily + mail-intake ≈ 3 business days).
|
||||
Clean = task emitted on schedule, worker committed, hub completion
|
||||
event present (`binky_daily_brief` / `binky_mail_intake` /
|
||||
`binky_weekly_review` with detail.repo=binky-control), no duplicate
|
||||
briefs (resolver guard working).
|
||||
4. Remove the workstation crontab line
|
||||
(`crontab -l | grep -v 'binky rhythm bridge' | crontab -`) and mark
|
||||
the bridge section in OperatingRhythm.md **retired** with the date.
|
||||
5. Notify founder (daily brief "Progress" + this file updated to done).
|
||||
```text
|
||||
activity-core schedules (Europe/Berlin)
|
||||
│
|
||||
├─ (ideal) IssueSink → claimable work → agent-harness poller
|
||||
│ currently: ISSUE_SINK_TYPE=state-hub → progress only (no claim)
|
||||
│
|
||||
└─ interim: railiance01 systemd user timers
|
||||
scripts/railiance-rhythm/run-{daily,mail,review}.sh
|
||||
→ agent-harness run | mail-scan
|
||||
→ hub progress + local commits (deploy key)
|
||||
```
|
||||
|
||||
Install / reinstall timers on railiance01:
|
||||
|
||||
```bash
|
||||
cd ~/binky-control && git pull
|
||||
./scripts/railiance-rhythm/install-on-railiance.sh
|
||||
```
|
||||
|
||||
## Residual (do not re-open T06)
|
||||
|
||||
| Gap | Follow-up |
|
||||
| --- | --- |
|
||||
| No continuous harness consumer of state-hub sink emissions | BINKY-WP-0006 / harness intake |
|
||||
| No `claude` CLI on railiance01 (agentic daily/review fail-closed until installed) | BINKY-WP-0006 |
|
||||
| Host timers are interim dual of activity-core cron (not pure sink-driven) | retire timers when poller live |
|
||||
|
||||
## Rollback
|
||||
|
||||
Re-add the cron line from OperatingRhythm.md's bridge section and set the
|
||||
three definitions back to `enabled: false`. The bridge script stays in
|
||||
`scripts/rhythm-session.sh` untouched until one full month of clean
|
||||
executor operation.
|
||||
1. `ssh railiance01 'systemctl --user disable --now binky-rhythm-*.timer'`
|
||||
2. Re-add workstation cron line (see OperatingRhythm.md rollback).
|
||||
3. Optionally set activity-core definitions `enabled: false` if schedules must pause.
|
||||
|
||||
## Interim state (until gates clear)
|
||||
## Verification evidence (2026-07-21)
|
||||
|
||||
The workstation cron bridge remains the active daily-rhythm executor
|
||||
(installed 2026-07-16, `23 8 * * 1-5`). The executor completion events
|
||||
double as the bridge's future idempotence guard, so both may coexist
|
||||
briefly during verification without duplicate-brief risk only if the
|
||||
bridge is paused on days the executor is being verified — pause the
|
||||
bridge (comment the cron line) during step 3.
|
||||
| Event | Time (UTC) | Notes |
|
||||
| --- | --- | --- |
|
||||
| `binky_mail_intake` | 21:48:22 | railiance01 AppRole mail-scan ok |
|
||||
| `binky_daily_brief` | 21:49:34 | brief `briefs/2026-07-21-daily-brief.md` |
|
||||
| `binky_weekly_review` | 21:50:29 | weekly prep commit |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue