Skip to content

CI: consolidate the three Jules workflows into one #287

Closed

Description

@dezren39

This repo has three Jules workflows: jules.yml, jules-daily-codebase-ideation.yml (cron 06:00 UTC) and jules-daily-flake-sync.yml (cron 05:00 UTC). Each carries its own triggers, pins and setup, and fixes (like the jules-action @v1 pin) have to be applied file by file and repo by repo.

Consolidate into a single jules.yml: one on: block with both cron schedules, jobs gated on github.event.schedule, plus the existing workflow_dispatch and event-driven jobs. Honest expectation: per-run cost today is ~6 seconds, so the minute savings are small — the win is one file to pin, audit and fix, and one place where Jules quota (free tier: 15 tasks/day, 3 concurrent) is managed.

Acceptance: one Jules workflow file remains; both daily jobs still run at their current times; dispatch inputs preserved.

Acceptance criteria

  • Exactly one Jules workflow file remains (jules.yml); jules-daily-codebase-ideation.yml and jules-daily-flake-sync.yml are removed.
  • Both daily jobs still run at their current times (05:00 and 06:00 UTC), gated on github.event.schedule.
  • Existing workflow_dispatch inputs and event-driven jobs are preserved.
  • The jules-action pin and Jules quota management live in exactly one place.

Activity

  1. added
    kind/ciCI/CD pipelines, workflows, and build automation
    source/humanFiled directly by a human
    priority/lowNice to have; do when convenient
    effort/sSmall: expected under 2 hours of work
    area/ciCI/CD pipelines, workflows, and build automation (area)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 26, 2026
  2. dezren39 commented on Oct 26, 2026

    @dezren39
    MemberAuthor

    Intake review

    🤖 Agent note · filed

    • Agent: fleet monitor
    • Session / ID: repo-fleet-monitor run 2026-10-26 18:19 CDT
    • Found via: monitor reconciliation
    • Task: Intake enrichment (§5) for this issue
    • Expectation: s — done = labels normalized, acceptance criteria appended, still-live check recorded

    Still live (verified this run): all three Jules workflows still exist on main — .github/workflows/ currently lists jules.yml, jules-daily-codebase-ideation.yml, and jules-daily-flake-sync.yml. No merged PR consolidates them.

    Related: the recurring Jules-review runs in the fleet log (the workflows' output is actively consumed), dezren39/nix and the other fleet repos carry their own Jules workflow copies — this issue is scoped to this repo only; do not cross-file per-repo copies of the same change.

    Notes / risks: low risk and mostly mechanical, but the two daily crons (05:00 / 06:00 UTC) must survive the merge exactly — a schedule typo would silently stop a daily job, and the failure would only show as absence. The body's own framing stands: the win is one file to pin/audit, not minutes.

    Suggested approach: fold both daily jobs into jules.yml gated on github.event.schedule, keep workflow_dispatch inputs identical, and verify the merged file with a YAML parse plus a dispatch run of each gated job before deleting the two daily files.

  3. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Oct 28, 2026
  4. dezren39 commented on Oct 28, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  5. dezren39 commented on Oct 28, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

    • Agent: queue worker (repo-worker-code), Lane B shift
    • Session / ID: queue task 2061 (triage)
    • Found via: queue claim
    • Task: Triage verdict — CONFIRMED on current main 35726e8e9d (2026-10-28T18:50Z, via gh api contents at HEAD): all three Jules workflow files still exist in .github/workflows/ — jules.yml (cron 0 4 * * 1 weekly + issues + workflow_dispatch, 4× jules-action uses), jules-daily-codebase-ideation.yml (cron 0 6 * * *), jules-daily-flake-sync.yml (cron 0 5 * * *); every use pins google-labs-code/jules-action@bff7875eaa123cac6742b7cfc51005b95ba4d566 # v1.0.0, so the pin/audit duplication the issue describes is real. Note the weekly job in jules.yml is an extra schedule the consolidation must preserve alongside the two daily crons.
    • Expectation: Follow-up enqueued as queue task 2381 (small_fix, dedupe repo-health:v1:fix:developing-today/code:issue:287): merge the two daily jobs into jules.yml gated on github.event.schedule, one on: block with all three crons + issues + union of dispatch inputs, delete the two daily files, pin unchanged.
    • Links: follow-up packet hidden_files/packet-287-fix.json (goal workspace)
  6. 1 remaining item

  7. added
    queue/queuedHas a queued task in the Supabase agent queue
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    queue/queuedHas a queued task in the Supabase agent queue
    on Oct 28, 2026
  8. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

    • Agent: queue worker (repo-worker-code), lane F
    • Session / ID: queue task 5559 (repo-queue-worker-shift-f, 2026-11-01)
    • Found via: queue claim (fleet-monitor safety-net reconciliation)
    • Task: Re-triage CI: consolidate the three Jules workflows into one #287 (consolidate the three Jules workflows) against current main — prior triage (task 2061, 2026-10-28) confirmed it and routed fix task 2381, which was cancelled 2026-10-30 (issue-closed); the workflows have since been migrated off Jules entirely, so this pass re-checks the premise before re-routing anything.
    • Expectation: effort s triage; done = verdict with fresh evidence + routing or closure.
  9. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

    • Agent: queue worker (repo-worker-code), lane F
    • Session / ID: queue task 5559 (repo-queue-worker-shift-f, 2026-11-01) · kind: triage · outcome: superseded — closing with evidence
    • Found via: queue claim (fleet-monitor safety-net reconciliation)

    Verdict — the problem this issue files no longer exists. The Jules era ended; all three workflows were migrated to pm-dispatch, and the duplication the issue complains about is gone.

    Verified fresh 2026-11-01 at origin/main 9be9c2298c51 (full reads of all three files via gh api):

    • jules.yml is now name: pm-dispatch — the dispatch hub. Its header states it "was previously backed by the Jules service; it now uses the reusable pm-dispatch starter action". Every dispatch step uses the local reusable action developing-today/code/.github/actions/pm-dispatch-start@main. Zero jules-action uses. The filename stays only because main-broken.yml and repo-sweeper.yml reference that path.
    • jules-daily-codebase-ideation.yml (cron 0 6 * * *) and jules-daily-flake-sync.yml (cron 0 5 * * *): both now launch OpenCode sessions via the same pm-dispatch-start@main action. Zero jules-action uses in either.
    • The issue's stated costs are therefore moot: there is no jules-action pin to apply file by file (there is no external pin at all — one local action, referenced from one place in each file), and there is no Jules quota to manage (15 tasks/day free tier) because Jules is no longer invoked anywhere.

    History, for the record: triage task 2061 (2026-10-28) confirmed the issue as filed — at that date all three files really did pin google-labs-code/jules-action@bff7875… — and routed fix task 2381. That task was cancelled 2026-10-30 (issue-closed), and the pm-dispatch migration then removed the premise entirely.

    What is NOT claimed: the literal acceptance "exactly one workflow file remains" was not performed. The two daily files still exist as separate small files; what they duplicate now is ~15 lines of identical concurrency/permissions/checkout boilerplate around a single shared local action — a different, much smaller concern than the one filed, and merging them into jules.yml would change that file's trigger surface (it is path-referenced by two other workflows, and its header records the #304 concurrency lesson) for no pin/quota benefit. If a single-file layout is still wanted on pm-dispatch-era grounds, that is a new, smaller issue with its own scope — this one is closed as superseded rather than kept open on a premise that died.

    Closing as superseded by the pm-dispatch migration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area/ciCI/CD pipelines, workflows, and build automation (area)effort/sSmall: expected under 2 hours of workkind/ciCI/CD pipelines, workflows, and build automationmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/lowNice to have; do when convenientsource/humanFiled directly by a humanstatus:done

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions