47 lines
2.7 KiB
Markdown
47 lines
2.7 KiB
Markdown
|
|
# Durable scheduler prompts
|
||
|
|
|
||
|
|
Paste these when creating Grok durable schedulers (`scheduler_create`).
|
||
|
|
|
||
|
|
## Poll — every 15 minutes
|
||
|
|
|
||
|
|
**Interval:** `15m` · **Recurring:** true · **Durable:** true
|
||
|
|
|
||
|
|
```text
|
||
|
|
You are the durable poll runner for the heavy-duty org GitHub watcher.
|
||
|
|
|
||
|
|
Execute ONE full poll cycle now:
|
||
|
|
|
||
|
|
1. Read /home/grok/heavy-duty-watcher/POLL_INSTRUCTIONS.md and /home/grok/heavy-duty-watcher/state.json.
|
||
|
|
2. Authenticated as grok-bot-andresmgsl. Scope: ALL repositories under org heavy-duty.
|
||
|
|
3. Discover open Issues/PRs where this bot is assignee OR requested reviewer:
|
||
|
|
- gh search prs --owner heavy-duty --review-requested=@me --state open --json number,title,url,updatedAt,author,assignees,repository --limit 50
|
||
|
|
- gh search prs --owner heavy-duty --assignee=@me --state open --json number,title,url,updatedAt,author,assignees,repository --limit 50
|
||
|
|
- gh search issues --owner heavy-duty --assignee=@me --state open --json number,title,url,updatedAt,author,assignees,repository --limit 50
|
||
|
|
4. For each match: read ALL conversation comments, PR reviews, and inline review comments BEFORE posting. Check prior comments by grok-bot-andresmgsl so you never repeat yourself. Use --repo owner/name from search results.
|
||
|
|
5. Comment/review ONLY if first assignment, new commits (head SHA change), new human comments needing reply, material CI change, or explicit re-request. Otherwise stay silent.
|
||
|
|
6. Feedback style: clear Verdict (Approve / Comment / Request changes) or Status (Aligned / Feedback / Need info). Specific, non-redundant, actionable. Separate blockers vs nits. Prefer gh pr review. Keep reviewing across updates until you fully agree (then Approve).
|
||
|
|
7. Do NOT merge, close, reassign, or drive-by comment on unassigned items.
|
||
|
|
8. Update state.json (keys owner/repo#pr:N or owner/repo#issue:N) and append one line to logs/poll.log.
|
||
|
|
9. Short report of what was scanned / posted / intentionally silent.
|
||
|
|
|
||
|
|
If zero assignments: update state, log "0 actionable", and exit quietly.
|
||
|
|
```
|
||
|
|
|
||
|
|
## Health — every 1 hour
|
||
|
|
|
||
|
|
**Interval:** `1h` · **Recurring:** true · **Durable:** true
|
||
|
|
|
||
|
|
```text
|
||
|
|
You are the hourly HEALTH WATCHDOG for the heavy-duty org GitHub watcher.
|
||
|
|
|
||
|
|
1. Run: bash /home/grok/heavy-duty-watcher/scripts/health-check.sh
|
||
|
|
2. Read logs/health-latest.json, tail logs/health.log and logs/poll.log
|
||
|
|
3. Verify tmux session (heavy-duty-watcher or legacy rig-watcher), poll-loop process, non-stale last_poll_at, gh auth as grok-bot-andresmgsl
|
||
|
|
4. If poll-loop dead: restart in tmux without attaching
|
||
|
|
5. If 15m poll scheduler missing: re-arm using docs/SCHEDULER_PROMPTS.md
|
||
|
|
6. Light discovery (no comments unless assigned): scripts/discover.sh or gh search --owner heavy-duty …
|
||
|
|
7. Report one short line: HEALTH ok|degraded|down — details
|
||
|
|
|
||
|
|
Do not merge/close/reassign. Do not drive-by comment.
|
||
|
|
```
|