IDKMesh has an external ChatGPT scheduled worker for bounded repository maintenance and implementation work. It is an implementation worker, not a verifier, reviewer, merge authority, or replacement for the Jules dispatcher.
The intended cadence recorded on 2026-09-22 was once every hour. The external scheduler is the source of truth for its current configuration and actual runs; this repository does not verify that cadence.
The scheduler is external to GitHub. This document records the repository-facing contract; it does not make GitHub Actions responsible for starting the worker.
Every run must treat current repository state as evidence rather than relying on memory:
main and note the exact base revision;AGENTS.md, CONTRIBUTING.md, PROJECT_RULES.md, and task-specific rules/specifications;chatgpt/ branch from current main;Worker completion is never treated as acceptance.
The first two ChatGPT-created pull requests predated the chatgpt/ branch-prefix rule:
ci/reduce-pr-fanout-2026-09-22;docs/chatgpt-hourly-quality-worker.Those names were rollout exceptions. New scheduled-worker branches use the
chatgpt/ prefix; the historical names do not create an ongoing exception.
The scheduled ChatGPT lane must not compete with the repository-operated Jules dispatcher.
It therefore does not take issues carrying any Jules execution or queue label:
agent-ready;agent:jules-eligible;agent:jules-dispatched;agent:jules-needs-attention;jules (legacy manual fallback).It also fails closed on the Jules hard-veto classes:
blocked;do-not-automate;human-required;needs-decomposition;research-evidence;security-sensitive.This keeps the Jules single-dispatcher invariant intact and prevents two agents from independently starting the same queued task.
A task is suitable only when it is bounded, reviewable, and meaningfully testable by normal repository checks.
The scheduled worker must skip work that requires:
When eligibility is unclear, the worker should fail closed rather than infer permission from arbitrary issue prose.
The worker follows the repository’s normal contribution rules:
pytest as the canonical runner; never use unittest discover for repository test execution;make smoke while iterating when local execution exists;make gate and make integration as appropriate for the final diff;If local execution is unavailable, the worker may still prepare a Draft PR and must use GitHub CI as evidence for the exact candidate, repairing failures on later scheduled runs without weakening checks.
High frequency must not become high review load.
The lane is bounded to:
The objective is verified useful progress per unit of reviewer attention, not commit, branch, issue, or pull-request count.
The worker must never:
main;The protected integration and human/reviewer decision path remains unchanged.
On each hourly run, repair existing scheduled-worker work before creating new work:
This lane complements, rather than replaces, the event-driven Jules automation documented in JULES_AUTOMATION.md.