Skip to content

CI diet: aprender itself burns 99 intel runner-hours/day — coverage on tag/nightly only, path-filter book jobs, perf/model suites nightly, mutants only on .rs diffs #3676

Open
0 of 3 issues completed

Description

@noahgift

What (measured, not estimated)

Operator, 2026-09-21, verbatim: "ensure aprender releases are as fast as possible by: A. batching aprender PR B. keeping intel idle by telling out projects to batch PR or improve their CI/CD process (for example only code coverage on tagged release), etc. C. being relentless at linear and non-linear optimization…"

aprender itself is the largest intel consumer. Completed jobs on intel-* runners over the 24 h before 2026-09-21 08:26Z add up to 5,965 runner-minutes (99 h). By event: pull_request 3,812, merge_group 1,571, push 358, schedule 122.

job intel min / 24 h lever
workspace-test-shard 1/3 + 2/3 + 3/3 2,262 #3658 (in batch #3669): queue runs stop paying full; docs-only changes get none
guard-cargo 859 #3668: docs-only skip; move the release-class steps (below) off the PR path
guard-tree 570 #3668: path-scoped guards; the perf gate case table (~5.4 min per run) goes nightly
Book Contract Enforcement (Chapter Examples Compile + Run) 387 path-filter to book/** and the crates the chapters import; nightly otherwise
ci / lint + ci / test 575 quick-tier scope, already partly done (#3084)
ci / coverage 176 coverage on tag and nightly only, per the operator's example; the PR path keeps tests, not the llvm-cov instrumented rebuild
mutants 121 PR-diff-scoped already; run only when the diff touches .rs
mdBook build 93 path-filter to book/**
determinism X64 / vendored-schemas 328 measure the per-run cost; nightly if it never catches a PR-level defect

Proposal

  1. Coverage (ci / coverage) on the release tag and the nightly only, never on pull_request or merge_group. COV_FLOOR enforcement moves to the tag gate (T-2) and the nightly, where a regression still blocks the release. This is the operator's example, applied.
  2. Book Chapter Examples and mdBook: path-filtered. They run when book/** or the crates a chapter imports change, and nightly always.
  3. The perf gate case table and the model-tests falsification suites move to nightly. The PR path keeps a smoke row.
  4. mutants runs only when the diff has .rs.
  5. Every moved job still runs on the tag. check_workflow_path_filters.sh and the gate aggregator are updated so a skipped job is a pass only when the skip reason is the documented filter.

done_when

  • intel runner-minutes per 24 h for aprender, measured the same way (sample the jobs API; a full sweep burns the shared API budget), drop by ≥ 40% at equal PR throughput
  • the tag gate still runs coverage with COV_FLOOR, and a planted coverage drop fails the tag (control)
  • a book-only PR runs the book jobs; a crate-only PR not imported by a chapter does not (both rows)
  • gate accepts skipped only for jobs whose filter says skip; any other skipped state fails (mutation)

Workflow edits: authorized by the operator's instruction above. P0 for release speed. Depends on #3658 (in #3669) and pairs with #3668.

Folded sub-tickets (TRIAGE-100, 2026-10-14)

These open sub-tickets were folded here as checklist rows and closed as not planned so the open count stays at or under 100. Reopen one when its work resumes; an open PR for it reopens it.

Activity

  1. added this to the 0.70.0 milestone on Sep 21, 2026
  2. noahgift commented on Sep 21, 2026

    @noahgift
    ContributorAuthor

    Operator decision, verbatim, 2026-09-21 08:38Z, to the aprender cop: "you will tell them, YES, coverage on tags release only." Code coverage runs on tagged releases only, fleet-wide: aprender, rmedia, apex, forjar, infra, ruchy and paiml-implement. The COV_FLOOR / 95% gates move to the tag (a drop still fails the release). pull_request and merge_group no longer run coverage. This comment is the rule's traceable home.

  3. modified the milestones: 0.70.0, 0.70.1 on Sep 24, 2026
  4. noahgift commented on Sep 24, 2026

    @noahgift
    ContributorAuthor

    Milestone 0.70.0 → 0.70.1 (gate triage). 0.70.0 now holds only the operator's release gate: "FULL ontology spec and all aprender binary working" + "0.70 to crates.io" (ONT-001, every [[bin]] build+smoke, the publish cascade), plus P0s and operator-ruled rows. This issue isn't needed for any of those. Evidence: evidence/m070-gate-triage-1835.md. If that's wrong, move it back to 0.70.0 and say which gate it serves.

  5. 35 remaining items

  6. modified the milestones: 0.71.0, 0.72.0 on Oct 14, 2026
  7. modified the milestones: 0.72.0, 0.73.0 on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions