Skip to content

Commit a3a5ca4

Browse files
bradygasterCopilot
andcommitted
docs: remove all cron references from documentation
Cron is permanently disabled in Squad. Updated all docs to reflect event-based triggers and squad watch for periodic polling. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 64ecd6e commit a3a5ca4

6 files changed

Lines changed: 18 additions & 29 deletions

File tree

‎docs/src/content/docs/concepts/github-workflow.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,9 @@ Ralph **never stops on his own while work remains** — he keeps cycling until t
127127
|-------|------|-----|
128128
| **In-session** | You're at the keyboard | `"Ralph, go"` — active loop |
129129
| **Local watchdog** | You're AFK but machine is on | `squad watch --interval 10` |
130-
| **Cloud heartbeat** | Fully unattended | `squad-heartbeat.yml` GitHub Actions cron |
130+
| **Cloud heartbeat** | Fully unattended | `squad-heartbeat.yml` GitHub Actions events |
131131

132-
The heartbeat workflow (`squad-heartbeat.yml`) is installed during `init` or `upgrade`. It runs every 30 minutes by default, on issue close, on PR merge, and on manual dispatch. Edit the cron schedule in `.github/workflows/squad-heartbeat.yml` to fit your cadence.
132+
The heartbeat workflow (`squad-heartbeat.yml`) is installed during `init` or `upgrade`. It runs on issue close, PR merge, and manual dispatch. Edit the workflow in `.github/workflows/squad-heartbeat.yml` to customize triggers. For periodic polling without events, use `squad watch` locally.
133133

134134
**PAT requirement:** Ralph needs `gh` CLI authenticated with a Classic PAT (scopes: `repo` and `project`). The default `GITHUB_TOKEN` doesn't have sufficient scopes.
135135

‎docs/src/content/docs/features/project-boards.md‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ Squad's `sync-board.yml` workflow runs:
7373
- **On label change** — Issue labeled `go:yes` → moves to "Ready" column
7474
- **On issue close** → moves to "Done" column
7575
- **On PR merge** → linked issue moves to "Done"
76-
- **On schedule** (every 30 min) — full board resync to catch any drift
7776

7877
### Manual Sync
7978

‎docs/src/content/docs/features/ralph.md‎

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,14 @@ When you're in a Copilot session, Ralph self-chains the coordinator's work loop:
9696

9797
### Between Sessions (GitHub Actions Heartbeat)
9898

99-
When no one is at the keyboard, the `squad-heartbeat.yml` workflow runs on a cron schedule (every 30 minutes by default). It:
99+
When no one is at the keyboard, the `squad-heartbeat.yml` workflow runs on event-based triggers (issue close, PR merge, manual dispatch). It:
100100

101101
- Finds untriaged `squad`-labeled issues
102102
- Auto-triages based on your routing.md — matching issues to the right agent by work type and module ownership
103103
- Assigns `squad:{member}` labels
104104
- For `@copilot` (if enabled with auto-assign): assigns `copilot-swe-agent[bot]` so the coding agent picks up work autonomously
105105

106-
This creates a fully autonomous loop for `@copilot` — heartbeat triages → assigns → agent works → issue closed → heartbeat finds next issue → repeat.
106+
This creates a fully autonomous loop for `@copilot` — heartbeat triages → assigns → agent works → issue closed → heartbeat finds next issue → repeat. For continuous periodic monitoring, use `squad watch` locally.
107107

108108
### Work-in-Progress Monitoring
109109

@@ -147,11 +147,10 @@ Ralph monitors work at three different layers, each with different wake-up trigg
147147
- Poll interval expires (default 10 min) → Ralph checks GitHub
148148
- You press Ctrl+C → Ralph stops
149149

150-
**Cloud Heartbeat (GitHub Actions cron):**
151-
- Scheduled cron triggers (default every 30 min) → Ralph checks GitHub
150+
**Cloud Heartbeat (GitHub Actions events):**
151+
- Issue close event → Ralph checks for next item
152+
- PR merge event → Ralph checks for next item
152153
- Manual dispatch via GitHub Actions UI → Ralph checks GitHub
153-
- Issue closed event → Ralph checks for next item
154-
- PR merged event → Ralph checks for next item
155154

156155
In all three layers, when Ralph wakes up, he scans the board, triages any untriaged items using routing.md, dispatches work to the right agent, watches in-flight items for progress, and reports results.
157156

@@ -211,7 +210,7 @@ This runs as a standalone local process (not inside Copilot) that:
211210
|-------|------|-----|
212211
| **In-session** | You're at the keyboard | "Ralph, go" — active loop while work exists |
213212
| **Local watchdog** | You're away but machine is on | `squad watch --interval 10` |
214-
| **Cloud heartbeat** | Fully unattended | `squad-heartbeat.yml` GitHub Actions cron |
213+
| **Cloud heartbeat** | Fully unattended | `squad-heartbeat.yml` GitHub Actions events (issue close, PR merge, manual dispatch) |
215214

216215
## Ralph's Board View
217216

@@ -231,22 +230,11 @@ When you ask for status:
231230

232231
The heartbeat workflow (`squad-heartbeat.yml`) is automatically installed during `init` or `upgrade`. It runs:
233232

234-
- **On a schedule**: Every 30 minutes (configurable in the workflow file)
235233
- **On issue close**: Checks for next item in backlog
236234
- **On PR merge**: Checks for follow-up work
237235
- **On manual dispatch**: Trigger via GitHub Actions UI
238236

239-
### Adjusting the Schedule
240-
241-
Edit `.github/workflows/squad-heartbeat.yml`:
242-
243-
```yaml
244-
on:
245-
schedule:
246-
- cron: '*/30 * * * *' # Every 30 min (default)
247-
# - cron: '0 * * * *' # Every hour
248-
# - cron: '0 9-17 * * 1-5' # Work hours only (M-F 9am-5pm UTC)
249-
```
237+
For persistent polling when you're away, use `squad watch` locally — it polls at your chosen interval without consuming GitHub Actions minutes.
250238

251239
## Notes
252240

‎docs/src/content/docs/guide/tips-and-tricks.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Ralph, start monitoring
6565

6666
Ralph triages issues, assigns them, spawns agents, and reports every 3-5 rounds. Say `"Ralph, idle"` to stop.
6767

68-
The `squad-heartbeat` workflow runs Ralph on a schedule — your squad works even when you're offline.
68+
The `squad-heartbeat` workflow runs Ralph on event-based triggers (issue close, PR merge, manual dispatch).
6969

7070
---
7171

‎docs/src/content/docs/scenarios/ci-cd-integration.md‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,24 @@ Ralph runs periodically via GitHub Actions to handle housekeeping between Copilo
1414

1515
## 1. The Heartbeat Workflow — Ralph Between Sessions
1616

17-
Ralph (the manager agent) runs via GitHub Actions on a schedule:
17+
Ralph (the manager agent) runs via GitHub Actions on event-based triggers:
1818

1919
- Triage new issues
2020
- Apply squad labels based on routing rules
2121
- Check for stale branches
2222
- Archive old decisions
2323

24-
The workflow is in `.github/workflows/squad-heartbeat.yml` and runs every 6 hours.
24+
The workflow is in `.github/workflows/squad-heartbeat.yml` and runs on issue close, PR merge, and manual dispatch (or via `squad watch` for local polling).
2525

2626
**You don't have to do anything** — it's installed automatically (along with 9 other workflows) when you run `squad`.
2727

2828
```yaml
2929
name: Ralph Heartbeat
3030
on:
31-
# schedule:
32-
# - cron: '0 */6 * * *' # Every 6 hours
31+
issues:
32+
types: [closed]
33+
pull_request:
34+
types: [closed]
3335
workflow_dispatch:
3436

3537
jobs:
@@ -41,7 +43,7 @@ jobs:
4143
run: squad heartbeat
4244
```
4345
44-
> ⚡ **Cron is commented out by default.** The heartbeat schedule is disabled when Squad installs the workflow — it only runs via manual `workflow_dispatch` until you uncomment the `schedule` block. Be aware: enabling scheduled heartbeats will consume GitHub Actions minutes on every run. A 6-hour cron burns ~120 runs/month. Adjust the frequency to match your budget, or leave it manual and trigger heartbeats from the CLI with `squad heartbeat`.
46+
> ⚡ **Cron is permanently disabled.** Scheduled cron jobs are no longer supported in GitHub Actions to reduce costs. The heartbeat workflow runs on event-based triggers: when issues are closed, PRs are merged, or you manually trigger via `workflow_dispatch`. For periodic polling without events, use `squad watch` in a separate terminal (local, no GitHub Actions cost).
4547

4648
Ralph reads `.squad/routing.md`, looks at open issues, and applies labels:
4749

‎docs/src/content/docs/tips-and-tricks.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ When you see this, you can:
254254

255255
### 4. Use Ralph Between Sessions
256256

257-
The `squad-heartbeat` workflow runs every 30 minutes (or on your schedule).
257+
The `squad-heartbeat` workflow runs Ralph on event-based triggers (issue close, PR merge, manual dispatch). For persistent polling when you're away from the keyboard, use `squad watch` locally.
258258

259259
Ralph will:
260260
- Triage new issues

0 commit comments

Comments
 (0)